|
| template<typename Scope, typename InputKey, NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT> |
| auto | serif::operators::backend::mfem::make_nodal_evaluation_computation (EquationT equation, NodalDiscretization< EquationT, SchemaT > discretization) |
| | Declare the point or boundary calculation; its fixed equation and selection move with the graph.
|
| |
| template<typename Scope = void, NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT> |
| auto | serif::operators::backend::mfem::make_nodal_equation_computation (EquationT equation, NodalDiscretization< EquationT, SchemaT > discretization) |
| | Declare a standalone nodal evaluation from already selected coefficients.
|
| |
| template<typename Scope = void, NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT> |
| auto | serif::operators::backend::mfem::make_nodal_sampling_computation (NodalDiscretization< EquationT, SchemaT > discretization) |
| | Select nodal coefficients from the same physical field source used by volume equations.
|
| |
| template<typename Scope = void, NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT> |
| auto | serif::operators::backend::mfem::make_nodal_equation_computations (EquationT equation, NodalDiscretization< EquationT, SchemaT > discretization) |
| | Declare sampling and point physics as ordinary stages of a larger dependency graph.
|
| |
| template<typename Scope = void, AffinePointEquation EquationT, discretization::domain::schema::IsSchema SchemaT> |
| auto | serif::operators::backend::mfem::make_point_border_computation (const PointBorderDiscretization< EquationT, SchemaT > &discretization) |
| | Join the accepted point equation to its independently tracked global scalar.
|
| |
| template<typename Scope = void, AffinePointEquation EquationT, discretization::domain::schema::IsSchema SchemaT> |
| auto | serif::operators::backend::mfem::make_point_border_computations (EquationT equation, const PointBorderDiscretization< EquationT, SchemaT > &discretization) |
| | Declare a complete affine point border without constructing an independent cache.
|
| |
| template<typename Scope = void, NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT, typename CoefficientsT> |
| auto | serif::operators::backend::mfem::make_nodal_equation_cache (EquationT equation, const NodalDiscretization< EquationT, SchemaT > &discretization, const CoefficientsT &term_coefficients) |
| | Construct an ordinary dependency cache without evaluating the nodal equation.
|
| |
| template<typename Scope = void, AffinePointEquation EquationT, discretization::domain::schema::IsSchema SchemaT, typename CoefficientsT> |
| auto | serif::operators::backend::mfem::make_point_border_cache (EquationT equation, const PointBorderDiscretization< EquationT, SchemaT > &discretization, const CoefficientsT &term_coefficients) |
| | Keep the border scalar and point linearization in one dependency graph and one accepted result.
|
| |
| template<typename Scope = void, typename CacheT, NodalValueEquation EquationT, discretization::domain::schema::IsSchema SchemaT, typename CoefficientsT> |
| std::expected< void, PreparationRejection > | serif::operators::backend::mfem::try_prepare_nodal (CacheT &cache, const NodalDiscretization< EquationT, SchemaT > &discretization, const CoefficientsT &term_coefficients, const PreparationMode mode=PreparationMode::reuse_unchanged) |
| | Validate and gather the selected coefficients, then let the dependency cache decide what needs evaluation.
|
| |
| template<typename Scope = void, typename CacheT, AffinePointEquation EquationT, discretization::domain::schema::IsSchema SchemaT, typename CoefficientsT> |
| std::expected< void, PreparationRejection > | serif::operators::backend::mfem::try_prepare_point_border (CacheT &cache, const PointBorderDiscretization< EquationT, SchemaT > &discretization, const CoefficientsT &term_coefficients, const PreparationMode mode=PreparationMode::reuse_unchanged) |
| | Validate both point and scalar sources before publishing the complete border calculation.
|
| |
| template<typename Scope = void, typename CacheT, typename DiscretizationT, typename CoefficientsT> |
| void | serif::operators::backend::mfem::prepare_nodal (CacheT &cache, const DiscretizationT &discretization, const CoefficientsT &term_coefficients, const PreparationMode mode=PreparationMode::reuse_unchanged) |
| | Translate a numerical rejection at the caller-facing throwing boundary.
|
| |
| template<typename Scope = void, typename CacheT, typename DiscretizationT, typename CoefficientsT> |
| void | serif::operators::backend::mfem::prepare_point_border (CacheT &cache, const DiscretizationT &discretization, const CoefficientsT &term_coefficients, const PreparationMode mode=PreparationMode::reuse_unchanged) |
| | Translate an affine border's numerical rejection at the caller-facing throwing boundary.
|
| |
| template<typename Scope = void, typename CacheT> |
| NumericalWork | serif::operators::backend::mfem::nodal_work_report (const CacheT &cache) |
| | Derive numerical work from the dependency report, without a second report lifecycle.
|
| |