LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
A MeshFunction representing the gradient of a function from a scalar finite element space (e.g. gradient of a solution of BVP). More...
#include <lf/fe/fe.h>
Public Types | |
using | Scalar = decltype(SCALAR_FE(0) * SCALAR_COEFF(0)) |
Public Member Functions | |
MeshFunctionGradFE (std::shared_ptr< const ScalarFESpace< SCALAR_FE > > fe_space, Eigen::Matrix< SCALAR_COEFF, Eigen::Dynamic, 1 > dof_vector) | |
Create a new MeshFunctionGradFE from a ScalarFESpace and a coefficient vector. | |
std::shared_ptr< const mesh::Mesh > | getMesh () const |
Convenience method to retrieve the underlying mesh. | |
std::shared_ptr< const ScalarFESpace< SCALAR_FE > > | getFESpace () const |
Convenience method to retrieve the finite element space to which the original function belongs (i.e. before taking the gradient) | |
std::vector< Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > > | operator() (const lf::mesh::Entity &e, const Eigen::MatrixXd &local) const |
Evaluate the mesh function on a MeshEntity. | |
Private Attributes | |
std::shared_ptr< const ScalarFESpace< SCALAR_FE > > | fe_space_ |
Pointer to underlying finite element space. | |
Eigen::Matrix< SCALAR_COEFF, Eigen::Dynamic, 1 > | dof_vector_ |
Reference to basis expansion coefficient vector for finite-element function | |
A MeshFunction representing the gradient of a function from a scalar finite element space (e.g. gradient of a solution of BVP).
SCALAR_FE | The scalar type of the finite element basis functions. |
SCALAR_COEFF | The scalar type of the coefficient vector |
The MeshFunctionGradFE takes essentially two parameters:
Definition at line 47 of file mesh_function_grad_fe.h.
using lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::Scalar = decltype(SCALAR_FE(0) * SCALAR_COEFF(0)) |
Definition at line 49 of file mesh_function_grad_fe.h.
|
inline |
Create a new MeshFunctionGradFE from a ScalarFESpace and a coefficient vector.
fe_space | the approximation space in which the function lies. |
dof_vector | passes the basis expansion coefficients |
Definition at line 61 of file mesh_function_grad_fe.h.
|
inline |
Convenience method to retrieve the finite element space to which the original function belongs (i.e. before taking the gradient)
Definition at line 79 of file mesh_function_grad_fe.h.
References lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::fe_space_.
|
inline |
Convenience method to retrieve the underlying mesh.
Definition at line 69 of file mesh_function_grad_fe.h.
References lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::fe_space_.
|
inline |
Evaluate the mesh function on a MeshEntity.
e | reference to a mesh entity |
local | matrix whose columns contain reference coordinates of the evaluation points on the entity e |
Definition at line 92 of file mesh_function_grad_fe.h.
References lf::base::RefEl::Dimension(), lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::dof_vector_, lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::fe_space_, lf::mesh::Entity::Geometry(), lf::geometry::Geometry::JacobianInverseGramian(), and lf::mesh::Entity::RefEl().
|
private |
Reference to basis expansion coefficient vector for finite-element function
Definition at line 125 of file mesh_function_grad_fe.h.
Referenced by lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::operator()().
|
private |
Pointer to underlying finite element space.
Definition at line 122 of file mesh_function_grad_fe.h.
Referenced by lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::getFESpace(), lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::getMesh(), and lf::fe::MeshFunctionGradFE< SCALAR_FE, SCALAR_COEFF >::operator()().