Files
MeanField_SERiF/docs/man/man3/specification.hpp.3
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

130 lines
4.4 KiB
Groff

.TH "src/include/serif/model/specification.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
src/include/serif/model/specification.hpp
.SH SYNOPSIS
.br
.PP
\fR#include <array>\fP
.br
\fR#include <concepts>\fP
.br
\fR#include <limits>\fP
.br
\fR#include <string_view>\fP
.br
\fR#include <type_traits>\fP
.br
\fR#include 'serif/dimensions/quantities\&.hpp'\fP
.br
\fR#include 'serif/utils/types/strings\&.hpp'\fP
.br
\fR#include 'serif/utils/types/type_list\&.hpp'\fP
.br
.SS "Classes"
.in +1c
.ti -1c
.RI "struct \fBserif::model::ScalarConstraint< Target, Coordinate, Residual, CoordinateId, CoordinateSymbol, ResidualId, ResidualSymbol >\fP"
.br
.RI "Declare independent target, unknown and residual units and stable descriptive identities\&. "
.ti -1c
.RI "struct \fBserif::model::SpecificationDefinition< Owner, Name, Role, Kind, Scalar, ReadFields, ChangedEquations >\fP"
.br
.RI "Declare a prescription once; numerical providers and normalization consume this metadata\&. "
.ti -1c
.RI "struct \fBserif::model::GeneratedCoordinateOf< Specification >\fP"
.br
.RI "Name another prescription, including a forward declaration, without erasing its identity\&. "
.ti -1c
.RI "struct \fBserif::model::ConstraintOf< Specification >\fP"
.br
.RI "Identify a generated residual independently from its target and unknown units\&. "
.ti -1c
.RI "struct \fBserif::model::EnforcementOf< Specification >\fP"
.br
.RI "Select an explicit numerical enforcement while preserving the public physical prescription\&. "
.ti -1c
.RI "struct \fBserif::model::SpecificationDescriptor\fP"
.br
.RI "Inspect canonical prescription identity without claiming numerical availability\&. "
.in -1c
.SS "Namespaces"
.in +1c
.ti -1c
.RI "namespace \fBserif\fP"
.br
.ti -1c
.RI "namespace \fBserif::model\fP"
.br
.ti -1c
.RI "namespace \fBserif::model::detail\fP"
.br
.in -1c
.SS "Concepts"
.in +1c
.ti -1c
.RI "concept \fBserif::model::ModelSpecification\fP"
.br
.RI "Recognize a self-describing prescription without demanding executable physics or optional metadata\&. "
.ti -1c
.RI "concept \fBserif::model::DimensionalScalarSpecification\fP"
.br
.RI "Require exact dimensional agreement only when scalar numerical metadata is needed\&. "
.in -1c
.SS "Typedefs"
.in +1c
.ti -1c
.RI "template<typename\&.\&.\&. Fields> using \fBserif::model::Reads\fP = \fButils::types::TypeList\fP<Fields\&.\&.\&.>"
.br
.ti -1c
.RI "template<typename\&.\&.\&. Equations> using \fBserif::model::Changes\fP = \fButils::types::TypeList\fP<Equations\&.\&.\&.>"
.br
.ti -1c
.RI "template<DimensionalScalarSpecification Specification> using \fBserif::model::GeneratedCoordinateQuantity\fP = typename Specification::ModelDefinition::ScalarDescription::CoordinateQuantity"
.br
.RI "Query scalar units only once the owning prescription is complete\&. "
.ti -1c
.RI "template<DimensionalScalarSpecification Specification> using \fBserif::model::ConstraintQuantity\fP = typename Specification::ModelDefinition::ScalarDescription::ResidualQuantity"
.br
.RI "Residual units remain independent from the target and generated coordinate\&. "
.in -1c
.SS "Enumerations"
.in +1c
.ti -1c
.RI "enum class \fBserif::model::SpecificationRole\fP { \fBserif::model::constitutive_law\fP, \fBserif::model::boundary_condition\fP, \fBserif::model::invariant\fP, \fBserif::model::phase_condition\fP, \fBserif::model::gauge_choice\fP, \fBserif::model::rotation_law\fP }"
.br
.RI "Physical purpose of a prescription, independently of its numerical implementation\&. "
.ti -1c
.RI "enum class \fBserif::model::GeneratedStateKind\fP { \fBserif::model::none\fP, \fBserif::model::multiplier\fP, \fBserif::model::physical_coordinate\fP, \fBserif::model::solver_border\fP }"
.br
.RI "Distinguish prescribed physics from the physical meaning of a generated scalar\&. "
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "consteval bool \fBserif::model::detail::compatible_generated_state\fP (\fBSpecificationRole\fP role, \fBGeneratedStateKind\fP kind)"
.br
.RI "Reject unknown enums and mismatched physical roles before inspecting optional scalar metadata\&. "
.in -1c
.SS "Variables"
.in +1c
.ti -1c
.RI "template<typename Candidate> constexpr bool \fBserif::model::detail::is_type_list\fP = false"
.br
.ti -1c
.RI "template<typename\&.\&.\&. Types> constexpr bool \fBserif::model::detail::is_type_list< utils::types::TypeList< Types\&.\&.\&. > >\fP = true"
.br
.in -1c
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.