SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::model::computations Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  Contributions
 Ordinary equations, point constraints and row replacements share one small assembly result. More...
 
struct  InteriorContribution
 One equation's accepted contribution to the complete physical system. More...
 
struct  PotentialInfinityContribution
 The zero potential trace at compactified infinity, independent of the stellar isobar. More...
 
struct  PressureBoundaryContribution
 The complete isobaric replacement applied after ordinary and generated equation contributions. More...
 
struct  ScalarResidualRow
 One global scalar equation's accepted derivative in complete physical state coordinates. More...
 
struct  ShapeContribution
 
struct  ShapeDerivatives
 

Functions

template<typename Equation, typename Schema, typename Layout>
Contributions volume_contribution (std::shared_ptr< const operators::backend::mfem::VolumeData< Equation, Schema > > accepted, const Layout &layout, std::optional< backend::mfem::ColumnContribution > geometry={})
 Assemble field and optional geometry columns from the same retained volume result.
 
template<typename Equation, typename Layout>
auto interior_contribution (Layout layout)
 Declare one owning contribution per equation; shape coordinates add one explicit shared prerequisite.
 
template<typename Equation, typename Layout>
auto interior_computations (const Layout &layout)
 Scalar equations publish a reusable functional before joining ordinary system assembly.
 
template<typename Block, discretization::blocks::SystemLayoutType Layout>
auto physical_block (const Layout &layout)
 Publish a requested physical block from the same physical root used for residual and Jacobian actions.
 
template<discretization::blocks::SystemLayoutType Layout, typename... Blocks>
auto make_physical_block_computations (const Layout &layout, utils::dependencies::KeyList< Blocks... >)
 Supply precisely the requested physical couplings to existing preconditioner computations.
 
template<typename Layout, typename Binding>
auto potential_infinity_contribution (Layout layout, const Binding &binding)
 Replace only the compactified-infinity potential rows by the zero physical trace.
 
template<geometry::surface::backend::mfem::PressureBoundaryFormulation Formulation, discretization::blocks::SystemLayoutType Layout>
requires utils::dependencies::ContainsKey<typename Formulation::CarrierTerm, typename Layout::Residuals>
auto pressure_boundary_contribution (Layout layout)
 Publish accepted pressure rows and their solved-field derivatives in system coordinates.
 
template<typename Equation, typename Layout>
requires discretization::blocks::GlobalScalarTerm<typename Equation::Test>
auto scalar_residual_row (Layout layout)
 Rebuild a scalar functional only when its physical equation or shape derivative changes.
 
auto shape_derivatives (const discretization::backend::mfem::DofMap &binding)
 Prepare the projected shape derivative once per evaluated geometry, retaining its computed owner.
 
template<discretization::blocks::SystemLayoutType Layout>
auto make_solver_layout_computations (const Layout &layout)
 Give normalization and preconditioning one producer for their shared coordinate layout.
 
template<typename Layout>
auto surface_potential_contribution (equations::SurfacePotentialBalance equation, Layout layout)
 Replace the volume force pullback by scalar effective-potential moments on the same surface.
 

Function Documentation

◆ interior_computations()

template<typename Equation, typename Layout>
auto serif::model::computations::interior_computations ( const Layout & layout)
nodiscard

Scalar equations publish a reusable functional before joining ordinary system assembly.

◆ interior_contribution()

template<typename Equation, typename Layout>
auto serif::model::computations::interior_contribution ( Layout layout)
nodiscard

Declare one owning contribution per equation; shape coordinates add one explicit shared prerequisite.

◆ make_physical_block_computations()

template<discretization::blocks::SystemLayoutType Layout, typename... Blocks>
auto serif::model::computations::make_physical_block_computations ( const Layout & layout,
utils::dependencies::KeyList< Blocks... >  )
nodiscard

Supply precisely the requested physical couplings to existing preconditioner computations.

◆ make_solver_layout_computations()

template<discretization::blocks::SystemLayoutType Layout>
auto serif::model::computations::make_solver_layout_computations ( const Layout & layout)
nodiscard

Give normalization and preconditioning one producer for their shared coordinate layout.

◆ physical_block()

template<typename Block, discretization::blocks::SystemLayoutType Layout>
auto serif::model::computations::physical_block ( const Layout & layout)
nodiscard

Publish a requested physical block from the same physical root used for residual and Jacobian actions.

◆ potential_infinity_contribution()

template<typename Layout, typename Binding>
auto serif::model::computations::potential_infinity_contribution ( Layout layout,
const Binding & binding )
nodiscard

Replace only the compactified-infinity potential rows by the zero physical trace.

◆ pressure_boundary_contribution()

template<geometry::surface::backend::mfem::PressureBoundaryFormulation Formulation, discretization::blocks::SystemLayoutType Layout>
requires utils::dependencies::ContainsKey<typename Formulation::CarrierTerm, typename Layout::Residuals>
auto serif::model::computations::pressure_boundary_contribution ( Layout layout)
nodiscard

Publish accepted pressure rows and their solved-field derivatives in system coordinates.

Note
Prescribed EOS inputs still participate in surface evaluation, but have no Newton column. The compiled surface formulation selects its physical carrier; no enthalpy assumption enters assembly.

◆ scalar_residual_row()

template<typename Equation, typename Layout>
requires discretization::blocks::GlobalScalarTerm<typename Equation::Test>
auto serif::model::computations::scalar_residual_row ( Layout layout)
nodiscard

Rebuild a scalar functional only when its physical equation or shape derivative changes.

◆ shape_derivatives()

auto serif::model::computations::shape_derivatives ( const discretization::backend::mfem::DofMap & binding)
inlinenodiscard

Prepare the projected shape derivative once per evaluated geometry, retaining its computed owner.

◆ surface_potential_contribution()

template<typename Layout>
auto serif::model::computations::surface_potential_contribution ( equations::SurfacePotentialBalance equation,
Layout layout )
nodiscard

Replace the volume force pullback by scalar effective-potential moments on the same surface.

◆ volume_contribution()

template<typename Equation, typename Schema, typename Layout>
Contributions serif::model::computations::volume_contribution ( std::shared_ptr< const operators::backend::mfem::VolumeData< Equation, Schema > > accepted,
const Layout & layout,
std::optional< backend::mfem::ColumnContribution > geometry = {} )
nodiscard

Assemble field and optional geometry columns from the same retained volume result.