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)
146 lines
6.0 KiB
Groff
146 lines
6.0 KiB
Groff
.TH "serif::discretization::domain::schema::validation" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::discretization::domain::schema::validation
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.SS "Classes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "struct \fBDomainBoundary\fP"
|
|
.br
|
|
.RI "Compile time type representing the domain boundary relation between a boundary and one or two domains\&. This relation states that the boundary is exactly the surface between the specified domains\&. We enforce here that the size of the DomainTs pack is either one or two, as a boundary can only be associated with one or two domains\&. If it is one domain then the boundary is the surface of that domain, if it is two domains then the boundary is the interface between those two domains\&. "
|
|
.ti -1c
|
|
.RI "struct \fBFullyConnected\fP"
|
|
.br
|
|
.RI "Compile time type representing the fully connected relation for a domain or set\&. This relation states that the domain is a single connected blob of elements, not two separate pieces\&. "
|
|
.ti -1c
|
|
.RI "struct \fBInscribed\fP"
|
|
.br
|
|
.RI "Compile time type representing the inscribed relation between two domains or sets\&. This relation states that every face of the inner domain (A) that is not interior to A borders the outer domain (B)\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationValidationResult\fP"
|
|
.br
|
|
.RI "Struct representing the result of validating a relation in the domain module\&. It contains information about the validation failure, if any, and optional diagnostics for specific relation types\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationValidator\fP"
|
|
.br
|
|
.RI "Primary template for \fBRelationValidator\fP\&. Each relation kind is validated by an explicit specialization of this template, which lives in a sibling header (\fBinscribed\&.hpp\fP, \fBconnected\&.hpp\fP, boundary\&.hpp)\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationValidator< DomainBoundary< BoundaryT, DomainTs\&.\&.\&. > >\fP"
|
|
.br
|
|
.RI "Specialization of \fBRelationValidator\fP for \fBDomainBoundary\fP relations\&. This relation enforces that a boundary element is adjacent to exactly one or two volume elements\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationValidator< FullyConnected< DomainT > >\fP"
|
|
.br
|
|
.RI "Specialization of \fBRelationValidator\fP for \fBFullyConnected\fP relations\&. This relation enforces that a domain is fully connected, meaning that all elements of the domain are reachable from any other element of the domain\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationValidator< Inscribed< InnerT, OuterT > >\fP"
|
|
.br
|
|
.RI "Specialization of \fBRelationValidator\fP for \fBInscribed\fP relations\&. This relation enforces that an inner domain is inscribed within an outer domain, meaning that every face where the inner domain stops must have the outer domain on the far side\&. "
|
|
.ti -1c
|
|
.RI "struct \fBSchemaRelationValidationResult\fP"
|
|
.br
|
|
.RI "The result of validating a single relation against a mesh\&. "
|
|
.ti -1c
|
|
.RI "struct \fBSchemaRelationValidator\fP"
|
|
.br
|
|
.RI "Fold that runs one validator per declared relation in a schema\&. "
|
|
.ti -1c
|
|
.RI "struct \fBSchemaRelationValidator< SchemaT, relation::lists::RelationList< RelationTs\&.\&.\&. > >\fP"
|
|
.br
|
|
.RI "Fold that runs one validator per declared relation in a schema\&. This specialization is for a \fBRelationList\fP of arbitrary length\&. "
|
|
.ti -1c
|
|
.RI "struct \fBSchemaValidationResult\fP"
|
|
.br
|
|
.RI "The result of validating a schema against a mesh\&. "
|
|
.in -1c
|
|
.SS "Enumerations"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "enum class \fBRelationValidationFailure\fP "
|
|
.br
|
|
.RI "Enum representing the types of validation failures that can occur when validating relations in the domain module\&. "
|
|
.ti -1c
|
|
.RI "enum class \fBRelationValidationFailure\fP "
|
|
.br
|
|
.RI "Enum representing the types of validation failures that can occur when validating relations in the domain module\&. "
|
|
.ti -1c
|
|
.RI "enum class \fBRelationValidationFailure\fP "
|
|
.br
|
|
.RI "Enum representing the types of validation failures that can occur when validating relations in the domain module\&. "
|
|
.in -1c
|
|
.SS "Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<IsSchema SchemaT> \fBSchemaValidationResult\fP \fBvalidate_schema\fP (const \fBmesh::MeshTopology\fP &topology)"
|
|
.br
|
|
.RI "Validate a mesh against a schema\&. "
|
|
.in -1c
|
|
.SH "Enumeration Type Documentation"
|
|
.PP
|
|
.SS "enum class \fBserif::discretization::domain::relation::validation::RelationValidationFailure\fP : std::uint8_t\fR [strong]\fP"
|
|
|
|
.PP
|
|
Enum representing the types of validation failures that can occur when validating relations in the domain module\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
these are split into different categories based on their relation type; however, this is weakly enforced by convention and not the compiler\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "enum class \fBserif::discretization::domain::relation::validation::RelationValidationFailure\fP : std::uint8_t\fR [strong]\fP"
|
|
|
|
.PP
|
|
Enum representing the types of validation failures that can occur when validating relations in the domain module\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
these are split into different categories based on their relation type; however, this is weakly enforced by convention and not the compiler\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "enum class \fBserif::discretization::domain::relation::validation::RelationValidationFailure\fP : std::uint8_t\fR [strong]\fP"
|
|
|
|
.PP
|
|
Enum representing the types of validation failures that can occur when validating relations in the domain module\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
these are split into different categories based on their relation type; however, this is weakly enforced by convention and not the compiler\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Function Documentation"
|
|
.PP
|
|
.SS "template<IsSchema SchemaT> \fBSchemaValidationResult\fP serif::discretization::domain::schema::validation::validate_schema (const \fBmesh::MeshTopology\fP & topology)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Validate a mesh against a schema\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fISchemaT\fP The schema type to validate against\&.
|
|
.RE
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fItopology\fP The mesh topology to validate\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
A \fBSchemaValidationResult\fP containing the validation results\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|