SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
nodal_evaluation.hpp File Reference
#include <cmath>
#include <expected>
#include "serif/operators/backend/mfem/nodal_data.hpp"
#include "serif/operators/backend/mfem/rejection.hpp"
Include dependency graph for nodal_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<NodalValueEquation EquationT>
equations::EquationPoint< typename EquationT::Operands > serif::operators::backend::mfem::make_nodal_equation_point (const ::mfem::Vector &values, const int first)
 Convert one scalar node or one complete vector point into the equation's declared input.
 
template<NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT>
std::expected< void, PreparationRejection > serif::operators::backend::mfem::store_nodal_linearization (const equations::PointLinearization< typename EquationT::Operands, discretization::forms::OperandValue< equations::TestOperandOf< EquationT > > > &physics, const int first, NodalData< EquationT, SchemaT > &data)
 Accept only finite, position-independent linearizations before exposing their row data.
 
template<NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT>
std::expected< NodalData< EquationT, SchemaT >, PreparationRejection > serif::operators::backend::mfem::evaluate_nodal_values (const EquationT &equation, const NodalDiscretization< EquationT, SchemaT > &discretization, const ::mfem::Vector &values)
 Evaluate the equation once per selected point, keeping residuals and derivatives in one cached result.