|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
Own target physics and construct fresh family members without a mesh, evaluator, or mutable solve context. More...
#include <family.hpp>
Classes | |
| struct | Values |
Public Types | |
| using | ModelType = Model |
| using | Coordinates = std::array<double, coordinate_count> |
Public Member Functions | |
| BoundFamily (Model target, std::tuple< Laws... > laws, EquationFactory equations) | |
| Reject inconsistent laws and unverifiable target identities before starting continuation. | |
| const Model & | target_model () const noexcept |
| Inspect the immutable requested physical model. | |
| Coordinates | target_coordinates () const noexcept |
| Preserve the exact endpoint independently of adaptive step sizes. | |
| Coordinates | starting_coordinates () const |
| Use physics-owned simpler coordinates where a parameter supplies them. | |
| Coordinates | coordinates_of (const Model &candidate) const |
| Extract coordinates; extraction alone does not certify family membership. | |
| std::vector< double > | model_signature (const Model &candidate) const |
| Include unchanged EOS, constraints, and stateful equation definitions in family identity. | |
| std::expected< void, Failure > | try_validate_member (const Model &candidate) const |
| Reject unrelated physical anchors even if their selected coordinates match. | |
| void | validate_member (const Model &candidate) const |
| Validate a user-supplied anchor at the configuration boundary. | |
| std::expected< Model, Failure > | try_model_at (const Coordinates &coordinates) const |
| Construct a candidate and report out-of-domain laws as ordinary values for the continuation driver. | |
| Model | model_at (const Coordinates &coordinates) const |
| Construct a family member when invalid coordinates are a caller configuration error. | |
Static Public Member Functions | |
| template<PhysicalParameter Parameter> requires has_coordinate<Parameter> | |
| static consteval std::size_t | coordinate_index (Parameter={}) |
| Locate one selected physical parameter without runtime type dispatch. | |
| static constexpr std::array< ParameterDescriptor, coordinate_count > | parameter_descriptors () noexcept |
| Expose stable parameter names for diagnostics and persisted coordinates. | |
Static Public Attributes | |
| static constexpr std::size_t | coordinate_count = sizeof...(Selected) |
| template<typename Parameter> | |
| static constexpr bool | has_coordinate = utils::dependencies::ContainsKey<Parameter, Selection> |
Private Types | |
| using | Selection = ParameterList<Selected...> |
| using | Traits = detail::FamilyTraits<Selection, std::tuple<Laws...>> |
| using | DerivedValues = std::tuple<typename Laws::OutputParameter::Value...> |
Private Member Functions | |
| template<typename Law, typename... Inputs> | |
| auto | evaluate_law (const Law &value, const Coordinates &coordinates, ParameterList< Inputs... >) const |
| Read only independent coordinates into a typed dependent law. | |
| template<std::size_t... Indices> | |
| std::expected< DerivedValues, Failure > | evaluate_laws (const Coordinates &coordinates, std::index_sequence< Indices... >) const |
| Evaluate every independent law before rebuilding any physical prescription. | |
| template<std::size_t... Indices> | |
| bool | realized (const Model &result, const Coordinates &coordinates, const DerivedValues &derived, std::index_sequence< Indices... >) const |
| Read back every installed parameter; exact selected coordinates cannot be silently ignored. | |
Private Attributes | |
| Model | m_target |
| std::tuple< Laws... > | m_laws |
| EquationFactory | m_equations |
| Coordinates | m_target_coordinates |
Own target physics and construct fresh family members without a mesh, evaluator, or mutable solve context.
| using serif::solver::continuation::BoundFamily< Model, ParameterList< Selected... >, std::tuple< Laws... >, EquationFactory >::Coordinates = std::array<double, coordinate_count> |
|
private |
| using serif::solver::continuation::BoundFamily< Model, ParameterList< Selected... >, std::tuple< Laws... >, EquationFactory >::ModelType = Model |
|
private |
|
private |
|
inline |
Reject inconsistent laws and unverifiable target identities before starting continuation.
|
inlinestaticnodiscardconsteval |
Locate one selected physical parameter without runtime type dispatch.
|
inlinenodiscard |
Extract coordinates; extraction alone does not certify family membership.
|
inlinenodiscardprivate |
Read only independent coordinates into a typed dependent law.
|
inlinenodiscardprivate |
Evaluate every independent law before rebuilding any physical prescription.
|
inlinenodiscard |
Construct a family member when invalid coordinates are a caller configuration error.
|
inlinenodiscard |
Include unchanged EOS, constraints, and stateful equation definitions in family identity.
|
inlinestaticnodiscardconstexprnoexcept |
Expose stable parameter names for diagnostics and persisted coordinates.
|
inlinenodiscardprivate |
Read back every installed parameter; exact selected coordinates cannot be silently ignored.
|
inlinenodiscard |
Use physics-owned simpler coordinates where a parameter supplies them.
|
inlinenodiscardnoexcept |
Preserve the exact endpoint independently of adaptive step sizes.
|
inlinenodiscardnoexcept |
Inspect the immutable requested physical model.
|
inlinenodiscard |
Construct a candidate and report out-of-domain laws as ordinary values for the continuation driver.
|
inlinenodiscard |
Reject unrelated physical anchors even if their selected coordinates match.
|
inline |
Validate a user-supplied anchor at the configuration boundary.
|
staticconstexpr |
|
staticconstexpr |
|
private |
|
private |
|
private |
|
private |