261 lines
9.8 KiB
Groff
261 lines
9.8 KiB
Groff
|
|
.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<typename EOS, typename Bindings, typename Carrier = void> using \fBpressure_relation_t\fP = std::tuple_element_t<0, typename \fBdetail::MatchingPressureRelations\fP<std::remove_cvref_t<EOS>, std::remove_cvref_t<Bindings>, Carrier, typename std::remove_cvref_t<EOS>::Relations>::Matches>"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "using \fBIsobaric\fP = \fBIsobaricSurface\fP"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "template<PressureSurfaceFormulationType Formulation> using \fBSurfacePoint\fP = \fBequations::EquationPoint\fP<typename Formulation::Operands>"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "template<PressureSurfaceFormulationType Formulation> using \fBSurfaceLinearization\fP = \fBequations::PointLinearization\fP<typename Formulation::Operands>"
|
||
|
|
.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<PressureSurfaceFormulationType Formulation, template< typename > 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<PressureSurfaceFormulationType Formulation> 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<typename EOS, typename Bindings, typename Carrier = void>
|
||
|
|
.br
|
||
|
|
requires PressureSurfaceCompilable<EOS, Bindings, Carrier>auto \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<PressureSurfaceFormulationType Formulation> 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<SurfaceScalarTerm Term> 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<typename EOS, typename Bindings, typename Carrier = void> using \fBserif::geometry::surface::pressure_relation_t\fP = std::tuple_element_t<0, typename \fBdetail::MatchingPressureRelations\fP<std::remove_cvref_t<EOS>, std::remove_cvref_t<Bindings>, Carrier, typename std::remove_cvref_t<EOS>::Relations>::Matches>"
|
||
|
|
|
||
|
|
.SS "template<PressureSurfaceFormulationType Formulation> using \fBserif::geometry::surface::SurfaceLinearization\fP = \fBequations::PointLinearization\fP<typename Formulation::Operands>"
|
||
|
|
|
||
|
|
.SS "template<PressureSurfaceFormulationType Formulation> using \fBserif::geometry::surface::SurfacePoint\fP = \fBequations::EquationPoint\fP<typename Formulation::Operands>"
|
||
|
|
|
||
|
|
.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<SurfaceScalarTerm Term> 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<PressureSurfaceFormulationType Formulation> 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<PressureSurfaceFormulationType Formulation, template< typename > 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<PressureSurfaceFormulationType Formulation> 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<SurfaceFailure> and its normal try_prepare/get interface; the cache owns the complete preparation lifecycle\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SS "template<typename EOS, typename Bindings, typename Carrier = void>
|
||
|
|
.br
|
||
|
|
requires PressureSurfaceCompilable<EOS, Bindings, Carrier>auto 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\&.
|