serif::model::detail serif::model::detail::ArgumentsMatch serif::model::detail::ArgumentsMatch< utils::types::TypeList< Specifications... >, Arguments... > serif::model::detail::CanonicalSpecifications serif::model::detail::CanonicalSpecifications< Head, Tail... > serif::model::detail::CanonicalSpecifications<> serif::model::detail::CartesianCouplings serif::model::detail::CartesianCouplings< utils::dependencies::KeyList< Rows... >, utils::dependencies::KeyList< Fields... > > serif::model::detail::EndpointOwner serif::model::detail::EndpointOwner< ConstraintOf< Specification > > serif::model::detail::EndpointOwner< GeneratedCoordinateOf< Specification > > serif::model::detail::EnforcementDependencies serif::model::detail::EnforcementDependencies< Specification, Bindings, true > serif::model::detail::EquationCouplings serif::model::detail::EquationCouplings< Equation, utils::types::TypeList< Columns... > > serif::model::detail::EquilibriumCouplings serif::model::detail::ExecutionInputs serif::model::detail::ExecutionInputs< Plan, std::void_t< typename Plan::PhysicalInputs, typename Plan::InactiveRows > > serif::model::detail::ExecutionSurface serif::model::detail::ExecutionSurface< Plan, std::void_t< typename Plan::Surface > > serif::model::detail::InsertSpecification serif::model::detail::InsertSpecification< Specification, utils::types::TypeList< Head, Tail... > > serif::model::detail::InsertSpecification< Specification, utils::types::TypeList<> > serif::model::detail::InteriorCouplings serif::model::detail::InteriorCouplings< equations::EquationRegistry< Equations... > > serif::model::detail::InteriorPlan serif::model::detail::InteriorPlan< equations::EquationRegistry< Equations... > > serif::model::detail::OperandTerms serif::model::detail::OperandTerms< utils::types::TypeList< Operands... > > serif::model::detail::PreferredSurfaceField serif::model::detail::PreferredSurfaceField< utils::types::TypeList< Equations... > > serif::model::detail::RemoveKeys serif::model::detail::RemoveKeys< utils::dependencies::KeyList< Keys... >, Excluded > serif::model::detail::ResolvedEndpoints serif::model::detail::ResolvedEndpoints< Owner, utils::types::TypeList< Endpoints... >, Bindings > serif::model::detail::ResolvedSpecification serif::model::detail::SelectedSurface serif::model::detail::SelectedSurface< Selection, true > serif::model::detail::SelectRole serif::model::detail::ShapePlan serif::model::detail::ShapePlan< equations::SurfacePotentialBalance > serif::model::detail::ShapePlan< NoShapeForce > serif::model::detail::SurfaceFieldHint serif::model::detail::SurfaceFieldHint< Equation, std::void_t< typename Equation::IsobaricSurfaceField > > serif::model::detail::SurfacePlan serif::model::detail::SurfacePlan< geometry::surface::Isobaric, EOS, Fields, Rows, Solved, Equations > serif::model::detail::SurfacePlan< NoSurfaceCondition, EOS, Fields, Rows, Solved, Equations > serif::model::detail::UniqueSurfaceField serif::model::detail::UniqueSurfaceField< utils::dependencies::KeyList< Field, Others... > > serif::model::detail::UniqueSurfaceField< utils::dependencies::KeyList<> > typename Specification std::bool_constant< Specification::ModelDefinition::generated_state_kind !=GeneratedStateKind::none > using serif::model::detail::GeneratesState = std::bool_constant<Specification::ModelDefinition::generated_state_kind != GeneratedStateKind::none> GeneratesState serif::model::detail::GeneratesState typename Model utils::misc::concepts::FilterT< typename Model::SpecificationTypes, GeneratesState > using serif::model::detail::GeneratedSpecifications = utils::misc::concepts::FilterT<typename Model::SpecificationTypes, GeneratesState> GeneratedSpecifications serif::model::detail::GeneratedSpecifications Numerical checks operate only on prescriptions that introduce a coordinate and equation. typename Owner typename Endpoint typename Bindings typename decltype(resolved_endpoint< Owner, Endpoint, Bindings >())::type using serif::model::detail::ResolvedEndpoint = typename decltype(resolved_endpoint<Owner, Endpoint, Bindings>())::type ResolvedEndpoint serif::model::detail::ResolvedEndpoint typename Candidate bool bool serif::model::detail::is_equilibrium_equations is_equilibrium_equations serif::model::detail::is_equilibrium_equations = false typename Interior typename Shape typename Surface bool bool serif::model::detail::is_equilibrium_equations< EquilibriumEquations< Interior, Shape, Surface > > is_equilibrium_equations< EquilibriumEquations< Interior, Shape, Surface > > serif::model::detail::is_equilibrium_equations< EquilibriumEquations< Interior, Shape, Surface > > = true typename Candidate bool bool serif::model::detail::is_type_list is_type_list serif::model::detail::is_type_list = false typename... Types Types bool bool serif::model::detail::is_type_list< utils::types::TypeList< Types... > > is_type_list< utils::types::TypeList< Types... > > serif::model::detail::is_type_list< utils::types::TypeList< Types... > > = true typename Candidate typename void bool bool serif::model::detail::is_stellar_model is_stellar_model serif::model::detail::is_stellar_model = false typename EOS typename Definition typename List bool bool serif::model::detail::is_stellar_model< StellarModel< EOS, Definition, List >, std::void_t< typename StellarModel< EOS, Definition, List >::SpecificationTypes > > is_stellar_model< StellarModel< EOS, Definition, List >, std::void_t< typename StellarModel< EOS, Definition, List >::SpecificationTypes > > serif::model::detail::is_stellar_model< StellarModel< EOS, Definition, List >, std::void_t< typename StellarModel< EOS, Definition, List >::SpecificationTypes > > = true typename Layout typename Owner typename... ContributionKeys ContributionKeys auto auto serif::model::detail::physical_system_computation (Layout layout, std::shared_ptr< const Owner > owner, utils::dependencies::KeyList< ContributionKeys... >) physical_system_computation serif::model::detail::physical_system_computation Layout layout std::shared_ptr< const Owner > owner utils::dependencies::KeyList< ContributionKeys... > Collect all additions before applying any boundary replacement. typename... Equations Equations typename... Additional Additional auto auto serif::model::detail::contribution_keys (utils::types::TypeList< Equations... >, utils::dependencies::KeyList< Additional... >) contribution_keys serif::model::detail::contribution_keys utils::types::TypeList< Equations... > utils::dependencies::KeyList< Additional... > Every interior equation contributes once; extension keys identify explicit additions or replacements. typename Registry typename Discretization typename Layout typename... Equations Equations auto auto serif::model::detail::interior_computations (const std::shared_ptr< const Registry > &registry, const Discretization &discretization, const Layout &layout, operators::backend::mfem::VolumeOptions options, utils::types::TypeList< Equations... >) interior_computations serif::model::detail::interior_computations const std::shared_ptr< const Registry > & registry const Discretization & discretization const Layout & layout operators::backend::mfem::VolumeOptions options utils::types::TypeList< Equations... > Share each immutable equation with its volume graph, then publish one complete row contribution. typename Bound typename Layout auto auto serif::model::detail::shape_computations (const std::shared_ptr< const Bound > &bound, const Layout &layout) shape_computations serif::model::detail::shape_computations const std::shared_ptr< const Bound > & bound const Layout & layout One shared deformation feeds all geometry derivatives and the surface-potential shape row. typename Bound typename Layout auto auto serif::model::detail::boundary_computations (const Bound &, const Layout &layout) boundary_computations serif::model::detail::boundary_computations const Bound & const Layout & layout Sample the internally selected pressure formulation through its compiled traces. typename Plan auto auto serif::model::detail::equilibrium_contribution_keys () equilibrium_contribution_keys serif::model::detail::equilibrium_contribution_keys Name exactly the explicitly selected non-interior contributions to final assembly. typename Owner typename Endpoint typename Bindings auto auto serif::model::detail::resolved_endpoint () resolved_endpoint serif::model::detail::resolved_endpoint Resolve owned aliases and explicit bindings without merging same-unit identities. typename Model typename Endpoint bool bool serif::model::detail::endpoint_owner_present () endpoint_owner_present serif::model::detail::endpoint_owner_present A coordinate binding cannot supply an absent or non-generating physical prescription. ModelSpecification Left Left ModelSpecification Right Right bool bool serif::model::detail::specification_precedes () specification_precedes serif::model::detail::specification_precedes Compare physical identities in the historical role, coordinate-kind, stable-name order. ModelSpecification... Specifications Specifications bool bool serif::model::detail::unique_specification_names () unique_specification_names serif::model::detail::unique_specification_names Reject semantic collisions even when two prescriptions have different C++ types or scalar kinds. typename... Specifications Specifications typename... Arguments Arguments std::tuple< Specifications... > std::tuple< Specifications... > serif::model::detail::canonical_specifications (utils::types::TypeList< Specifications... >, Arguments &&... arguments) canonical_specifications serif::model::detail::canonical_specifications utils::types::TypeList< Specifications... > Arguments &&... arguments Consume the argument tuple once, moving each specification into its canonical slot once. typename Definition typename Model decltype(auto) decltype(auto) serif::model::detail::resolve_equation_member (Definition &&definition, const Model &model) resolve_equation_member serif::model::detail::resolve_equation_member Definition && definition const Model & model Evaluate a physical definition or retain its immutable object without requiring a copy. typename Definition typename Model auto auto serif::model::detail::resolve_equation_members (Definition &&definition, const Model &model) resolve_equation_members serif::model::detail::resolve_equation_members Definition && definition const Model & model Resolve each explicit part, owning temporary results and borrowing unchanged model members. DimensionalScalarSpecification Specification Specification typename Rows typename InactiveRows typename Actual typename Bindings bool bool serif::model::detail::generated_physics_is_present () generated_physics_is_present serif::model::detail::generated_physics_is_present Demand an explicitly supplied generated equation and effect before inferring closed-row zeros. typename Rows typename InactiveRows typename Actual typename Bindings typename... Specifications Specifications bool bool serif::model::detail::generated_physics_are_present (utils::types::TypeList< Specifications... >) generated_physics_are_present serif::model::detail::generated_physics_are_present utils::types::TypeList< Specifications... > Check only numerical-provider admission; physical endpoint ownership is checked separately. typename Rows typename... Required Required bool bool serif::model::detail::equation_rows_exist (utils::dependencies::KeyList< Required... >) equation_rows_exist serif::model::detail::equation_rows_exist utils::dependencies::KeyList< Required... > Every surface carrier must have an equation row in the selected layout. bool bool serif::model::detail::compatible_generated_state (SpecificationRole role, GeneratedStateKind kind) compatible_generated_state serif::model::detail::compatible_generated_state SpecificationRole role GeneratedStateKind kind Reject unknown enums and mismatched physical roles before inspecting optional scalar metadata. DimensionalScalarSpecification Specification Specification typename Model typename Values typename Inputs typename Rows typename InactiveRows typename Bindings bool bool serif::model::detail::valid_specification_endpoints () valid_specification_endpoints serif::model::detail::valid_specification_endpoints Check physical inputs separately from unknowns and explicitly inactive equations. typename Model typename Values typename Inputs typename Rows typename InactiveRows typename Bindings typename... Specifications Specifications bool bool serif::model::detail::valid_specifications (utils::types::TypeList< Specifications... >) valid_specifications serif::model::detail::valid_specifications utils::types::TypeList< Specifications... > Fold independent physical declarations; no equation counting or rank inference is involved. DimensionalScalarSpecification Specification Specification typename Couplings typename Bindings bool bool serif::model::detail::specification_derivatives_available () specification_derivatives_available serif::model::detail::specification_derivatives_available Validate declared derivative contracts without inferring zeros from missing providers. typename Couplings typename Bindings typename... Specifications Specifications bool bool serif::model::detail::specification_derivatives_available (utils::types::TypeList< Specifications... >) specification_derivatives_available serif::model::detail::specification_derivatives_available utils::types::TypeList< Specifications... > Check each prescription against independently supplied derivative registrations.