SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
state.cpp File Reference
#include <concepts>
#include <span>
#include <type_traits>
#include <utility>
#include <vector>
#include "serif/backend/mfem/model/equilibrium.hpp"
#include "serif/model/state.hpp"
Include dependency graph for state.cpp:

Classes

struct  serif::model::checks::Binding< TermT >
 Only the binding's physical identity is needed to check public overload constraints. More...
 
struct  serif::model::checks::MovingPlan
 
struct  serif::model::checks::MovingPlan::Surface
 
struct  serif::model::checks::FixedPlan
 
struct  serif::model::checks::Bound< PlanT >
 

Namespaces

namespace  serif
 
namespace  serif::model
 
namespace  serif::model::checks
 

Concepts

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

Typedefs

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