SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::model::backend::mfem::NormalizedSystem Class Referencefinal

A frozen physical preparation and its owning solver coordinates, safe after later graph preparation. More...

#include <normalized_system.hpp>

Collaboration diagram for serif::model::backend::mfem::NormalizedSystem:
[legend]

Public Member Functions

 NormalizedSystem (std::shared_ptr< const PhysicalSystem > physical, solver::normalization::DiagonalNormalization coordinates, solver::normalization::StellarReferenceScales scales)
 Retain the physical operator before creating its normalized action and residual.
 
const std::shared_ptr< const PhysicalSystem > & physical () const noexcept
 Inspect the matching dimensional residual, Jacobian and selected physical blocks.
 
const solver::normalization::DiagonalNormalization & coordinates () const noexcept
 Convert states, residuals and solver corrections with this preparation's frozen factors.
 
const solver::normalization::StellarReferenceScales & reference_scales () const noexcept
 Inspect the characteristic scales actually used, including the estimated radius.
 
const std::vector< double > & residual () const noexcept
 Read the normalized residual in the model's independent equation ordering.
 
const solver::normalization::backend::mfem::ScaledJacobianOperator & jacobian () const noexcept
 Apply L J S^-1 or its transpose while retaining the physical operator owner.
 

Static Private Member Functions

static std::shared_ptr< const PhysicalSystem > checked_physical (std::shared_ptr< const PhysicalSystem > physical)
 Diagnose a missing preparation before a normalized adapter borrows its Jacobian.
 

Private Attributes

std::shared_ptr< const PhysicalSystem > m_physical
 
solver::normalization::StellarReferenceScales m_scales
 
solver::normalization::backend::mfem::ScaledJacobianOperator m_jacobian
 
std::vector< double > m_residual
 

Detailed Description

A frozen physical preparation and its owning solver coordinates, safe after later graph preparation.

Constructor & Destructor Documentation

◆ NormalizedSystem()

serif::model::backend::mfem::NormalizedSystem::NormalizedSystem ( std::shared_ptr< const PhysicalSystem > physical,
solver::normalization::DiagonalNormalization coordinates,
solver::normalization::StellarReferenceScales scales )
inline

Retain the physical operator before creating its normalized action and residual.

Member Function Documentation

◆ checked_physical()

static std::shared_ptr< const PhysicalSystem > serif::model::backend::mfem::NormalizedSystem::checked_physical ( std::shared_ptr< const PhysicalSystem > physical)
inlinestaticnodiscardprivate

Diagnose a missing preparation before a normalized adapter borrows its Jacobian.

◆ coordinates()

const solver::normalization::DiagonalNormalization & serif::model::backend::mfem::NormalizedSystem::coordinates ( ) const
inlinenodiscardnoexcept

Convert states, residuals and solver corrections with this preparation's frozen factors.

◆ jacobian()

const solver::normalization::backend::mfem::ScaledJacobianOperator & serif::model::backend::mfem::NormalizedSystem::jacobian ( ) const
inlinenodiscardnoexcept

Apply L J S^-1 or its transpose while retaining the physical operator owner.

◆ physical()

const std::shared_ptr< const PhysicalSystem > & serif::model::backend::mfem::NormalizedSystem::physical ( ) const
inlinenodiscardnoexcept

Inspect the matching dimensional residual, Jacobian and selected physical blocks.

◆ reference_scales()

const solver::normalization::StellarReferenceScales & serif::model::backend::mfem::NormalizedSystem::reference_scales ( ) const
inlinenodiscardnoexcept

Inspect the characteristic scales actually used, including the estimated radius.

◆ residual()

const std::vector< double > & serif::model::backend::mfem::NormalizedSystem::residual ( ) const
inlinenodiscardnoexcept

Read the normalized residual in the model's independent equation ordering.

Member Data Documentation

◆ m_jacobian

solver::normalization::backend::mfem::ScaledJacobianOperator serif::model::backend::mfem::NormalizedSystem::m_jacobian
private

◆ m_physical

std::shared_ptr<const PhysicalSystem> serif::model::backend::mfem::NormalizedSystem::m_physical
private

◆ m_residual

std::vector<double> serif::model::backend::mfem::NormalizedSystem::m_residual
private

◆ m_scales

solver::normalization::StellarReferenceScales serif::model::backend::mfem::NormalizedSystem::m_scales
private

The documentation for this class was generated from the following file: