|
| template<typename EOS> |
| auto | equation_of_state_input (const EOS &eos) |
| | Track immutable physics with a policy type independent of the caller's field ordering.
|
| |
| template<typename Geometry> |
| std::size_t | geometry_size (const Geometry &coefficients) |
| | Count either backend displacement coefficients or independent surface coefficients.
|
| |
| template<geometry::deformation::DeformationMap Map> |
| void | validate_deformation (const std::shared_ptr< const geometry::deformation::DeformationLinearization< Map > > &state) |
| | Reject null accepted maps and dimensions that MFEM cannot represent.
|
| |
| void | require_deformation_action (const geometry::deformation::DeformationStatus &status) |
| | Preserve the originating deformation diagnostic at the MFEM action boundary.
|
| |
| template<typename... Computations> |
| auto | computation_keys (const std::tuple< Computations... > &) |
| | Derive requested result identities directly from the supplied computation declarations.
|
| |
| template<typename Prescribed, typename SpecificationMap, typename ExplicitZeroCouplings, typename Model, typename Discretization, typename Coefficients, typename Geometry, typename NumericalOptions = PhysicalEvaluation, typename Preconditioner = preconditioning::None, typename Services = NoAdditionalComputations, typename ObserverFactory = utils::dependencies::NoGraphObservers> |
| auto | bind_evaluator (std::shared_ptr< const Model > model, std::shared_ptr< const Discretization > discretization, const Coefficients &coefficients, const Geometry &geometry, operators::backend::mfem::VolumeOptions options, NumericalOptions numerical_options={}, Preconditioner preconditioner={}, Services services={}, ObserverFactory observer_factory={}) |
| | Bind physics once and add only the explicitly selected numerical services.
|
| |
| template<typename Prescribed, typename SpecificationMap, typename ExplicitZeroCouplings, typename Model, typename Discretization, typename Layout, typename Geometry, typename Inputs, typename NumericalOptions = PhysicalEvaluation, typename Preconditioner = preconditioning::None, typename Services = NoAdditionalComputations, typename ObserverFactory = utils::dependencies::NoGraphObservers> |
| auto | bind_state_evaluator (Model model, Discretization discretization, const StellarState< Layout > &state, const Geometry &geometry, operators::backend::mfem::VolumeOptions options, const Inputs &prescribed, NumericalOptions numerical={}, Preconditioner preconditioner={}, Services services={}, ObserverFactory observer_factory={}) |
| | Retain finite-element bindings before constructing temporary views into an owning state.
|
| |
| template<typename Bound, typename Coefficients, typename Geometry> |
| auto | candidate_inputs (const Bound &bound, const Coefficients &coefficients, const Geometry &geometry) |
| | Use one shape-view input schema for both packed states and external coefficient containers.
|
| |
| template<typename Owner, typename... Terms, ReconstructionSpecification Specification> |
| void | apply_reconstruction (Owner &owner, utils::dependencies::KeyList< Terms... >, const Specification &specification) |
| | Attach a requested numerical interpretation while the bindings still have a single mutable owner.
|
| |
| template<ReconstructionSpecification... Specifications> |
| void | validate_reconstruction_requests () |
| | Reject duplicate field requests before constructing any finite elements.
|
| |
| template<discretization::blocks::SpatialTerm Term> |
| ::mfem::FiniteElementSpace & | term_space (discretization::backend::mfem::Resources &resources) |
| | Construct only representations supported by TermBinding, directly from the term's compile-time descriptor.
|
| |
| template<typename... Terms, ReconstructionSpecification... Specifications> |
| auto | make_bindings (const StellarMeshOptions &options, utils::dependencies::KeyList< Terms... > keys, const Specifications &... specifications) |
| | Own precisely the model's coefficients plus displacement geometry; no particular thermodynamic field is required.
|
| |
| template<typename Discretization, typename Coefficients, typename... Terms> |
| void | validate_coefficient_owners (const Discretization &discretization, const Coefficients &coefficients, utils::dependencies::KeyList< Terms... >) |
| | Accepted actions may borrow only bindings retained by the declared discretization owner.
|
| |
| template<typename Discretization, typename Coefficients, typename... Equations, typename... Fields> |
| auto | model_inputs (const Discretization &discretization, const Coefficients &coefficients, utils::types::TypeList< Equations... >, utils::dependencies::KeyList< Fields... >) |
| | Bind common physical coefficients once and keep equation-specific metadata distinct.
|
| |
| template<typename Inputs, typename... Terms> |
| consteval bool | coefficient_inputs (utils::dependencies::KeyList< Terms... >) |
| | Check required fields before entering evaluation, including during compile-time API detection.
|
| |
| template<typename Discretization, typename Layout, typename Prescribed> |
| auto | state_coefficients (const Discretization &discretization, const StellarState< Layout > &state, const Prescribed &prescribed) |
| | Keep surface coordinates in the state while exposing only ordinary fields to volume equations.
|
| |
| void | validate_range (int offset, int size, int extent) |
| | Reject invalid subranges without overflowing integer additions.
|
| |
| LinearizedBlock | select_block (std::shared_ptr< const SystemData > data, std::span< const CoordinateRange > rows, std::span< const CoordinateRange > columns, bool complete_action=false) |
| | Build an independently owned selection of accepted physical couplings.
|
| |