Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
196 lines
65 KiB
TeX
196 lines
65 KiB
TeX
\doxysection{Concepts}
|
|
Here is a list of all concepts with brief descriptions\+:\begin{DoxyCompactList}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d076111035010356211004365113056122140226040272225_1_1_can_read_unique_boundary}{@076111035010356211004365113056122140226040272225\+::\+Can\+Read\+Unique\+Boundary}} }{\pageref{concept_0d076111035010356211004365113056122140226040272225_1_1_can_read_unique_boundary}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d076111035010356211004365113056122140226040272225_1_1_can_resolve_description}{@076111035010356211004365113056122140226040272225\+::\+Can\+Resolve\+Description}} }{\pageref{concept_0d076111035010356211004365113056122140226040272225_1_1_can_resolve_description}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d076111035010356211004365113056122140226040272225_1_1_can_resolve_temporary}{@076111035010356211004365113056122140226040272225\+::\+Can\+Resolve\+Temporary}} }{\pageref{concept_0d076111035010356211004365113056122140226040272225_1_1_can_resolve_temporary}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d104051022023260372251021217357261053015367015144_1_1_applicable}{@104051022023260372251021217357261053015367015144\+::\+Applicable}} \\*Strict stage settings must cover each bound coordinate, not only a subset }{\pageref{concept_0d104051022023260372251021217357261053015367015144_1_1_applicable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d104051022023260372251021217357261053015367015144_1_1_attachable}{@104051022023260372251021217357261053015367015144\+::\+Attachable}} \\*Dependent laws must read selected inputs, have distinct outputs, and avoid independent outputs }{\pageref{concept_0d104051022023260372251021217357261053015367015144_1_1_attachable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d104051022023260372251021217357261053015367015144_1_1_bindable}{@104051022023260372251021217357261053015367015144\+::\+Bindable}} \\*A family must account for parameter ownership, required dependent laws, and physical identity }{\pageref{concept_0d104051022023260372251021217357261053015367015144_1_1_bindable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d104051022023260372251021217357261053015367015144_1_1_constant_law}{@104051022023260372251021217357261053015367015144\+::\+Constant\+Law}} \\*Laws must preserve physical units and callable signatures }{\pageref{concept_0d104051022023260372251021217357261053015367015144_1_1_constant_law}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d104051022023260372251021217357261053015367015144_1_1_selectable}{@104051022023260372251021217357261053015367015144\+::\+Selectable}} \\*Selected coordinates must be unique typed physical parameters }{\pageref{concept_0d104051022023260372251021217357261053015367015144_1_1_selectable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d104051022023260372251021217357261053015367015144_1_1_starting_value}{@104051022023260372251021217357261053015367015144\+::\+Starting\+Value}} \\*Starting values have the selected parameter\textquotesingle{}s units }{\pageref{concept_0d104051022023260372251021217357261053015367015144_1_1_starting_value}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d105303371101360306025050204101312212144366254006_1_1_can_scale_mass}{@105303371101360306025050204101312212144366254006\+::\+Can\+Scale\+Mass}} \\*Physical reference inputs must carry their distinct dimensions }{\pageref{concept_0d105303371101360306025050204101312212144366254006_1_1_can_scale_mass}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d120027171211173332346346153147002002266065223266_1_1_can_make_bindings}{@120027171211173332346346153147002002266065223266\+::\+Can\+Make\+Bindings}} \\*Invalid members remain a failed collection requirement, even when their aliases are missing }{\pageref{concept_0d120027171211173332346346153147002002266065223266_1_1_can_make_bindings}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d120027171211173332346346153147002002266065223266_1_1_has_bound_type}{@120027171211173332346346153147002002266065223266\+::\+Has\+Bound\+Type}} }{\pageref{concept_0d120027171211173332346346153147002002266065223266_1_1_has_bound_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d120027171211173332346346153147002002266065223266_1_1_has_bound_type_member}{@120027171211173332346346153147002002266065223266\+::\+Has\+Bound\+Type\+Member}} }{\pageref{concept_0d120027171211173332346346153147002002266065223266_1_1_has_bound_type_member}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d157116114150123267120271363131113324057353033032_1_1_default_radial_seed}{@157116114150123267120271363131113324057353033032\+::\+Default\+Radial\+Seed}} }{\pageref{concept_0d157116114150123267120271363131113324057353033032_1_1_default_radial_seed}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_cache}{@200074317303167056063064256070046203054064052214\+::\+Can\+Make\+Cache}} }{\pageref{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_cache}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_computation}{@200074317303167056063064256070046203054064052214\+::\+Can\+Make\+Computation}} }{\pageref{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_computation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_fallible_cache}{@200074317303167056063064256070046203054064052214\+::\+Can\+Make\+Fallible\+Cache}} }{\pageref{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_fallible_cache}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_observed_cache}{@200074317303167056063064256070046203054064052214\+::\+Can\+Make\+Observed\+Cache}} \\*Observer validation must also constrain the public cache factory }{\pageref{concept_0d200074317303167056063064256070046203054064052214_1_1_can_make_observed_cache}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d200074317303167056063064256070046203054064052214_1_1_can_observe_node}{@200074317303167056063064256070046203054064052214\+::\+Can\+Observe\+Node}} \\*Observer lifetime callbacks must agree on an owned state and cannot fail while closing it }{\pageref{concept_0d200074317303167056063064256070046203054064052214_1_1_can_observe_node}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d200074317303167056063064256070046203054064052214_1_1_can_request}{@200074317303167056063064256070046203054064052214\+::\+Can\+Request}} }{\pageref{concept_0d200074317303167056063064256070046203054064052214_1_1_can_request}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d230372075125117112146216022050257331177137107327_1_1_can_compose}{@230372075125117112146216022050257331177137107327\+::\+Can\+Compose}} \\*Equal vector lengths cannot substitute for matching physical meanings at a composition boundary }{\pageref{concept_0d230372075125117112146216022050257331177137107327_1_1_can_compose}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d247006277077211216153350341142357337161001026143_1_1_has_surface_relation}{@247006277077211216153350341142357337161001026143\+::\+Has\+Surface\+Relation}} }{\pageref{concept_0d247006277077211216153350341142357337161001026143_1_1_has_surface_relation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d247006277077211216153350341142357337161001026143_1_1_selects_carrier}{@247006277077211216153350341142357337161001026143\+::\+Selects\+Carrier}} }{\pageref{concept_0d247006277077211216153350341142357337161001026143_1_1_selects_carrier}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d250110035027220242324102122027040335104251176344_1_1_has_stellar_scale}{@250110035027220242324102122027040335104251176344\+::\+Has\+Stellar\+Scale}} }{\pageref{concept_0d250110035027220242324102122027040335104251176344_1_1_has_stellar_scale}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d252166143035264314021214246026055041120163322041_1_1_can_index}{@252166143035264314021214246026055041120163322041\+::\+Can\+Index}} \\*Invalid indexing remains a failed requirement rather than an out-\/of-\/range constant }{\pageref{concept_0d252166143035264314021214246026055041120163322041_1_1_can_index}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d252166143035264314021214246026055041120163322041_1_1_can_resolve}{@252166143035264314021214246026055041120163322041\+::\+Can\+Resolve}} }{\pageref{concept_0d252166143035264314021214246026055041120163322041_1_1_can_resolve}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d253343222056052264073162264131026071236027076263_1_1_cacheable_row}{@253343222056052264073162264131026071236027076263\+::\+Cacheable\+Row}} \\*Spatial equations must retain their ordinary volume representation }{\pageref{concept_0d253343222056052264073162264131026071236027076263_1_1_cacheable_row}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d301112010136147065114044076153062246372076341171_1_1_can_configure_discretization}{@301112010136147065114044076153062246372076341171\+::\+Can\+Configure\+Discretization}} \\*Make invalid factory configurations detectable without entering numerical preparation }{\pageref{concept_0d301112010136147065114044076153062246372076341171_1_1_can_configure_discretization}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d301112010136147065114044076153062246372076341171_1_1_coordinate_policy}{@301112010136147065114044076153062246372076341171\+::\+Coordinate\+Policy}} \\*Keep unsupported coordinate policies and wrongly typed reference values out of user configurations }{\pageref{concept_0d301112010136147065114044076153062246372076341171_1_1_coordinate_policy}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d301112010136147065114044076153062246372076341171_1_1_lane_emden_inputs}{@301112010136147065114044076153062246372076341171\+::\+Lane\+Emden\+Inputs}} }{\pageref{concept_0d301112010136147065114044076153062246372076341171_1_1_lane_emden_inputs}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d323172327364102235210333337057065015152354331343_1_1_can_borrow}{@323172327364102235210333337057065015152354331343\+::\+Can\+Borrow}} }{\pageref{concept_0d323172327364102235210333337057065015152354331343_1_1_can_borrow}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d323172327364102235210333337057065015152354331343_1_1_can_combine_contexts}{@323172327364102235210333337057065015152354331343\+::\+Can\+Combine\+Contexts}} }{\pageref{concept_0d323172327364102235210333337057065015152354331343_1_1_can_combine_contexts}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d323172327364102235210333337057065015152354331343_1_1_can_make_context}{@323172327364102235210333337057065015152354331343\+::\+Can\+Make\+Context}} }{\pageref{concept_0d323172327364102235210333337057065015152354331343_1_1_can_make_context}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d323172327364102235210333337057065015152354331343_1_1_can_read}{@323172327364102235210333337057065015152354331343\+::\+Can\+Read}} }{\pageref{concept_0d323172327364102235210333337057065015152354331343_1_1_can_read}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d323172327364102235210333337057065015152354331343_1_1_can_select}{@323172327364102235210333337057065015152354331343\+::\+Can\+Select}} }{\pageref{concept_0d323172327364102235210333337057065015152354331343_1_1_can_select}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d341327062240224103006004034245155142150333316133_1_1_can_bind_shape}{@341327062240224103006004034245155142150333316133\+::\+Can\+Bind\+Shape}} \\*Input views may be temporary, but their owning containers may not be }{\pageref{concept_0d341327062240224103006004034245155142150333316133_1_1_can_bind_shape}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{concept_0d341327062240224103006004034245155142150333316133_1_1_can_resolve_deformation}{@341327062240224103006004034245155142150333316133\+::\+Can\+Resolve\+Deformation}} \\*Missing physical boundary names must fail the public discretization factory\textquotesingle{}s constraints }{\pageref{concept_0d341327062240224103006004034245155142150333316133_1_1_can_resolve_deformation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1compile__time__checks_1_1dimensions__meanfield_1_1_addable}{serif\+::compile\+\_\+time\+\_\+checks\+::dimensions\+\_\+meanfield\+::\+Addable}} }{\pageref{conceptserif_1_1compile__time__checks_1_1dimensions__meanfield_1_1_addable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1compile__time__checks_1_1dimensions__meanfield_1_1_equality_comparable}{serif\+::compile\+\_\+time\+\_\+checks\+::dimensions\+\_\+meanfield\+::\+Equality\+Comparable}} }{\pageref{conceptserif_1_1compile__time__checks_1_1dimensions__meanfield_1_1_equality_comparable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_boundary}{serif\+::compile\+\_\+time\+\_\+checks\+::surface\+\_\+boundary\+::\+Builds\+Boundary}} }{\pageref{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_boundary}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_inputs}{serif\+::compile\+\_\+time\+\_\+checks\+::surface\+\_\+boundary\+::\+Builds\+Inputs}} }{\pageref{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_inputs}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_temporary_trace}{serif\+::compile\+\_\+time\+\_\+checks\+::surface\+\_\+boundary\+::\+Builds\+Temporary\+Trace}} }{\pageref{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_temporary_trace}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_trace}{serif\+::compile\+\_\+time\+\_\+checks\+::surface\+\_\+boundary\+::\+Builds\+Trace}} }{\pageref{conceptserif_1_1compile__time__checks_1_1surface__boundary_1_1_builds_trace}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1dimensions_1_1_physical_quantity_type}{serif\+::dimensions\+::\+Physical\+Quantity\+Type}} \\*Is compile-\/time true of the Quantity\+Candidate can have any const / volatile stripped and if its derived from Physical\+Quantity. Note all Thermodynamic\+Quantities will also satisfy this concept }{\pageref{conceptserif_1_1dimensions_1_1_physical_quantity_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1dimensions_1_1_quantity_value_type}{serif\+::dimensions\+::\+Quantity\+Value\+Type}} \\*Turn those compile time structs into a concept that can be used to constrain a template parameter }{\pageref{conceptserif_1_1dimensions_1_1_quantity_value_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1dimensions_1_1_thermodynamic_quantity_type}{serif\+::dimensions\+::\+Thermodynamic\+Quantity\+Type}} \\*Is compile-\/time true of the Quantity\+Candidate can have any const / volatile stripped and if its derived from Physical\+Quantity (both enforced through checking Physical\+Quantity\+Type) and then that is is also derived from Thermodynamic\+Quantity. Note not all physical quanties will satisfy this }{\pageref{conceptserif_1_1dimensions_1_1_thermodynamic_quantity_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1dimensions_1_1_thermodynamic_quantity_value_type}{serif\+::dimensions\+::\+Thermodynamic\+Quantity\+Value\+Type}} }{\pageref{conceptserif_1_1dimensions_1_1_thermodynamic_quantity_value_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1backend_1_1mfem_1_1_boundary_trace_term}{serif\+::discretization\+::backend\+::mfem\+::\+Boundary\+Trace\+Term}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1backend_1_1mfem_1_1_boundary_trace_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_field}{serif\+::discretization\+::blocks\+::\+Field}} \\*Concept for field types in the discretization framework. To be a field a type must derive from the field base class }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_field}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_global_scalar_term}{serif\+::discretization\+::blocks\+::\+Global\+Scalar\+Term}} \\*Concept for term types that are global scalar terms. A global scalar term is a term that has support (\doxylink{conceptserif_1_1discretization_1_1blocks_1_1_has_support}{Has\+Support}) but does not have a functional space (\doxylink{conceptserif_1_1discretization_1_1blocks_1_1_has_functional_space}{Has\+Functional\+Space}) and is derived from the global\+\_\+scalar class }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_global_scalar_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_has_functional_space}{serif\+::discretization\+::blocks\+::\+Has\+Functional\+Space}} \\*Concept for term types that have a functional space. To have a functional space a type must first be a valid \doxylink{conceptserif_1_1discretization_1_1blocks_1_1_term}{Term} and must have a Functional\+Space member type }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_has_functional_space}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_has_quantity}{serif\+::discretization\+::blocks\+::\+Has\+Quantity}} \\*Concept for term types that have a physical quantity associated with them. To have a quantity a type must first be a valid \doxylink{conceptserif_1_1discretization_1_1blocks_1_1_term}{Term} and must have a Quantity member type }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_has_quantity}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_has_residual_block}{serif\+::discretization\+::blocks\+::\+Has\+Residual\+Block}} \\*Concept for term types that have a residual block associated with them. To have a residual block a type must first be a valid \doxylink{conceptserif_1_1discretization_1_1blocks_1_1_term}{Term} and must have a residual member type }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_has_residual_block}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_has_support}{serif\+::discretization\+::blocks\+::\+Has\+Support}} \\*Concept for term types that have a domain over which they are supported. To have support a type must first be a valid \doxylink{conceptserif_1_1discretization_1_1blocks_1_1_term}{Term} and must have a Support member type }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_has_support}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_has_value_block}{serif\+::discretization\+::blocks\+::\+Has\+Value\+Block}} \\*Concept for term types that have a value block associated with them. To have a value block a type must first be a valid \doxylink{conceptserif_1_1discretization_1_1blocks_1_1_term}{Term} and must have a value member type }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_has_value_block}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_scalar_trace_term}{serif\+::discretization\+::blocks\+::\+Scalar\+Trace\+Term}} \\*A unique scalar boundary value is available for continuous scalar fields and scalar globals }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_scalar_trace_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_spatial_term}{serif\+::discretization\+::blocks\+::\+Spatial\+Term}} \\*Concept for term types that are spatial terms. A spatial term is a term that has a functional space (\doxylink{conceptserif_1_1discretization_1_1blocks_1_1_has_functional_space}{Has\+Functional\+Space}) and a support (\doxylink{conceptserif_1_1discretization_1_1blocks_1_1_has_support}{Has\+Support}) }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_spatial_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_system_layout_type}{serif\+::discretization\+::blocks\+::\+System\+Layout\+Type}} \\*Compile time check for a System\+Layout type, e.\+g. System\+Layout$<$\+Values, Residuals$>$ }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_system_layout_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1blocks_1_1_term}{serif\+::discretization\+::blocks\+::\+Term}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1blocks_1_1_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_boundary_is_identified_by}{serif\+::discretization\+::domain\+::\+Boundary\+Is\+Identified\+By}} \\*A concept to determine if a Boundary type is identified by a Boundary\+ID type. A Boundary type is identified by a Boundary\+ID type if the Boundary\+ID\textquotesingle{}s boundary\+\_\+type is the same as the Boundary type }{\pageref{conceptserif_1_1discretization_1_1domain_1_1_boundary_is_identified_by}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_domain_is_identified_by}{serif\+::discretization\+::domain\+::\+Domain\+Is\+Identified\+By}} \\*A concept to determine if a Domain type is identified by a Domain\+ID type. A Domain type is identified by a Domain\+ID type if the Domain\+ID\textquotesingle{}s domain\+\_\+type is the same as the Domain type }{\pageref{conceptserif_1_1discretization_1_1domain_1_1_domain_is_identified_by}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1_is_boundary_i_d}{serif\+::discretization\+::domain\+::ids\+::\+Is\+Boundary\+ID}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1_is_boundary_i_d}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1_is_domain_i_d}{serif\+::discretization\+::domain\+::ids\+::\+Is\+Domain\+ID}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1_is_domain_i_d}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1lists_1_1_is_boundary_i_d_list}{serif\+::discretization\+::domain\+::ids\+::lists\+::\+Is\+Boundary\+IDList}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1lists_1_1_is_boundary_i_d_list}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1lists_1_1_is_domain_i_d_list}{serif\+::discretization\+::domain\+::ids\+::lists\+::\+Is\+Domain\+IDList}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1lists_1_1_is_domain_i_d_list}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_are_distinct_boundary_i_ds}{serif\+::discretization\+::domain\+::ids\+::validation\+::\+Are\+Distinct\+Boundary\+IDs}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_are_distinct_boundary_i_ds}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_are_distinct_domain_i_ds}{serif\+::discretization\+::domain\+::ids\+::validation\+::\+Are\+Distinct\+Domain\+IDs}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_are_distinct_domain_i_ds}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_boundaries}{serif\+::discretization\+::domain\+::ids\+::validation\+::\+Have\+Unique\+Boundaries}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_boundaries}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_boundary_i_ds}{serif\+::discretization\+::domain\+::ids\+::validation\+::\+Have\+Unique\+Boundary\+IDs}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_boundary_i_ds}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_domain_i_ds}{serif\+::discretization\+::domain\+::ids\+::validation\+::\+Have\+Unique\+Domain\+IDs}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_domain_i_ds}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_domains}{serif\+::discretization\+::domain\+::ids\+::validation\+::\+Have\+Unique\+Domains}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1ids_1_1validation_1_1_have_unique_domains}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_boundary}{serif\+::discretization\+::domain\+::\+Is\+Boundary}} \\*A Boundary is a surface in the mesh. It is a base class for all boundary types }{\pageref{conceptserif_1_1discretization_1_1domain_1_1_is_boundary}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_domain}{serif\+::discretization\+::domain\+::\+Is\+Domain}} \\*\texorpdfstring{$<$}{<} }{\pageref{conceptserif_1_1discretization_1_1domain_1_1_is_domain}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_domain_or_set}{serif\+::discretization\+::domain\+::\+Is\+Domain\+Or\+Set}} \\*A concept to determine if a type is a Domain\+Or\+Set. A type is a Domain\+Or\+Set if it is either a Domain or a Domain\+Set }{\pageref{conceptserif_1_1discretization_1_1domain_1_1_is_domain_or_set}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1_is_domain_set}{serif\+::discretization\+::domain\+::\+Is\+Domain\+Set}} \\*A concept to determine if a type is a Domain\+Set. A type is a Domain\+Set if it satisfies the is\+\_\+domain\+\_\+set\+\_\+v trait }{\pageref{conceptserif_1_1discretization_1_1domain_1_1_is_domain_set}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1relation_1_1_is_relation}{serif\+::discretization\+::domain\+::relation\+::\+Is\+Relation}} \\*Concept to validate that a type is a relation. This concept checks if the type is derived from the Domain\+Relation base class }{\pageref{conceptserif_1_1discretization_1_1domain_1_1relation_1_1_is_relation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1relation_1_1lists_1_1_is_relation_list}{serif\+::discretization\+::domain\+::relation\+::lists\+::\+Is\+Relation\+List}} \\*Concept for relation list types in the discretization framework. To be a relation list, a type must satisfy the is\+\_\+relation\+\_\+list\+\_\+v trait }{\pageref{conceptserif_1_1discretization_1_1domain_1_1relation_1_1lists_1_1_is_relation_list}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1relation_1_1validation_1_1_have_valid_relation_entities}{serif\+::discretization\+::domain\+::relation\+::validation\+::\+Have\+Valid\+Relation\+Entities}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1relation_1_1validation_1_1_have_valid_relation_entities}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1domain_1_1schema_1_1_is_schema}{serif\+::discretization\+::domain\+::schema\+::\+Is\+Schema}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1domain_1_1schema_1_1_is_schema}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1forms_1_1_form}{serif\+::discretization\+::forms\+::\+Form}} \\*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 }{\pageref{conceptserif_1_1discretization_1_1forms_1_1_form}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1forms_1_1_is_operand}{serif\+::discretization\+::forms\+::\+Is\+Operand}} \\*Concept to validate a valid operand. An operand is valid if the following conditions are satisfied }{\pageref{conceptserif_1_1discretization_1_1forms_1_1_is_operand}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1forms_1_1_is_operation}{serif\+::discretization\+::forms\+::\+Is\+Operation}} }{\pageref{conceptserif_1_1discretization_1_1forms_1_1_is_operation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_configurable_integrator}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Configurable\+Integrator}} \\*A Configurable\+Integrator is an integrator that can be configured with an integration rule in some way (either by reference, by pointer, or by value) }{\pageref{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_configurable_integrator}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_pointer_set_integration_rule}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Has\+Pointer\+Set\+Integration\+Rule}} \\*A Has\+Pointer\+Set\+Integration\+Rule is an integrator that can be configured with a pointer to an integration rule }{\pageref{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_pointer_set_integration_rule}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_reference_set_integration_rule}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Has\+Reference\+Set\+Integration\+Rule}} \\*A Has\+Reference\+Set\+Integration\+Rule is an integrator that can be configured with a reference to an integration rule }{\pageref{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_reference_set_integration_rule}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_set_int_rule}{serif\+::discretization\+::quadrature\+::backend\+::mfem\+::\+Has\+Set\+Int\+Rule}} \\*A Has\+Set\+Int\+Rule is an integrator that can be configured with an integration rule by value }{\pageref{conceptserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_has_set_int_rule}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1models_1_1_e_o_s_model}{serif\+::eos\+::models\+::\+EOSModel}} \\*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 }{\pageref{conceptserif_1_1eos_1_1models_1_1_e_o_s_model}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1models_1_1_e_o_s_supporting_partial_derivative}{serif\+::eos\+::models\+::\+EOSSupporting\+Partial\+Derivative}} \\*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 EOSSupporting\+Partial\+Derivative if it satisfies the supports\+\_\+partial\+\_\+derivative\+\_\+v trait }{\pageref{conceptserif_1_1eos_1_1models_1_1_e_o_s_supporting_partial_derivative}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1models_1_1_e_o_s_supporting_relation}{serif\+::eos\+::models\+::\+EOSSupporting\+Relation}} \\*A concept to determine if a type is an equation of state model that supports a given relation. A type is a valid EOSSupporting\+Relation if it satisfies the supports\+\_\+relation\+\_\+v trait }{\pageref{conceptserif_1_1eos_1_1models_1_1_e_o_s_supporting_relation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1models_1_1_e_o_s_supporting_second_partial_derivative}{serif\+::eos\+::models\+::\+EOSSupporting\+Second\+Partial\+Derivative}} \\*Require a declared EOS relation and its analytic second partial }{\pageref{conceptserif_1_1eos_1_1models_1_1_e_o_s_supporting_second_partial_derivative}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1models_1_1_structure_seed_e_o_s}{serif\+::eos\+::models\+::\+Structure\+Seed\+EOS}} \\*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 }{\pageref{conceptserif_1_1eos_1_1models_1_1_structure_seed_e_o_s}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1relations_1_1_catalog_containing_relation}{serif\+::eos\+::relations\+::\+Catalog\+Containing\+Relation}} \\*A concept used to constrain a type to a catalog that contains a given relation }{\pageref{conceptserif_1_1eos_1_1relations_1_1_catalog_containing_relation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1relations_1_1_relation_containing_input}{serif\+::eos\+::relations\+::\+Relation\+Containing\+Input}} \\*A concept used to constrain a type to a relation that contains a given input quantity }{\pageref{conceptserif_1_1eos_1_1relations_1_1_relation_containing_input}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1relations_1_1_valid_relation_catalog}{serif\+::eos\+::relations\+::\+Valid\+Relation\+Catalog}} \\*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 }{\pageref{conceptserif_1_1eos_1_1relations_1_1_valid_relation_catalog}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1eos_1_1relations_1_1_valid_thermodynamic_relation}{serif\+::eos\+::relations\+::\+Valid\+Thermodynamic\+Relation}} \\*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 }{\pageref{conceptserif_1_1eos_1_1relations_1_1_valid_thermodynamic_relation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1equations_1_1_equation}{serif\+::equations\+::\+Equation}} \\*A concept that defines the requirements for a valid SERiF equation }{\pageref{conceptserif_1_1equations_1_1_equation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1equations_1_1_point_equation}{serif\+::equations\+::\+Point\+Equation}} \\*A concept that defines the requirements for a pointwise equation }{\pageref{conceptserif_1_1equations_1_1_point_equation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_deformation_dimensions}{serif\+::geometry\+::deformation\+::\+Deformation\+Dimensions}} \\*Matching lengths never replace the physical meanings of the input and output spaces }{\pageref{conceptserif_1_1geometry_1_1deformation_1_1_deformation_dimensions}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_deformation_map}{serif\+::geometry\+::deformation\+::\+Deformation\+Map}} }{\pageref{conceptserif_1_1geometry_1_1deformation_1_1_deformation_map}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_differentiable_deformation_map}{serif\+::geometry\+::deformation\+::\+Differentiable\+Deformation\+Map}} \\*Nonlinear maps explicitly provide every term needed by a Newton force pullback }{\pageref{conceptserif_1_1geometry_1_1deformation_1_1_differentiable_deformation_map}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1deformation_1_1_linear_deformation_map}{serif\+::geometry\+::deformation\+::\+Linear\+Deformation\+Map}} \\*Fixed maps provide just forward and transpose actions with caller-\/owned scratch }{\pageref{conceptserif_1_1geometry_1_1deformation_1_1_linear_deformation_map}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_automatic_pressure_surface_compilable}{serif\+::geometry\+::surface\+::\+Automatic\+Pressure\+Surface\+Compilable}} \\*Whether the available equations and numerical backend select one implementable isobaric residual }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_automatic_pressure_surface_compilable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1_pressure_boundary_formulation}{serif\+::geometry\+::surface\+::backend\+::mfem\+::\+Pressure\+Boundary\+Formulation}} \\*Isobaric rows are scalar nodal H1 equations with continuous scalar or global EOS inputs }{\pageref{conceptserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1_1_pressure_boundary_formulation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_eligible_surface_row}{serif\+::geometry\+::surface\+::detail\+::\+Eligible\+Surface\+Row}} \\*Strong boundary enforcement requires an actual solved, scalar H1 equation row }{\pageref{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_eligible_surface_row}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_thermodynamic_boundary_field}{serif\+::geometry\+::surface\+::detail\+::\+Thermodynamic\+Boundary\+Field}} \\*Globals require an explicit physical role\+: matching units alone would mistake C or a multiplier for enthalpy }{\pageref{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_thermodynamic_boundary_field}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_direct_pressure_surface_compilable}{serif\+::geometry\+::surface\+::\+Direct\+Pressure\+Surface\+Compilable}} \\*A direct pressure residual requires an explicitly chosen pressure relation and an input quantity whose equation row it replaces }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_direct_pressure_surface_compilable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_isobaric_surface_type}{serif\+::geometry\+::surface\+::\+Isobaric\+Surface\+Type}} }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_isobaric_surface_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_pressure_surface_compilable}{serif\+::geometry\+::surface\+::\+Pressure\+Surface\+Compilable}} \\*Whether the available state selects exactly one pressure-\/to-\/carrier EOS relation }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_pressure_surface_compilable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_pressure_surface_formulation_type}{serif\+::geometry\+::surface\+::\+Pressure\+Surface\+Formulation\+Type}} }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_pressure_surface_formulation_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_surface_residual_row}{serif\+::geometry\+::surface\+::\+Surface\+Residual\+Row}} \\*The quantity enforcing the boundary must have an actual equation row, not just sampled values }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_surface_residual_row}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_surface_scalar_term}{serif\+::geometry\+::surface\+::\+Surface\+Scalar\+Term}} \\*Scalar thermodynamic data may come from any declared scalar space; boundary enforcement is a separate backend capability }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_surface_scalar_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1_surface_state_bindings}{serif\+::geometry\+::surface\+::\+Surface\+State\+Bindings}} \\*Reuse dependency bindings, retaining distinct quantity roles even when they refer to one term }{\pageref{conceptserif_1_1geometry_1_1surface_1_1_surface_state_bindings}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_coefficient_input}{serif\+::model\+::backend\+::mfem\+::detail\+::\+Coefficient\+Input}} \\*Recognize a field view by its physical identity and backend coefficient representation }{\pageref{conceptserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_coefficient_input}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_prescribed_inputs_for}{serif\+::model\+::backend\+::mfem\+::detail\+::\+Prescribed\+Inputs\+For}} \\*Prescribed views must supply every unsolved input and cannot duplicate a solved coordinate }{\pageref{conceptserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_prescribed_inputs_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_reconstruction_specification}{serif\+::model\+::backend\+::mfem\+::detail\+::\+Reconstruction\+Specification}} \\*Recognize a field-\/specific reconstruction request without prescribing its numerical form }{\pageref{conceptserif_1_1model_1_1backend_1_1mfem_1_1detail_1_1_reconstruction_specification}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_can_evaluate}{serif\+::model\+::checks\+::\+Can\+Evaluate}} \\*Unsupported state and prescribed-\/field combinations must fail during overload selection }{\pageref{conceptserif_1_1model_1_1checks_1_1_can_evaluate}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_can_prepare_linear_system}{serif\+::model\+::checks\+::\+Can\+Prepare\+Linear\+System}} \\*Linear preparation needs both a selected recipe and a valid candidate binding }{\pageref{conceptserif_1_1model_1_1checks_1_1_can_prepare_linear_system}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_reads_field}{serif\+::model\+::checks\+::\+Reads\+Field}} \\*Check field availability and owner lifetime without instantiating a getter body }{\pageref{conceptserif_1_1model_1_1checks_1_1_reads_field}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_reads_layout}{serif\+::model\+::checks\+::\+Reads\+Layout}} \\*Layout references cannot survive destruction of a temporary owning state }{\pageref{conceptserif_1_1model_1_1checks_1_1_reads_layout}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1checks_1_1_reads_values}{serif\+::model\+::checks\+::\+Reads\+Values}} \\*Packed views must remain tied to an lvalue owning state }{\pageref{conceptserif_1_1model_1_1checks_1_1_reads_values}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_dimensional_scalar_specification}{serif\+::model\+::\+Dimensional\+Scalar\+Specification}} \\*Require exact dimensional agreement only when scalar numerical metadata is needed }{\pageref{conceptserif_1_1model_1_1_dimensional_scalar_specification}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_equilibrium_equation_description}{serif\+::model\+::\+Equilibrium\+Equation\+Description}} \\*Recognize composition without instantiating any numerical equation contract }{\pageref{conceptserif_1_1model_1_1_equilibrium_equation_description}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_executable_equilibrium_description}{serif\+::model\+::\+Executable\+Equilibrium\+Description}} \\*Recognize current equation backends without instantiating an invalid complete plan }{\pageref{conceptserif_1_1model_1_1_executable_equilibrium_description}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_executable_interior_equations}{serif\+::model\+::\+Executable\+Interior\+Equations}} \\*The current interior backend can evaluate every explicitly listed equation }{\pageref{conceptserif_1_1model_1_1_executable_interior_equations}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_has_unique_specification_for_role}{serif\+::model\+::\+Has\+Unique\+Specification\+For\+Role}} }{\pageref{conceptserif_1_1model_1_1_has_unique_specification_for_role}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_model_specification}{serif\+::model\+::\+Model\+Specification}} \\*Recognize a self-\/describing prescription without demanding executable physics or optional metadata }{\pageref{conceptserif_1_1model_1_1_model_specification}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1normalization_1_1detail_1_1_reference_available}{serif\+::model\+::normalization\+::detail\+::\+Reference\+Available}} \\*Explicit reference values take precedence over model defaults without changing physical prescriptions }{\pageref{conceptserif_1_1model_1_1normalization_1_1detail_1_1_reference_available}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1normalization_1_1_reference_resolvable}{serif\+::model\+::normalization\+::\+Reference\+Resolvable}} \\*Check model-\/provided reference requirements before instantiating numerical preparation }{\pageref{conceptserif_1_1model_1_1normalization_1_1_reference_resolvable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_specification_backend_available}{serif\+::model\+::\+Specification\+Backend\+Available}} \\*Require a registered implementation for every declared generated derivative, including explicit zeros }{\pageref{conceptserif_1_1model_1_1_specification_backend_available}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_specification_endpoints_valid}{serif\+::model\+::\+Specification\+Endpoints\+Valid}} \\*Validate physical ownership, available inputs and uniquely owned generated equations }{\pageref{conceptserif_1_1model_1_1_specification_endpoints_valid}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_specification_topology_valid}{serif\+::model\+::\+Specification\+Topology\+Valid}} \\*Validate physical endpoints and every derivative in an explicitly declared contract }{\pageref{conceptserif_1_1model_1_1_specification_topology_valid}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_stellar_model_type}{serif\+::model\+::\+Stellar\+Model\+Type}} \\*Safely recognize descriptions, including when presented with an incomplete specialization }{\pageref{conceptserif_1_1model_1_1_stellar_model_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1model_1_1_valid_specification_pack}{serif\+::model\+::\+Valid\+Specification\+Pack}} \\*Prescriptions accompany one separately owned EOS; no numerical capability is assumed }{\pageref{conceptserif_1_1model_1_1_valid_specification_pack}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1backend_1_1mfem_1_1_closure_inputs_accept}{serif\+::operators\+::backend\+::mfem\+::\+Closure\+Inputs\+Accept}} }{\pageref{conceptserif_1_1operators_1_1backend_1_1mfem_1_1_closure_inputs_accept}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1backend_1_1mfem_1_1_closure_result}{serif\+::operators\+::backend\+::mfem\+::\+Closure\+Result}} }{\pageref{conceptserif_1_1operators_1_1backend_1_1mfem_1_1_closure_result}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1backend_1_1mfem_1_1_evaluable_operand}{serif\+::operators\+::backend\+::mfem\+::\+Evaluable\+Operand}} \\*Check the complete interface used by preparation, Jacobian application, and its transpose }{\pageref{conceptserif_1_1operators_1_1backend_1_1mfem_1_1_evaluable_operand}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_mapped_operand}{serif\+::operators\+::\+Mapped\+Operand}} \\*Mathematical operand combinations implemented by the current volume backend }{\pageref{conceptserif_1_1operators_1_1_mapped_operand}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_scalar_gradient_operand}{serif\+::operators\+::\+Scalar\+Gradient\+Operand}} \\*A conforming scalar gradient; discontinuous fields also require face terms }{\pageref{conceptserif_1_1operators_1_1_scalar_gradient_operand}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_scalar_value_operand}{serif\+::operators\+::\+Scalar\+Value\+Operand}} }{\pageref{conceptserif_1_1operators_1_1_scalar_value_operand}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_scalar_value_term}{serif\+::operators\+::\+Scalar\+Value\+Term}} }{\pageref{conceptserif_1_1operators_1_1_scalar_value_term}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_scalar_volume_equation}{serif\+::operators\+::\+Scalar\+Volume\+Equation}} \\*Equations executable by the current scalar-\/value volume operator }{\pageref{conceptserif_1_1operators_1_1_scalar_volume_equation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_vector_gradient_operand}{serif\+::operators\+::\+Vector\+Gradient\+Operand}} \\*Full vector gradients are supported for componentwise H1 fields }{\pageref{conceptserif_1_1operators_1_1_vector_gradient_operand}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1operators_1_1_volume_equation}{serif\+::operators\+::\+Volume\+Equation}} \\*One or more supported weak volume contributions assembled into a single residual row }{\pageref{conceptserif_1_1operators_1_1_volume_equation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1continuation_1_1_coordinate_value}{serif\+::solver\+::continuation\+::\+Coordinate\+Value}} }{\pageref{conceptserif_1_1solver_1_1continuation_1_1_coordinate_value}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1continuation_1_1detail_1_1_bindable_family}{serif\+::solver\+::continuation\+::detail\+::\+Bindable\+Family}} }{\pageref{conceptserif_1_1solver_1_1continuation_1_1detail_1_1_bindable_family}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1continuation_1_1detail_1_1_law_definition}{serif\+::solver\+::continuation\+::detail\+::\+Law\+Definition}} }{\pageref{conceptserif_1_1solver_1_1continuation_1_1detail_1_1_law_definition}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1continuation_1_1_identified_specification}{serif\+::solver\+::continuation\+::\+Identified\+Specification}} \\*Require explicit identity data, never an object address or incidental memory representation }{\pageref{conceptserif_1_1solver_1_1continuation_1_1_identified_specification}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1continuation_1_1_physical_parameter}{serif\+::solver\+::continuation\+::\+Physical\+Parameter}} \\*A typed physical parameter owns its domain predicate, units, owner, and stable identity }{\pageref{conceptserif_1_1solver_1_1continuation_1_1_physical_parameter}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1detail_1_1_newton_strategy_for}{serif\+::solver\+::detail\+::\+Newton\+Strategy\+For}} \\*A custom method must supply the exact correction contract; malformed overrides never select a fallback }{\pageref{conceptserif_1_1solver_1_1detail_1_1_newton_strategy_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_can_declare_layout}{serif\+::solver\+::normalization\+::checks\+::\+Can\+Declare\+Layout}} \\*Keep invalid layout declarations safely testable without instantiating their storage }{\pageref{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_can_declare_layout}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_can_declare_runtime_method}{serif\+::solver\+::normalization\+::checks\+::\+Can\+Declare\+Runtime\+Method}} \\*Require explicit policy identity rather than accepting unrelated preparation-\/like objects }{\pageref{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_can_declare_runtime_method}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_has_default_dimensionless_geometry}{serif\+::solver\+::normalization\+::checks\+::\+Has\+Default\+Dimensionless\+Geometry}} \\*Custom metrics must state their coordinate convention instead of silently assuming volume weighting }{\pageref{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_has_default_dimensionless_geometry}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_complete_normalization_for}{serif\+::solver\+::normalization\+::\+Complete\+Normalization\+For}} }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_complete_normalization_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_coordinate_layout_type}{serif\+::solver\+::normalization\+::\+Coordinate\+Layout\+Type}} \\*Normalization consumes the same coordinate representation as physical operators and solvers }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_coordinate_layout_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1detail_1_1_provides_scale}{serif\+::solver\+::normalization\+::detail\+::\+Provides\+Scale}} }{\pageref{conceptserif_1_1solver_1_1normalization_1_1detail_1_1_provides_scale}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_metric_for}{serif\+::solver\+::normalization\+::\+Metric\+For}} }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_metric_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_plan_type}{serif\+::solver\+::normalization\+::\+Normalization\+Plan\+Type}} }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_normalization_plan_type}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_preparable}{serif\+::solver\+::normalization\+::\+Normalization\+Preparable}} }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_normalization_preparable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_prescription}{serif\+::solver\+::normalization\+::\+Normalization\+Prescription}} }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_normalization_prescription}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_reference_scheme}{serif\+::solver\+::normalization\+::\+Reference\+Scheme}} \\*A custom stellar reference strategy supplies the same typed scales and ordinary failure value }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_reference_scheme}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_stellar_scale_quantity}{serif\+::solver\+::normalization\+::\+Stellar\+Scale\+Quantity}} \\*Quantities whose characteristic scales follow from reference mass, radius, and G alone }{\pageref{conceptserif_1_1solver_1_1normalization_1_1_stellar_scale_quantity}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_has_offset}{serif\+::solver\+::preconditioner\+::checks\+::\+Has\+Offset}} \\*Malformed coordinate requests remain detection-\/safe on the owning metadata as well }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_has_offset}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_has_primal_preconditioner}{serif\+::solver\+::preconditioner\+::checks\+::\+Has\+Primal\+Preconditioner}} \\*Keep unsupported coordinate sets out of the primal recipe before its body is instantiated }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_has_primal_preconditioner}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_reads_block}{serif\+::solver\+::preconditioner\+::checks\+::\+Reads\+Block}} \\*Only declared equation/unknown pairs are exposed by a borrowed linearization }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_reads_block}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_reads_coordinate}{serif\+::solver\+::preconditioner\+::checks\+::\+Reads\+Coordinate}} \\*Detection of an absent coordinate must fail in constraints instead of instantiating a function body }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_reads_coordinate}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_restrictable}{serif\+::solver\+::preconditioner\+::checks\+::\+Restrictable}} \\*A borrowed raw operator cannot satisfy factories which retain their numerical prerequisites }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1checks_1_1_restrictable}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1_disjoint_subsystems}{serif\+::solver\+::preconditioner\+::\+Disjoint\+Subsystems}} \\*Require disjoint ownership on both sides rather than silently deduplicating physical coordinates }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1_disjoint_subsystems}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1solver_1_1preconditioner_1_1_primal_preconditioner_layout}{serif\+::solver\+::preconditioner\+::\+Primal\+Preconditioner\+Layout}} \\*Require density and potential fields with paired optional shape and scalar constraints }{\pageref{conceptserif_1_1solver_1_1preconditioner_1_1_primal_preconditioner_layout}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_bindings_with_binding}{serif\+::utils\+::dependencies\+::\+Bindings\+With\+Binding}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_bindings_with_binding}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_can_prepare}{serif\+::utils\+::dependencies\+::\+Can\+Prepare}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_can_prepare}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_compatible_computations}{serif\+::utils\+::dependencies\+::\+Compatible\+Computations}} \\*A computational graph needs unique producers, valid input ownership, and no cycles }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_compatible_computations}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_computation_graph_for}{serif\+::utils\+::dependencies\+::\+Computation\+Graph\+For}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_computation_graph_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_contains_key}{serif\+::utils\+::dependencies\+::\+Contains\+Key}} \\*Test exact key membership, rejecting malformed and duplicate-\/key lists }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_contains_key}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_binding}{serif\+::utils\+::dependencies\+::\+Is\+Binding}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_binding}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_bindings}{serif\+::utils\+::dependencies\+::\+Is\+Bindings}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_bindings}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_computation}{serif\+::utils\+::dependencies\+::\+Is\+Computation}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_computation}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_computation_graph}{serif\+::utils\+::dependencies\+::\+Is\+Computation\+Graph}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_computation_graph}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_dependency_context}{serif\+::utils\+::dependencies\+::\+Is\+Dependency\+Context}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_dependency_context}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_key_list}{serif\+::utils\+::dependencies\+::\+Is\+Key\+List}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_key_list}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_resource}{serif\+::utils\+::dependencies\+::\+Is\+Resource}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_is_resource}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_keyed_node_observer_callbacks}{serif\+::utils\+::dependencies\+::\+Keyed\+Node\+Observer\+Callbacks}} \\*An all-\/node callback receives the compiled result identity before creating its invocation state }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_keyed_node_observer_callbacks}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_node_observer_callbacks}{serif\+::utils\+::dependencies\+::\+Node\+Observer\+Callbacks}} \\*Completion must be safe during stack unwinding and receives the state created by the before hook }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_node_observer_callbacks}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_node_timing_clock}{serif\+::utils\+::dependencies\+::\+Node\+Timing\+Clock}} \\*Restrict injected clocks to ordinary arithmetic chrono values safe in a closing callback }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_node_timing_clock}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_observers_for}{serif\+::utils\+::dependencies\+::\+Observers\+For}} \\*Reject unknown nodes, nonexistent edges, and callbacks that cannot observe the graph\textquotesingle{}s immutable values }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_observers_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_satisfies_key_list}{serif\+::utils\+::dependencies\+::\+Satisfies\+Key\+List}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_satisfies_key_list}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_snapshot_policy_for}{serif\+::utils\+::dependencies\+::\+Snapshot\+Policy\+For}} }{\pageref{conceptserif_1_1utils_1_1dependencies_1_1_snapshot_policy_for}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_all_types_are_unique}{serif\+::utils\+::misc\+::concepts\+::\+All\+Types\+Are\+Unique}} }{\pageref{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_all_types_are_unique}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_is_comparable_to_numeric}{serif\+::utils\+::misc\+::concepts\+::\+Is\+Comparable\+To\+Numeric}} }{\pageref{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_is_comparable_to_numeric}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_is_exception}{serif\+::utils\+::misc\+::concepts\+::\+Is\+Exception}} }{\pageref{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_is_exception}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_is_numeric}{serif\+::utils\+::misc\+::concepts\+::\+Is\+Numeric}} }{\pageref{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_is_numeric}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_set_of_one_or_two}{serif\+::utils\+::misc\+::concepts\+::\+Set\+Of\+One\+Or\+Two}} }{\pageref{conceptserif_1_1utils_1_1misc_1_1concepts_1_1_set_of_one_or_two}}{}
|
|
\item\contentsline{section}{\mbox{\hyperlink{conceptserif_1_1utils_1_1projection_1_1_radial_function}{serif\+::utils\+::projection\+::\+Radial\+Function}} \\*A radial profile accepts physical radius and returns a value or a numerical rejection }{\pageref{conceptserif_1_1utils_1_1projection_1_1_radial_function}}{}
|
|
\end{DoxyCompactList}
|