LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Classes | |
class | MeshFunctionVelocity |
A MeshFunction returning the velocity computed from the basis function coefficients of a vector potential. More... | |
Functions | |
template<typename T , typename SCALAR_COEFF > | |
MeshFunctionVelocity (std::shared_ptr< T >, const Eigen::Matrix< SCALAR_COEFF, Eigen::Dynamic, 1 > &) -> MeshFunctionVelocity< typename T::Scalar, SCALAR_COEFF > | |
template<typename MF , typename QR_SELECTOR > | |
double | L2norm (const std::shared_ptr< const lf::mesh::Mesh > &mesh, const MF &f, const QR_SELECTOR &qr_selector) |
Compute the \(L^2\)-norm of a vector valued function over a mesh. More... | |
template<typename MF_F , typename MF_GRAD , typename QR_SELECTOR > | |
double | DGnorm (const std::shared_ptr< const lf::mesh::Mesh > &mesh, const MF_F &f, const MF_GRAD &f_grad, const QR_SELECTOR &qr_selector) |
Compute the DG-norm of a vector valued function over a mesh. More... | |
lf::mesh::utils::CodimMeshDataSet< double > | extractBasisFunctionCoefficients (const std::shared_ptr< const lf::mesh::Mesh > &mesh, const lf::assemble::DofHandler &dofh, const Eigen::VectorXd &solution) |
Extract the basis function coefficients from the solution vector. More... | |
lf::mesh::utils::CodimMeshDataSet< Eigen::Vector2d > | extractVelocity (const std::shared_ptr< const lf::mesh::Mesh > &mesh, const lf::assemble::DofHandler &dofh, const Eigen::VectorXd &solution) |
Extract the flow velocity on cells from the solution vector. More... | |
double projects::ipdg_stokes::post_processing::DGnorm | ( | const std::shared_ptr< const lf::mesh::Mesh > & | mesh, |
const MF_F & | f, | ||
const MF_GRAD & | f_grad, | ||
const QR_SELECTOR & | qr_selector | ||
) |
Compute the DG-norm of a vector valued function over a mesh.
MF_F | The type of mesh function to take the norm from |
MF_GRAD | The type of the gradient of the mesh function to take the norm from |
QR_SELECTOR | The type of the qr_selector parameter |
mesh | The mesh over which the function is defined |
f | The function to take the norm from |
f_grad | The gradient of the function to take the norm from |
qr_selector | A function giving the quadrature rule to use for a given element |
This functoin computes the following formula
\[ ||f||_{1,h}^2 = \sum_{K\in\mathcal{M}} \int_K\! ||\nabla f(x)||^2 \,\mathrm{d}x + \sum_{e\in\mathcal{E}(\mathcal{M})} \int_e\! \frac{1}{|e|}||\left[\!\left[ f(x) \otimes n \right]\!\right]||^2 \,\mathrm{d}x \]
Definition at line 68 of file norms.h.
References projects::ipdg_stokes::mesh::computeOutwardNormals(), lf::mesh::utils::flagEntitiesOnBoundary(), lf::fe::IntegrateMeshFunction(), lf::mesh::positive, and lf::geometry::Volume().
lf::mesh::utils::CodimMeshDataSet< double > projects::ipdg_stokes::post_processing::extractBasisFunctionCoefficients | ( | const std::shared_ptr< const lf::mesh::Mesh > & | mesh, |
const lf::assemble::DofHandler & | dofh, | ||
const Eigen::VectorXd & | solution | ||
) |
Extract the basis function coefficients from the solution vector.
mesh | A shared pointer to the corresponding mesh |
dofh | The DOF handler for the used FE space |
solution | The solution vector obtained from solving the PDE |
Definition at line 8 of file solution_to_mesh_data_set.cc.
References lf::assemble::DofHandler::GlobalDofIndices().
lf::mesh::utils::CodimMeshDataSet< Eigen::Vector2d > projects::ipdg_stokes::post_processing::extractVelocity | ( | const std::shared_ptr< const lf::mesh::Mesh > & | mesh, |
const lf::assemble::DofHandler & | dofh, | ||
const Eigen::VectorXd & | solution | ||
) |
Extract the flow velocity on cells from the solution vector.
mesh | A shared pointer to the corresponding mesh |
dofh | The DOF handler for the used FE space |
solution | The solution vector obtained from solving the PDE |
Definition at line 18 of file solution_to_mesh_data_set.cc.
References lf::assemble::DofHandler::GlobalDofIndices(), and lf::uscalfe::FeLagrangeO1Tria< SCALAR >::GradientsReferenceShapeFunctions().
double projects::ipdg_stokes::post_processing::L2norm | ( | const std::shared_ptr< const lf::mesh::Mesh > & | mesh, |
const MF & | f, | ||
const QR_SELECTOR & | qr_selector | ||
) |
Compute the \(L^2\)-norm of a vector valued function over a mesh.
MF | The type of mesh function to take the norm from |
QR_SELECTOR | The type of the qr_selector parameter |
mesh | The mesh over which the function is defined |
f | The function to take the norm from |
qr_selector | A function giving the quadrature rule to use for a given element |
This function computes the value of the following formula
\[ ||f||_0^2 = \sum_{K\in\mathcal{M}} \int_K\! ||f(x)||^2 \,\mathrm{d}x \]
Definition at line 40 of file norms.h.
References lf::fe::IntegrateMeshFunction().
projects::ipdg_stokes::post_processing::MeshFunctionVelocity | ( | std::shared_ptr< T > | , |
const Eigen::Matrix< SCALAR_COEFF, Eigen::Dynamic, 1 > & | |||
) | -> MeshFunctionVelocity< typename T::Scalar, SCALAR_COEFF > |