SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::geometry::surface::backend::mfem::detail Namespace Reference

Classes

struct  BoundaryTracking
 Shared traces have stable identity; validation catches changes outside the coefficient vectors. More...
 

Functions

template<typename Term, typename Boundary, typename Input>
std::expected< BoundaryValues< Term >, SurfaceFailure > sample_boundary_values (const Boundary &boundary, const Input &input)
 Sample the same fixed linear trace used by the boundary tangent and its transpose.
 
template<PressureBoundaryFormulation Formulation, typename... Terms>
auto pressure_boundary_computations (utils::dependencies::KeyList< Terms... >)
 Declare one sampled value column per unique physical term, without a separate preparation owner.
 
template<typename... Terms>
consteval bool supported_boundary_terms (utils::dependencies::KeyList< Terms... >)
 Strong nodal rows need a unique trace for every thermodynamic input.
 
template<PressureBoundaryFormulation Formulation, typename Coefficients, typename... Terms>
auto make_pressure_boundary (const Coefficients &coefficients, utils::dependencies::KeyList< Terms... >)
 Compile each unique field once, including quantities that share one coefficient term.
 
template<typename Boundary, typename EOSResource, typename Coefficients, typename... Terms>
auto pressure_boundary_inputs (std::shared_ptr< const Boundary > boundary, EOSResource equation_of_state, IsobaricSurface condition, const Coefficients &coefficients, utils::dependencies::KeyList< Terms... >)
 Preserve standard coefficient keys and policies in a standalone boundary context.
 
template<typename Boundary>
void validate_boundary_output (const Boundary &boundary, const ::mfem::Vector &result)
 Check that an action uses the current discretization and the complete residual space.
 
template<typename Boundary, typename Linearizations>
void validate_boundary_samples (const Boundary &boundary, const Linearizations &linearizations)
 The accepted graph result contains one local equation for each ordered boundary node.
 
template<typename Boundary>
void replace_boundary_rows (const Boundary &boundary, const ::mfem::Vector &values, ::mfem::Vector &result)
 Publish a complete finite action only after all input directions have been read.
 
template<typename Boundary, typename Linearizations, typename Directions, typename... Terms>
::mfem::Vector boundary_jacobian_action (const Boundary &boundary, const Linearizations &linearizations, const Directions &directions, utils::dependencies::KeyList< Terms... >)
 Accumulate all physical couplings using the same traces that supplied the EOS state.
 

Function Documentation

◆ boundary_jacobian_action()

template<typename Boundary, typename Linearizations, typename Directions, typename... Terms>
::mfem::Vector serif::geometry::surface::backend::mfem::detail::boundary_jacobian_action ( const Boundary & boundary,
const Linearizations & linearizations,
const Directions & directions,
utils::dependencies::KeyList< Terms... >  )
nodiscard

Accumulate all physical couplings using the same traces that supplied the EOS state.

◆ make_pressure_boundary()

template<PressureBoundaryFormulation Formulation, typename Coefficients, typename... Terms>
auto serif::geometry::surface::backend::mfem::detail::make_pressure_boundary ( const Coefficients & coefficients,
utils::dependencies::KeyList< Terms... >  )
nodiscard

Compile each unique field once, including quantities that share one coefficient term.

◆ pressure_boundary_computations()

template<PressureBoundaryFormulation Formulation, typename... Terms>
auto serif::geometry::surface::backend::mfem::detail::pressure_boundary_computations ( utils::dependencies::KeyList< Terms... > )
nodiscard

Declare one sampled value column per unique physical term, without a separate preparation owner.

◆ pressure_boundary_inputs()

template<typename Boundary, typename EOSResource, typename Coefficients, typename... Terms>
auto serif::geometry::surface::backend::mfem::detail::pressure_boundary_inputs ( std::shared_ptr< const Boundary > boundary,
EOSResource equation_of_state,
IsobaricSurface condition,
const Coefficients & coefficients,
utils::dependencies::KeyList< Terms... >  )
nodiscard

Preserve standard coefficient keys and policies in a standalone boundary context.

◆ replace_boundary_rows()

template<typename Boundary>
void serif::geometry::surface::backend::mfem::detail::replace_boundary_rows ( const Boundary & boundary,
const ::mfem::Vector & values,
::mfem::Vector & result )

Publish a complete finite action only after all input directions have been read.

◆ sample_boundary_values()

template<typename Term, typename Boundary, typename Input>
std::expected< BoundaryValues< Term >, SurfaceFailure > serif::geometry::surface::backend::mfem::detail::sample_boundary_values ( const Boundary & boundary,
const Input & input )
nodiscard

Sample the same fixed linear trace used by the boundary tangent and its transpose.

◆ supported_boundary_terms()

template<typename... Terms>
bool serif::geometry::surface::backend::mfem::detail::supported_boundary_terms ( utils::dependencies::KeyList< Terms... > )
nodiscardconsteval

Strong nodal rows need a unique trace for every thermodynamic input.

◆ validate_boundary_output()

template<typename Boundary>
void serif::geometry::surface::backend::mfem::detail::validate_boundary_output ( const Boundary & boundary,
const ::mfem::Vector & result )

Check that an action uses the current discretization and the complete residual space.

◆ validate_boundary_samples()

template<typename Boundary, typename Linearizations>
void serif::geometry::surface::backend::mfem::detail::validate_boundary_samples ( const Boundary & boundary,
const Linearizations & linearizations )

The accepted graph result contains one local equation for each ordered boundary node.