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

Classes

struct  Binding
 Only the binding's physical identity is needed to check public overload constraints. More...
 
struct  Bound
 
struct  FixedPlan
 
struct  MovingPlan
 

Concepts

concept  ReadsField
 Check field availability and owner lifetime without instantiating a getter body.
 
concept  ReadsValues
 Packed views must remain tied to an lvalue owning state.
 
concept  ReadsLayout
 Layout references cannot survive destruction of a temporary owning state.
 
concept  CanEvaluate
 Unsupported state and prescribed-field combinations must fail during overload selection.
 
concept  CanPrepareLinearSystem
 Linear preparation needs both a selected recipe and a valid candidate binding.
 

Typedefs

using Density = blocks::density::mass
 
using Rotation = blocks::rotation::angular_velocity
 
using Shape = blocks::surface_deformation::coefficients
 
using ShapeRow = blocks::surface_deformation::shape_equilibrium
 
using Values = dependencies::KeyList<Density, Shape>
 
using Rows = dependencies::KeyList<ShapeRow, Density>
 
using Layout = blocks::SystemLayout<Values, Rows>
 
using State = StellarState<Layout>
 
using EmptyInputs = dependencies::DependencyContext<>
 
template<typename Key, typename Term = Key>
using CoefficientSource = decltype(dependencies::own<Key>(std::declval<operators::backend::mfem::CoefficientView<Binding<Term>>>()))
 
using RotationInputs = dependencies::DependencyContext<CoefficientSource<Rotation>>
 
using WrongIdentity = dependencies::DependencyContext<CoefficientSource<Rotation, Density>>
 
using WrongValue = decltype(dependencies::make_dependency_context(dependencies::own<Rotation>(1.0)))
 
using Overlap = dependencies::DependencyContext<CoefficientSource<Density>, CoefficientSource<Rotation>>
 
using ShapeOverlap = dependencies::DependencyContext<CoefficientSource<Shape>, CoefficientSource<Rotation>>
 
using CompleteFields = dependencies::DependencyContext<CoefficientSource<Density>, CoefficientSource<Rotation>>
 
using Graph
 
using MovingEvaluator = execution::EquilibriumEvaluator<Bound<MovingPlan>, Graph, EmptyInputs>
 
using FixedEvaluator = execution::EquilibriumEvaluator<Bound<FixedPlan>, Graph, EmptyInputs>
 
using PreparedGraph
 
using MovingPreparedEvaluator = execution::EquilibriumEvaluator<Bound<MovingPlan>, PreparedGraph, EmptyInputs>
 
using FixedPreparedEvaluator = execution::EquilibriumEvaluator<Bound<FixedPlan>, PreparedGraph, EmptyInputs>
 
using FixedState = StellarState<FixedPlan::Layout>
 
using OtherState = StellarState<blocks::SystemLayout<dependencies::KeyList<Shape, Density>, Rows>>
 

Typedef Documentation

◆ CoefficientSource

template<typename Key, typename Term = Key>
using serif::model::checks::CoefficientSource = decltype(dependencies::own<Key>(std::declval<operators::backend::mfem::CoefficientView<Binding<Term>>>()))

◆ CompleteFields

◆ Density

using serif::model::checks::Density = blocks::density::mass

◆ EmptyInputs

using serif::model::checks::EmptyInputs = dependencies::DependencyContext<>

◆ FixedEvaluator

using serif::model::checks::FixedEvaluator = execution::EquilibriumEvaluator<Bound<FixedPlan>, Graph, EmptyInputs>

◆ FixedPreparedEvaluator

◆ FixedState

◆ Graph

Initial value:
decltype(dependencies::make_computation_graph(
dependencies::make_computation<keys::PhysicalSystem, dependencies::InputList<>>([]() {
return 0;
})))
The complete accepted physical residual and its matching Jacobian.
Definition keys.hpp:7

◆ Layout

using serif::model::checks::Layout = blocks::SystemLayout<Values, Rows>

◆ MovingEvaluator

using serif::model::checks::MovingEvaluator = execution::EquilibriumEvaluator<Bound<MovingPlan>, Graph, EmptyInputs>

◆ MovingPreparedEvaluator

◆ OtherState

using serif::model::checks::OtherState = StellarState<blocks::SystemLayout<dependencies::KeyList<Shape, Density>, Rows>>

◆ Overlap

◆ PreparedGraph

Initial value:
decltype(dependencies::make_computation_graph(
dependencies::make_computation<keys::PhysicalSystem, dependencies::InputList<>>([]() {
return 0;
}), dependencies::make_computation<preconditioning::PreparedSystem, dependencies::InputList<keys::PhysicalSystem>>([](int value) {
return value;
})))

◆ Rotation

using serif::model::checks::Rotation = blocks::rotation::angular_velocity

◆ RotationInputs

using serif::model::checks::RotationInputs = dependencies::DependencyContext<CoefficientSource<Rotation>>

◆ Rows

using serif::model::checks::Rows = dependencies::KeyList<ShapeRow, Density>

◆ Shape

using serif::model::checks::Shape = blocks::surface_deformation::coefficients

◆ ShapeOverlap

◆ ShapeRow

using serif::model::checks::ShapeRow = blocks::surface_deformation::shape_equilibrium

◆ State

◆ Values

using serif::model::checks::Values = dependencies::KeyList<Density, Shape>

◆ WrongIdentity

using serif::model::checks::WrongIdentity = dependencies::DependencyContext<CoefficientSource<Rotation, Density>>

◆ WrongValue

using serif::model::checks::WrongValue = decltype(dependencies::make_dependency_context(dependencies::own<Rotation>(1.0)))