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

Namespaces

namespace  serif
 
namespace  serif::geometry
 
namespace  serif::geometry::surface
 
namespace  serif::geometry::surface::backend
 
namespace  serif::geometry::surface::backend::mfem
 
namespace  serif::geometry::surface::backend::mfem::detail
 

Functions

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.
 
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.
 
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.
 
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... >)
 Accumulate all physical couplings using the same traces that supplied the EOS state.
 
template<PressureBoundaryFormulation Formulation, typename Traces>
void serif::geometry::surface::backend::mfem::apply_residual_rows (const PressureBoundary< Formulation, Traces > &boundary, const std::vector< SurfaceLinearization< Formulation > > &linearizations, ::mfem::Vector &result)
 Replace selected residual rows with a prepared isobaric equation, preserving all interior rows.
 
template<PressureBoundaryFormulation Formulation, typename Traces, utils::dependencies::IsDependencyContext Directions>
requires utils::dependencies::SatisfiesKeyList<typename Directions::Bindings, typename Formulation::StateTerms>
void serif::geometry::surface::backend::mfem::apply_jacobian_rows (const PressureBoundary< Formulation, Traces > &boundary, const std::vector< SurfaceLinearization< Formulation > > &linearizations, const Directions &directions, ::mfem::Vector &result)
 Replace full Jacobian rows, including every EOS input; directions may alias the output.
 
template<PressureBoundaryFormulation Formulation, typename Traces>
void serif::geometry::surface::backend::mfem::mask_residual_dual (const PressureBoundary< Formulation, Traces > &boundary, const ::mfem::Vector &dual, ::mfem::Vector &volume_dual)
 Remove the replaced rows before applying the volume Jacobian transpose.
 
template<typename Term, PressureBoundaryFormulation Formulation, typename Traces>
requires utils::dependencies::BindingsWithBinding<typename Traces::Bindings, Term>
void serif::geometry::surface::backend::mfem::add_jacobian_transpose_rows (const PressureBoundary< Formulation, Traces > &boundary, const std::vector< SurfaceLinearization< Formulation > > &linearizations, const ::mfem::Vector &dual, ::mfem::Vector &result)
 Add one physical term's constrained-row transpose to its existing volume contribution.