interpolate(3rheolef)

interpolate3rheolef

Function or expression interpolation (rheolef-7.2)

Usage

    template <class Expression>
    field interpolate (const space& Xh, const Expression& expr);

Example The following code compute the Lagrange interpolation pi_h_u the function u(x):

   Float u(const point& x) { return exp(x[0]*x[1]); }
   ...
   geo omega('square');
   space Xh (omega, 'P1');
   field pi_h_u = interpolate (Xh, u);

Overview

The interpolation function implements the usual Lagrange interpolation of a function or a class-function on a finite element space(2).

Expressions

It is possible to interpolate an expression involving a combination of functions, class-functions and fields:

    field vh = interpolate (Xh, sqrt(uh) + 2*max(0.,uh));

Reinterpolation

The reinterpolation of a field on another mesh or on another finite element space is also possible:

    geo omega2 ('square2');
    space X2h (omega2, 'P1');
    field uh2 = interpolate (X2h, pi_h_u);

Such a reinterpolation is very frequent in mesh adaptive loops.

Implementation

This documentation has been generated from file main/lib/interpolate.h

The implementation of expressions bases on the expression template and SFINAE C++ idioms.

Releases

3 releases since Debian 11 (Bullseye); the text changed 2 times.

  1. 11
  2. 12
  3. 13

Author

Pierre Saramito <[email protected]>

From librheolef-dev 7.2-4 in Debian 13 (Trixie). Parsed by carta from the page's man source.