.TH "serif::geometry::surface" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME serif::geometry::surface .SH SYNOPSIS .br .PP .SS "Namespaces" .in +1c .ti -1c .RI "namespace \fBbackend\fP" .br .ti -1c .RI "namespace \fBdetail\fP" .br .ti -1c .RI "namespace \fBkeys\fP" .br .in -1c .SS "Classes" .in +1c .ti -1c .RI "struct \fBAutomaticPressureSurface\fP" .br .RI "Compile an isobaric condition from available physical fields, actual equation rows, and the EOS catalog\&. " .ti -1c .RI "struct \fBBoundaryValues\fP" .br .RI "Values of one scalar term at an ordered collection of boundary points\&. " .ti -1c .RI "struct \fBDirectPressureSurfaceFormulation\fP" .br .RI "Enforce P_EOS(state) - P_surface = 0 without inventing an inverse EOS relation\&. " .ti -1c .RI "struct \fBInversePressureSurfaceFormulation\fP" .br .RI "A selected explicit inverse relation; choosing it requires no numerical EOS inversion\&. " .ti -1c .RI "class \fBIsobaricSurface\fP" .br .ti -1c .RI "struct \fBPressureFieldSurfaceFormulation\fP" .br .RI "An existing pressure unknown enforces P - P_surface directly, without evaluating the EOS\&. " .ti -1c .RI "struct \fBPressureSurfaceDescriptor\fP" .br .ti -1c .RI "struct \fBPressureSurfaceFormulation\fP" .br .RI "The boundary residual is carrier minus the EOS value at prescribed pressure; no carrier quantity is privileged\&. " .ti -1c .RI "struct \fBSurfaceEOSResponse\fP" .br .RI "An EOS value and all of its local derivatives, evaluated together at one state\&. " .ti -1c .RI "struct \fBSurfaceFailure\fP" .br .RI "A rejected thermodynamic candidate, with a sample index when evaluating a boundary batch\&. " .in -1c .SS "Concepts" .in +1c .ti -1c .RI "concept \fBAutomaticPressureSurfaceCompilable\fP" .br .RI "Whether the available equations and numerical backend select one implementable isobaric residual\&. " .ti -1c .RI "concept \fBPressureSurfaceCompilable\fP" .br .RI "Whether the available state selects exactly one pressure-to-carrier EOS relation\&. " .ti -1c .RI "concept \fBDirectPressureSurfaceCompilable\fP" .br .RI "A direct pressure residual requires an explicitly chosen pressure relation and an input quantity whose equation row it replaces\&. " .ti -1c .RI "concept \fBPressureSurfaceFormulationType\fP" .br .ti -1c .RI "concept \fBSurfaceScalarTerm\fP" .br .RI "Scalar thermodynamic data may come from any declared scalar space; boundary enforcement is a separate backend capability\&. " .ti -1c .RI "concept \fBSurfaceStateBindings\fP" .br .RI "Reuse dependency bindings, retaining distinct quantity roles even when they refer to one term\&. " .ti -1c .RI "concept \fBSurfaceResidualRow\fP" .br .RI "The quantity enforcing the boundary must have an actual equation row, not just sampled values\&. " .ti -1c .RI "concept \fBIsobaricSurfaceType\fP" .br .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "template using \fBpressure_relation_t\fP = std::tuple_element_t<0, typename \fBdetail::MatchingPressureRelations\fP, std::remove_cvref_t, Carrier, typename std::remove_cvref_t::Relations>::Matches>" .br .ti -1c .RI "using \fBIsobaric\fP = \fBIsobaricSurface\fP" .br .ti -1c .RI "template using \fBSurfacePoint\fP = \fBequations::EquationPoint\fP" .br .ti -1c .RI "template using \fBSurfaceLinearization\fP = \fBequations::PointLinearization\fP" .br .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum class \fBPressureSurfaceSelection\fP { \fBsupported\fP, \fBunavailable\fP, \fBambiguous\fP }" .br .ti -1c .RI "enum class \fBSurfaceFailureReason\fP { \fBnon_finite_state\fP, \fBnon_finite_eos_response\fP, \fBnon_finite_linearization\fP, \fBinconsistent_sample_count\fP, \fBempty_surface\fP }" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template typename SampleKey = std::type_identity_t> auto \fBmake_pressure_surface_computations\fP ()" .br .RI "Expose the existing EOS and residual stages for composition with backend sampling or other physics\&. " .ti -1c .RI "template auto \fBmake_pressure_surface_graph\fP ()" .br .RI "Describe the isobaric calculation as an ordinary dependency graph, without evaluating the EOS\&. " .ti -1c .RI "template .br requires PressureSurfaceCompilableauto \fBmake_pressure_surface_graph\fP ()" .br .RI "Infer a unique carrier-resolved formulation directly from an EOS and the available physical state\&. " .ti -1c .RI "template std::expected< \fBSurfaceLinearization\fP< Formulation >, \fBSurfaceFailure\fP > \fBevaluate_pressure_surface\fP (const typename Formulation::EquationOfState &equation_of_state, const \fBIsobaricSurface\fP &condition, const \fBSurfacePoint\fP< Formulation > &point)" .br .RI "Evaluate the chosen isobaric residual and its analytical derivatives at one boundary point\&. " .ti -1c .RI "template auto \fBboundary_values\fP (std::vector< double > values)" .br .RI "Supply owned boundary samples to an ordinary dependency context, keyed by their physical term\&. " .ti -1c .RI "auto \fBpressure_condition\fP (\fBIsobaricSurface\fP condition)" .br .RI "Supply the isobaric condition as an owned dependency source, with pressure tracked by value\&. " .in -1c .SH "Typedef Documentation" .PP .SS "using \fBserif::geometry::surface::Isobaric\fP = \fBIsobaricSurface\fP" .SS "template using \fBserif::geometry::surface::pressure_relation_t\fP = std::tuple_element_t<0, typename \fBdetail::MatchingPressureRelations\fP, std::remove_cvref_t, Carrier, typename std::remove_cvref_t::Relations>::Matches>" .SS "template using \fBserif::geometry::surface::SurfaceLinearization\fP = \fBequations::PointLinearization\fP" .SS "template using \fBserif::geometry::surface::SurfacePoint\fP = \fBequations::EquationPoint\fP" .SH "Enumeration Type Documentation" .PP .SS "enum class \fBserif::geometry::surface::PressureSurfaceSelection\fP\fR [strong]\fP" .PP \fBEnumerator\fP .in +1c .TP \f(BIsupported \fP .TP \f(BIunavailable \fP .TP \f(BIambiguous \fP .SS "enum class \fBserif::geometry::surface::SurfaceFailureReason\fP\fR [strong]\fP" .PP \fBEnumerator\fP .in +1c .TP \f(BInon_finite_state \fP .TP \f(BInon_finite_eos_response \fP .TP \f(BInon_finite_linearization \fP .TP \f(BIinconsistent_sample_count \fP .TP \f(BIempty_surface \fP .SH "Function Documentation" .PP .SS "template auto serif::geometry::surface::boundary_values (std::vector< double > values)\fR [nodiscard]\fP" .PP Supply owned boundary samples to an ordinary dependency context, keyed by their physical term\&. .SS "template std::expected< \fBSurfaceLinearization\fP< Formulation >, \fBSurfaceFailure\fP > serif::geometry::surface::evaluate_pressure_surface (const typename Formulation::EquationOfState & equation_of_state, const \fBIsobaricSurface\fP & condition, const \fBSurfacePoint\fP< Formulation > & point)\fR [nodiscard]\fP" .PP Evaluate the chosen isobaric residual and its analytical derivatives at one boundary point\&. .PP \fBParameters\fP .RS 4 \fIequation_of_state\fP The EOS declared by Formulation\&. .br \fIcondition\fP The prescribed surface pressure, independent of the choice of carrier\&. .br \fIpoint\fP Values of the formulation's bound scalar terms, already sampled at a common boundary point\&. .RE .PP \fBReturns\fP .RS 4 A conventional equation linearization, or a numerical rejection\&. No preparation or borrowed state is retained\&. .RE .PP \fBNote\fP .RS 4 Domain exceptions from an existing throwing EOS propagate; no exception is used for surface validation\&. .RE .PP .SS "template typename SampleKey = std::type_identity_t> auto serif::geometry::surface::make_pressure_surface_computations ()\fR [nodiscard]\fP" .PP Expose the existing EOS and residual stages for composition with backend sampling or other physics\&. .SS "template auto serif::geometry::surface::make_pressure_surface_graph ()\fR [nodiscard]\fP" .PP Describe the isobaric calculation as an ordinary dependency graph, without evaluating the EOS\&. .PP \fBTemplate Parameters\fP .RS 4 \fIFormulation\fP A carrier-resolved or explicitly selected direct-pressure surface formulation\&. .RE .PP \fBReturns\fP .RS 4 Two computations: the EOS response and the boundary residual with analytical derivatives\&. .RE .PP \fBNote\fP .RS 4 Supply pressure_condition and boundary_values, and bind \fBkeys::EquationOfState\fP with a tracking policy when the formulation uses the EOS\&. A pressure-field formulation needs no EOS source\&. Use make_computation_cache and its normal try_prepare/get interface; the cache owns the complete preparation lifecycle\&. .RE .PP .SS "template .br requires PressureSurfaceCompilableauto serif::geometry::surface::make_pressure_surface_graph ()\fR [nodiscard]\fP" .PP Infer a unique carrier-resolved formulation directly from an EOS and the available physical state\&. .SS "auto serif::geometry::surface::pressure_condition (\fBIsobaricSurface\fP condition)\fR [inline]\fP, \fR [nodiscard]\fP" .PP Supply the isobaric condition as an owned dependency source, with pressure tracked by value\&. .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.