DOLFIN-X
DOLFIN-X C++ interface
|
Functions tools, including FEM functions and pointwise defined functions. More...
Classes | |
class | Constant |
A constant value which can be attached to a Form. Constants may be scalar (rank 0), vector (rank 1), or tensor valued. More... | |
class | Function |
This class represents a function \( u_h \) in a finite element function space \( V_h \), given by. More... | |
class | FunctionSpace |
This class represents a finite element function space defined by a mesh, a finite element, and a local-to-global map of the degrees of freedom (dofmap). More... | |
Functions | |
std::array< std::vector< std::shared_ptr< const FunctionSpace > >, 2 > | common_function_spaces (const std::vector< std::vector< std::array< std::shared_ptr< const FunctionSpace >, 2 >>> &V) |
Extract FunctionSpaces for (0) rows blocks and (1) columns blocks from a rectangular array of (test, trial) space pairs. The test space must be the same for each row and the trial spaces must be the same for each column. Raises an exception if there is an inconsistency. e.g. if each form in row i does not have the same test space then an exception is raised. More... | |
template<typename T > | |
void | interpolate (Function< T > &u, const Function< T > &v) |
Interpolate a Function (on possibly non-matching meshes) More... | |
template<typename T > | |
void | interpolate (Function< T > &u, const std::function< Eigen::Array< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >(const Eigen::Ref< const Eigen::Array< double, 3, Eigen::Dynamic, Eigen::RowMajor >> &)> &f) |
Interpolate an expression. More... | |
template<typename T > | |
void | interpolate_c (Function< T > &u, const std::function< void(Eigen::Ref< Eigen::Array< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >>, const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor >> &)> &f) |
Interpolate an expression f(x). This interface uses an expression function f that has an in/out argument for the expression values. It is primarily to support C code implementations of the expression, e.g. using Numba. Generally the interface where the expression function is a pure function, i.e. the expression values are the return argument, should be preferred. More... | |
Functions tools, including FEM functions and pointwise defined functions.
This namespace provides classes for representing finite element functions, and coefficient functions that appear in forms.
std::array< std::vector< std::shared_ptr< const function::FunctionSpace > >, 2 > dolfinx::function::common_function_spaces | ( | const std::vector< std::vector< std::array< std::shared_ptr< const FunctionSpace >, 2 >>> & | V | ) |
Extract FunctionSpaces for (0) rows blocks and (1) columns blocks from a rectangular array of (test, trial) space pairs. The test space must be the same for each row and the trial spaces must be the same for each column. Raises an exception if there is an inconsistency. e.g. if each form in row i does not have the same test space then an exception is raised.
[in] | V | Vector function spaces for (0) each row block and (1) each column block |
void dolfinx::function::interpolate | ( | Function< T > & | u, |
const Function< T > & | v | ||
) |
Interpolate a Function (on possibly non-matching meshes)
[in,out] | u | The function to interpolate into |
[in] | v | The function to be interpolated |
void dolfinx::function::interpolate | ( | Function< T > & | u, |
const std::function< Eigen::Array< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >(const Eigen::Ref< const Eigen::Array< double, 3, Eigen::Dynamic, Eigen::RowMajor >> &)> & | f | ||
) |
Interpolate an expression.
[in,out] | u | The function to interpolate into |
[in] | f | The expression to be interpolated |
void dolfinx::function::interpolate_c | ( | Function< T > & | u, |
const std::function< void(Eigen::Ref< Eigen::Array< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >>, const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor >> &)> & | f | ||
) |
Interpolate an expression f(x). This interface uses an expression function f that has an in/out argument for the expression values. It is primarily to support C code implementations of the expression, e.g. using Numba. Generally the interface where the expression function is a pure function, i.e. the expression values are the return argument, should be preferred.
[in,out] | u | The function to interpolate into |
[in] | f | The expression to be interpolated |