| ▼Nserif | |
| ▼Ncompile_time_checks | |
| ►Ndimensions_meanfield | |
| RAddable | |
| REqualityComparable | |
| ►Nsurface_boundary | |
| RBuildsTrace | |
| RBuildsTemporaryTrace | |
| RBuildsBoundary | |
| RBuildsInputs | |
| ▼Ndimensions | |
| RPhysicalQuantityType | Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its derived from PhysicalQuantity. Note all ThermodynamicQuantities will also satisfy this concept |
| RThermodynamicQuantityType | Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its derived from PhysicalQuantity (both enforced through checking PhysicalQuantityType) and then that is is also derived from ThermodynamicQuantity. Note not all physical quanties will satisfy this |
| RQuantityValueType | Turn those compile time structs into a concept that can be used to constrain a template parameter |
| RThermodynamicQuantityValueType | |
| ▼Ndiscretization | |
| ►Nbackend | |
| ►Nmfem | |
| RBoundaryTraceTerm | Concept Limiting the input term to either a global scalar term or a spatial term of rank 0 in the H1 family. Outside of H1, the trace is a vector (e.g. the normal trace for a H(div) field or the tangential trace for a H(curl) field). Further, for higher rank H1 fields the trace is a tensor |
| ►Nblocks | |
| RField | Concept for field types in the discretization framework. To be a field a type must derive from the field base class |
| RTerm | Concept for term types in the discretization framework. To be a term a type must derive from term_base, must have a field_type member, and that field_type member must be a valid field |
| RHasFunctionalSpace | Concept for term types that have a functional space. To have a functional space a type must first be a valid Term and must have a FunctionalSpace member type |
| RHasSupport | Concept for term types that have a domain over which they are supported. To have support a type must first be a valid Term and must have a Support member type |
| RHasQuantity | Concept for term types that have a physical quantity associated with them. To have a quantity a type must first be a valid Term and must have a Quantity member type |
| RHasValueBlock | Concept for term types that have a value block associated with them. To have a value block a type must first be a valid Term and must have a value member type |
| RHasResidualBlock | Concept for term types that have a residual block associated with them. To have a residual block a type must first be a valid Term and must have a residual member type |
| RSpatialTerm | Concept for term types that are spatial terms. A spatial term is a term that has a functional space (HasFunctionalSpace) and a support (HasSupport) |
| RGlobalScalarTerm | Concept for term types that are global scalar terms. A global scalar term is a term that has support (HasSupport) but does not have a functional space (HasFunctionalSpace) and is derived from the global_scalar class |
| RSystemLayoutType | Compile time check for a SystemLayout type, e.g. SystemLayout<Values, Residuals> |
| RScalarTraceTerm | A unique scalar boundary value is available for continuous scalar fields and scalar globals |
| ►Ndomain | |
| ►Nids | |
| ►Nlists | |
| RIsDomainIDList | Concept for types that are domain ID lists in the discretization framework. To be a domain ID list a type must satisfy the is_domain_id_list_v trait |
| RIsBoundaryIDList | Concept for types that are boundary ID lists in the discretization framework. To be a boundary ID list a type must satisfy the is_boundary_id_list_v trait |
| ►Nvalidation | |
| RHaveUniqueDomainIDs | Concept to check if a pack of domain IDs have unique ID values. This is used to ensure that no two domain IDs in a list have the same ID |
| RHaveUniqueBoundaryIDs | Concept to check if a pack of boundary IDs have unique ID values. This is used to ensure that no two boundary IDs in a list have the same ID |
| RHaveUniqueDomains | Concept to check if a pack of domain IDs have unique domain types. This is used to ensure that no two domain IDs in a list refer to the same domain type |
| RHaveUniqueBoundaries | Concept to check if a pack of boundary IDs have unique boundary types. This is used to ensure that no two boundary IDs in a list refer to the same boundary type |
| RAreDistinctDomainIDs | Concept to check if a pack of domain IDs are distinct. This means that each ID is a valid domain ID, no two IDs have the same integer value, and no two IDs refer to the same domain type |
| RAreDistinctBoundaryIDs | Concept to check if a pack of boundary IDs are distinct. This means that each ID is a valid boundary ID, no two IDs have the same integer value, and no two IDs refer to the same boundary type |
| RIsDomainID | Concept for types that are domain IDs in the discretization framework. To be a domain ID a type must satisfy the is_domain_id_v trait |
| RIsBoundaryID | Concept for types that are boundary IDs in the discretization framework. To be a boundary ID a type must satisfy the is_boundary_id_v trait |
| ►Nrelation | |
| ►Nlists | |
| RIsRelationList | Concept for relation list types in the discretization framework. To be a relation list, a type must satisfy the is_relation_list_v trait |
| ►Nvalidation | |
| RHaveValidRelationEntities | Concept to validate that a set of domain IDs, boundary IDs, and relations are valid. This concept checks if the relations use registered entities based on the provided domain and boundary IDs |
| RIsRelation | Concept to validate that a type is a relation. This concept checks if the type is derived from the DomainRelation base class |
| ►Nschema | |
| RIsSchema | Concept for a schema, which is a collection of relations that describe the relationships between domains and boundaries in a mesh. Something is a schema if it satisfies the is_schema_v trait |
| RIsDomain | < |
| RIsBoundary | A Boundary is a surface in the mesh. It is a base class for all boundary types |
| RIsDomainSet | A concept to determine if a type is a DomainSet. A type is a DomainSet if it satisfies the is_domain_set_v trait |
| RIsDomainOrSet | A concept to determine if a type is a DomainOrSet. A type is a DomainOrSet if it is either a Domain or a DomainSet |
| RDomainIsIdentifiedBy | A concept to determine if a Domain type is identified by a DomainID type. A Domain type is identified by a DomainID type if the DomainID's domain_type is the same as the Domain type |
| RBoundaryIsIdentifiedBy | A concept to determine if a Boundary type is identified by a BoundaryID type. A Boundary type is identified by a BoundaryID type if the BoundaryID's boundary_type is the same as the Boundary type |
| ►Nforms | |
| RForm | Concept for types that are forms in the discretization framework. In order satisfy this concept a type must derive from the form base class and must define a member type called operand_types which is intended to be a type list of the trial and test terms for the form |
| RIsOperation | |
| RIsOperand | Concept to validate a valid operand. An operand is valid if the following conditions are satisfied |
| ►Nquadrature | |
| ►Nbackend | |
| ►Nmfem | |
| RHasReferenceSetIntegrationRule | A HasReferenceSetIntegrationRule is an integrator that can be configured with a reference to an integration rule |
| RHasPointerSetIntegrationRule | A HasPointerSetIntegrationRule is an integrator that can be configured with a pointer to an integration rule |
| RHasSetIntRule | A HasSetIntRule is an integrator that can be configured with an integration rule by value |
| RConfigurableIntegrator | A ConfigurableIntegrator is an integrator that can be configured with an integration rule in some way (either by reference, by pointer, or by value) |
| ▼Neos | |
| ►Nmodels | |
| REOSModel | A concept to determine if a type is an equation of state model. A type is a valid EOSModel if it satisfies the is_equation_of_state_model_v trait |
| REOSSupportingRelation | A concept to determine if a type is an equation of state model that supports a given relation. A type is a valid EOSSupportingRelation if it satisfies the supports_relation_v trait |
| REOSSupportingPartialDerivative | A concept to determine if a type is an equation of state model that supports a given relation and a given input quantity. A type is a valid EOSSupportingPartialDerivative if it satisfies the supports_partial_derivative_v trait |
| REOSSupportingSecondPartialDerivative | Require a declared EOS relation and its analytic second partial |
| RStructureSeedEOS | A concept to determine if a type is an equation of state model that can be used in the current SERiF seed initialization system. This is satisfied for types that are both valid EOSModels and which also support the relation for computing specific enthalpy from density |
| ►Nrelations | |
| RCatalogContainingRelation | A concept used to constrain a type to a catalog that contains a given relation |
| RRelationContainingInput | A concept used to constrain a type to a relation that contains a given input quantity |
| RValidThermodynamicRelation | A concept used to constrain a type to a valid thermodynamic relation. A type is a valid thermodynamic relation if it satisfies the is_thermodynamic_relation_v trait |
| RValidRelationCatalog | A concept used to constrain a type to a valid relation catalog. A type is a valid relation catalog if it satisfies the is_valid_relation_catalog_v trait |
| ▼Nequations | |
| RPointEquation | A concept that defines the requirements for a pointwise equation |
| REquation | A concept that defines the requirements for a valid SERiF equation |
| ▼Ngeometry | |
| ►Ndeformation | |
| RDeformationDimensions | Matching lengths never replace the physical meanings of the input and output spaces |
| RLinearDeformationMap | Fixed maps provide just forward and transpose actions with caller-owned scratch |
| RDifferentiableDeformationMap | Nonlinear maps explicitly provide every term needed by a Newton force pullback |
| RDeformationMap | |
| ►Nsurface | |
| ►Nbackend | |
| ►Nmfem | |
| RPressureBoundaryFormulation | Isobaric rows are scalar nodal H1 equations with continuous scalar or global EOS inputs |
| ►Ndetail | |
| REligibleSurfaceRow | Strong boundary enforcement requires an actual solved, scalar H1 equation row |
| RThermodynamicBoundaryField | Globals require an explicit physical role: matching units alone would mistake C or a multiplier for enthalpy |
| RAutomaticPressureSurfaceCompilable | Whether the available equations and numerical backend select one implementable isobaric residual |
| RPressureSurfaceCompilable | Whether the available state selects exactly one pressure-to-carrier EOS relation |
| RDirectPressureSurfaceCompilable | A direct pressure residual requires an explicitly chosen pressure relation and an input quantity whose equation row it replaces |
| RPressureSurfaceFormulationType | |
| RSurfaceScalarTerm | Scalar thermodynamic data may come from any declared scalar space; boundary enforcement is a separate backend capability |
| RSurfaceStateBindings | Reuse dependency bindings, retaining distinct quantity roles even when they refer to one term |
| RSurfaceResidualRow | The quantity enforcing the boundary must have an actual equation row, not just sampled values |
| RIsobaricSurfaceType | |
| ▼Nmodel | |
| ►Nbackend | |
| ►Nmfem | |
| ►Ndetail | |
| RReconstructionSpecification | Recognize a field-specific reconstruction request without prescribing its numerical form |
| RCoefficientInput | Recognize a field view by its physical identity and backend coefficient representation |
| RPrescribedInputsFor | Prescribed views must supply every unsolved input and cannot duplicate a solved coordinate |
| ►Nchecks | |
| RReadsField | Check field availability and owner lifetime without instantiating a getter body |
| RReadsValues | Packed views must remain tied to an lvalue owning state |
| RReadsLayout | Layout references cannot survive destruction of a temporary owning state |
| RCanEvaluate | Unsupported state and prescribed-field combinations must fail during overload selection |
| RCanPrepareLinearSystem | Linear preparation needs both a selected recipe and a valid candidate binding |
| ►Nnormalization | |
| ►Ndetail | |
| RReferenceAvailable | Explicit reference values take precedence over model defaults without changing physical prescriptions |
| RReferenceResolvable | Check model-provided reference requirements before instantiating numerical preparation |
| REquilibriumEquationDescription | Recognize composition without instantiating any numerical equation contract |
| RExecutableEquilibriumDescription | Recognize current equation backends without instantiating an invalid complete plan |
| RExecutableInteriorEquations | The current interior backend can evaluate every explicitly listed equation |
| RModelSpecification | Recognize a self-describing prescription without demanding executable physics or optional metadata |
| RDimensionalScalarSpecification | Require exact dimensional agreement only when scalar numerical metadata is needed |
| RValidSpecificationPack | Prescriptions accompany one separately owned EOS; no numerical capability is assumed |
| RStellarModelType | Safely recognize descriptions, including when presented with an incomplete specialization |
| RHasUniqueSpecificationForRole | |
| RSpecificationEndpointsValid | Validate physical ownership, available inputs and uniquely owned generated equations |
| RSpecificationTopologyValid | Validate physical endpoints and every derivative in an explicitly declared contract |
| RSpecificationBackendAvailable | Require a registered implementation for every declared generated derivative, including explicit zeros |
| ▼Noperators | |
| ►Nbackend | |
| ►Nmfem | |
| RClosureResult | |
| RClosureInputsAccept | |
| REvaluableOperand | Check the complete interface used by preparation, Jacobian application, and its transpose |
| RScalarValueTerm | |
| RScalarValueOperand | |
| RScalarGradientOperand | A conforming scalar gradient; discontinuous fields also require face terms |
| RVectorGradientOperand | Full vector gradients are supported for componentwise H1 fields |
| RScalarVolumeEquation | Equations executable by the current scalar-value volume operator |
| RMappedOperand | Mathematical operand combinations implemented by the current volume backend |
| RVolumeEquation | One or more supported weak volume contributions assembled into a single residual row |
| ▼Nsolver | |
| ►Ncontinuation | |
| ►Ndetail | |
| RLawDefinition | |
| RBindableFamily | |
| RCoordinateValue | |
| RPhysicalParameter | A typed physical parameter owns its domain predicate, units, owner, and stable identity |
| RIdentifiedSpecification | Require explicit identity data, never an object address or incidental memory representation |
| ►Ndetail | |
| RNewtonStrategyFor | A custom method must supply the exact correction contract; malformed overrides never select a fallback |
| ►Nnormalization | |
| ►Nchecks | |
| RHasDefaultDimensionlessGeometry | Custom metrics must state their coordinate convention instead of silently assuming volume weighting |
| RCanDeclareLayout | Keep invalid layout declarations safely testable without instantiating their storage |
| RCanDeclareRuntimeMethod | Require explicit policy identity rather than accepting unrelated preparation-like objects |
| ►Ndetail | |
| RProvidesScale | |
| RNormalizationPreparable | |
| RReferenceScheme | A custom stellar reference strategy supplies the same typed scales and ordinary failure value |
| RCoordinateLayoutType | Normalization consumes the same coordinate representation as physical operators and solvers |
| RMetricFor | |
| RNormalizationPrescription | |
| RNormalizationPlanType | |
| RCompleteNormalizationFor | |
| RStellarScaleQuantity | Quantities whose characteristic scales follow from reference mass, radius, and G alone |
| ►Npreconditioner | |
| ►Nchecks | |
| RRestrictable | A borrowed raw operator cannot satisfy factories which retain their numerical prerequisites |
| RReadsCoordinate | Detection of an absent coordinate must fail in constraints instead of instantiating a function body |
| RReadsBlock | Only declared equation/unknown pairs are exposed by a borrowed linearization |
| RHasOffset | Malformed coordinate requests remain detection-safe on the owning metadata as well |
| RHasPrimalPreconditioner | Keep unsupported coordinate sets out of the primal recipe before its body is instantiated |
| RPrimalPreconditionerLayout | Require density and potential fields with paired optional shape and scalar constraints |
| RDisjointSubsystems | Require disjoint ownership on both sides rather than silently deduplicating physical coordinates |
| ▼Nutils | |
| ►Ndependencies | |
| RIsBinding | |
| RIsBindings | |
| RBindingsWithBinding | |
| RIsComputation | |
| RCompatibleComputations | A computational graph needs unique producers, valid input ownership, and no cycles |
| RIsComputationGraph | |
| RIsDependencyContext | |
| RCanPrepare | |
| RComputationGraphFor | |
| RIsKeyList | |
| RSatisfiesKeyList | |
| RContainsKey | Test exact key membership, rejecting malformed and duplicate-key lists |
| RNodeObserverCallbacks | Completion must be safe during stack unwinding and receives the state created by the before hook |
| RKeyedNodeObserverCallbacks | An all-node callback receives the compiled result identity before creating its invocation state |
| RObserversFor | Reject unknown nodes, nonexistent edges, and callbacks that cannot observe the graph's immutable values |
| RIsResource | |
| RSnapshotPolicyFor | |
| RNodeTimingClock | Restrict injected clocks to ordinary arithmetic chrono values safe in a closing callback |
| ►Nmisc | |
| ►Nconcepts | |
| RIsException | |
| RIsNumeric | |
| RIsComparableToNumeric | |
| RSetOfOneOrTwo | |
| RAllTypesAreUnique | |
| ►Nprojection | |
| RRadialFunction | A radial profile accepts physical radius and returns a value or a numerical rejection |