DOKK / manpages / debian 11 / librheolef-dev / compose.3rheolef.en
compose(3rheolef) rheolef compose(3rheolef)

compose - n-ary function application in expressions (rheolef-7.1)

template <class Function, class... Expressions>
Expression compose (const Function& f, const Expressions&... exprs);

Compose a n-ary function f with n fields in interpolate(3) and integrate(3) nonlinear expressions.

The compose operator is used for applying a user-provided function to a field:


Float f (Float u) { return 1/u + sqrt(u); }
...
field vh = interpolate (Xh, compose(f, uh));


When two arguments are involved:


Float g (Float u, Float v) { return v/u + sqrt(u*v); }
...
field wh = interpolate (Xh, compose(g, uh, vh));


The compose operator supports general n-ary functions and class-functions.

The compose function supports also the method of characteristic(2) used e.g. for convection-diffusion problems:


characteristic X (-delta_t*uh);
test v (Xh);
field lh = integrate (compose(uh,X)*v);

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

Pierre Saramito <Pierre.Saramito@imag.fr>

Copyright (C) 2000-2018 Pierre Saramito <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Sat Mar 13 2021 Version 7.1