SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
element_evaluation.hpp File Reference
Include dependency graph for element_evaluation.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  serif
 
namespace  serif::operators
 
namespace  serif::operators::backend
 
namespace  serif::operators::backend::mfem
 

Functions

template<typename ContributionT, std::size_t Count>
void serif::operators::backend::mfem::element_residual (const ElementData< Count > &data, ::mfem::Vector &result, BasisWorkspace &workspace)
 Integrate the cached scalar/vector physics against its actual test operation.
 
template<VolumeEquation EquationT, typename ContributionT, bool Fields, bool Geometry>
void serif::operators::backend::mfem::finish_element_action (const ElementData< EquationPlan< EquationT >::operand_count > &data, const ::mfem::DenseMatrix &geometry_derivatives, Workspace &workspace, ::mfem::Vector &result)
 Finish an element action from its field part (workspace.quadrature_values) and, with Geometry, the displacement samples (workspace.displacement_samples): contract the geometry derivatives and integrate.
 
template<VolumeEquation EquationT, typename ContributionT, bool Fields = true, bool Geometry = true>
void serif::operators::backend::mfem::element_jacobian_action (const ElementData< EquationPlan< EquationT >::operand_count > &data, const ::mfem::DenseMatrix &geometry_derivatives, const std::array< discretization::backend::mfem::DofMap::Elements, EquationPlan< EquationT >::column_count > &columns, const std::array< const ::mfem::Vector *, EquationPlan< EquationT >::column_count > &directions, const discretization::backend::mfem::DofMap::Elements &displacement_binding, const ::mfem::Vector &displacement_direction, Workspace &workspace, ::mfem::Vector &result)
 Apply the accepted field derivatives and local displacement derivatives.
 
template<VolumeEquation EquationT, typename ContributionT>
void serif::operators::backend::mfem::element_geometry_actions (const ElementData< EquationPlan< EquationT >::operand_count > &data, const ::mfem::DenseMatrix &geometry_derivatives, const discretization::backend::mfem::DofMap::Elements &displacement_binding, std::span< const ::mfem::Vector *const > displacement_directions, Workspace &workspace, std::span<::mfem::Vector *const > results)
 element_jacobian_action<false, true> for several displacement directions of one element.