This class represents a function \( u_h \) in a finite element function space \( V_h \), given by.
More...
|
| Function (std::shared_ptr< const FunctionSpace > V) |
| Create function on given function space. More...
|
|
| Function (std::shared_ptr< const FunctionSpace > V, Vec x) |
| Create function on given function space with a given vector. More...
|
|
| Function (const Function &v)=delete |
|
| Function (Function &&v)=default |
| Move constructor.
|
|
virtual | ~Function ()=default |
| Destructor.
|
|
Function & | operator= (Function &&v)=default |
| Move assignment.
|
|
Function & | operator= (const Function &v)=delete |
|
Function | sub (int i) const |
| Extract subfunction (view into the Function) More...
|
|
Function | collapse () const |
| Collapse a subfunction (view into the Function) to a stand-alone Function.
|
|
std::shared_ptr< const FunctionSpace > | function_space () const |
| Return shared pointer to function space. More...
|
|
la::PETScVector & | vector () |
| Return vector of expansion coefficients (non-const version) More...
|
|
const la::PETScVector & | vector () const |
| Return vector of expansion coefficients (const version) More...
|
|
void | interpolate (const Function &v) |
| Interpolate a Function (on possibly non-matching meshes) More...
|
|
void | interpolate (const std::function< Eigen::Array< PetscScalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >(const Eigen::Ref< const Eigen::Array< double, 3, Eigen::Dynamic, Eigen::RowMajor >> &)> &f) |
| Interpolate an expression.
|
|
void | interpolate_c (const FunctionSpace::interpolation_function &f) |
| Interpolate an expression. 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...
|
|
int | value_rank () const |
| Return value rank.
|
|
int | value_size () const |
| Return value size.
|
|
int | value_dimension (int i) const |
| Return value dimension for given axis. More...
|
|
std::vector< int > | value_shape () const |
| Return value shape.
|
|
void | eval (const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor >> &x, const Eigen::Ref< const Eigen::Array< int, Eigen::Dynamic, 1 >> &cells, Eigen::Ref< Eigen::Array< PetscScalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> u) const |
| Evaluate the Function at points. More...
|
|
Eigen::Array< PetscScalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | compute_point_values () const |
| Compute values at all mesh points. More...
|
|
std::size_t | id () const |
| ID.
|
|
This class represents a function \( u_h \) in a finite element function space \( V_h \), given by.
\[ u_h = \sum_{i=1}^{n} U_i \phi_i \]
where \( \{\phi_i\}_{i=1}^{n} \) is a basis for \( V_h \), and \( U \) is a vector of expansion coefficients for \( u_h \).