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)
278 lines
12 KiB
Groff
278 lines
12 KiB
Groff
.TH "serif::discretization::domain::schema::DomainSchema< DomainIDs, BoundaryIDs, Relations >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::discretization::domain::schema::DomainSchema< DomainIDs, BoundaryIDs, Relations > \- A \fBDomainSchema\fP is a collection of relations that describe the relationships between domains and boundaries in a mesh\&. It is used to validate that a mesh has the expected set of domains and boundaries, and that those domains and boundaries have the expected topological relations\&. This is important for ensuring that the mesh is suitable for the intended simulation or analysis\&. There is one primary schema we define for SERiF, that is three domains (core, envelope, and vacuum) and two boundaries (stellar surface and infinity surface)\&. See \fBschemas\&.hpp\fP for more information on this schema\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fR#include <domain_schema\&.hpp>\fP
|
|
.SS "Public Types"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBdomain_ids_type\fP = DomainIDs"
|
|
.br
|
|
.RI "The list of domain IDs that are expected in the mesh\&. "
|
|
.ti -1c
|
|
.RI "using \fBboundary_ids_type\fP = BoundaryIDs"
|
|
.br
|
|
.RI "The list of boundary IDs that are expected in the mesh\&. "
|
|
.ti -1c
|
|
.RI "using \fBrelations_type\fP = Relations"
|
|
.br
|
|
.RI "The list of relations that describe the relationships between the domains and boundaries\&. "
|
|
.in -1c
|
|
.SS "Static Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "static constexpr auto \fBdomain_descriptors\fP () noexcept"
|
|
.br
|
|
.RI "Get the descriptors for the domain IDs in this schema\&. "
|
|
.ti -1c
|
|
.RI "static constexpr auto \fBboundary_descriptors\fP () noexcept"
|
|
.br
|
|
.RI "Get the descriptors for the boundary IDs in this schema\&. "
|
|
.ti -1c
|
|
.RI "static constexpr auto \fBrelation_descriptors\fP () noexcept"
|
|
.br
|
|
.RI "Get the descriptors for the relations in this schema\&. "
|
|
.ti -1c
|
|
.RI "template<IsDomainOrSet DomainT> static consteval bool \fBcontains_domain\fP () noexcept"
|
|
.br
|
|
.RI "Check if the schema contains the specified domain\&. "
|
|
.ti -1c
|
|
.RI "template<IsDomainOrSet DomainT> static constexpr bool \fBdomain_id_belongs_to\fP (const int domainID) noexcept"
|
|
.br
|
|
.RI "Check if the specified domain ID belongs to the given domain type\&. "
|
|
.ti -1c
|
|
.RI "template<IsDomain DomainT> static consteval int \fBdomain_id\fP () noexcept"
|
|
.br
|
|
.RI "Get the ID for the specified domain type\&. "
|
|
.ti -1c
|
|
.RI "template<IsBoundary BoundaryT> static consteval bool \fBcontains_boundary\fP () noexcept"
|
|
.br
|
|
.RI "Check if the schema contains the specified boundary\&. "
|
|
.ti -1c
|
|
.RI "template<IsBoundary BoundaryT> static consteval int \fBboundary_id\fP () noexcept"
|
|
.br
|
|
.RI "Get the ID for the specified boundary type\&. "
|
|
.ti -1c
|
|
.RI "template<IsBoundary BoundaryT> static constexpr bool \fBboundary_id_matches\fP (const int boundaryID) noexcept"
|
|
.br
|
|
.RI "Check if the specified boundary ID belongs to the given boundary type\&. "
|
|
.in -1c
|
|
.SS "Static Public Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "static constexpr std::size_t \fBdomain_id_count\fP = DomainIDs::count"
|
|
.br
|
|
.RI "The number of domain IDs that are expected in the mesh\&. "
|
|
.ti -1c
|
|
.RI "static constexpr std::size_t \fBboundary_id_count\fP = BoundaryIDs::count"
|
|
.br
|
|
.RI "The number of boundary IDs that are expected in the mesh\&. "
|
|
.ti -1c
|
|
.RI "static constexpr std::size_t \fBrelation_count\fP = Relations::count"
|
|
.br
|
|
.RI "The number of relations that describe the relationships between the domains and boundaries\&. "
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations>
|
|
.br
|
|
requires HaveValidRelationEntities<DomainIDs, BoundaryIDs, Relations>
|
|
.br
|
|
struct serif::discretization::domain::schema::DomainSchema< DomainIDs, BoundaryIDs, Relations >"A \fBDomainSchema\fP is a collection of relations that describe the relationships between domains and boundaries in a mesh\&. It is used to validate that a mesh has the expected set of domains and boundaries, and that those domains and boundaries have the expected topological relations\&. This is important for ensuring that the mesh is suitable for the intended simulation or analysis\&. There is one primary schema we define for SERiF, that is three domains (core, envelope, and vacuum) and two boundaries (stellar surface and infinity surface)\&. See \fBschemas\&.hpp\fP for more information on this schema\&.
|
|
|
|
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIDomainIDs\fP The list of domain IDs that are expected in the mesh\&.
|
|
.br
|
|
\fIBoundaryIDs\fP The list of boundary IDs that are expected in the mesh\&.
|
|
.br
|
|
\fIRelations\fP The list of relations that describe the relationships between the domains and boundaries\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Member Typedef Documentation"
|
|
.PP
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> using \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::boundary_ids_type = BoundaryIDs"
|
|
|
|
.PP
|
|
The list of boundary IDs that are expected in the mesh\&.
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> using \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::domain_ids_type = DomainIDs"
|
|
|
|
.PP
|
|
The list of domain IDs that are expected in the mesh\&.
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> using \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::relations_type = Relations"
|
|
|
|
.PP
|
|
The list of relations that describe the relationships between the domains and boundaries\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> static constexpr auto \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::boundary_descriptors ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [constexpr]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the descriptors for the boundary IDs in this schema\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
A constexpr array of BoundaryIDDescriptor objects describing the boundary IDs in this schema\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> template<IsBoundary BoundaryT> static consteval int \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::boundary_id ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [consteval]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the ID for the specified boundary type\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIBoundaryT\fP The boundary type to get the ID for\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
The ID for the specified boundary type\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> template<IsBoundary BoundaryT> static constexpr bool \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::boundary_id_matches (const int boundaryID)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [constexpr]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Check if the specified boundary ID belongs to the given boundary type\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIBoundaryT\fP The boundary type to check\&.
|
|
.RE
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIboundaryID\fP The boundary ID to check\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
True if the boundary ID belongs to the specified boundary type, false otherwise\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> template<IsBoundary BoundaryT> static consteval bool \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::contains_boundary ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [consteval]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Check if the schema contains the specified boundary\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIBoundaryT\fP The boundary type to check\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
True if the boundary is registered in this schema, false otherwise\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> template<IsDomainOrSet DomainT> static consteval bool \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::contains_domain ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [consteval]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Check if the schema contains the specified domain\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIDomainT\fP The domain type to check\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
True if the domain is registered in this schema, false otherwise\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> static constexpr auto \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::domain_descriptors ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [constexpr]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the descriptors for the domain IDs in this schema\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
A constexpr array of DomainIDDescriptor objects describing the domain IDs in this schema\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> template<IsDomain DomainT> static consteval int \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::domain_id ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [consteval]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the ID for the specified domain type\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIDomainT\fP The domain type to get the ID for\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
The ID for the specified domain type\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> template<IsDomainOrSet DomainT> static constexpr bool \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::domain_id_belongs_to (const int domainID)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [constexpr]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Check if the specified domain ID belongs to the given domain type\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIDomainT\fP The domain type to check\&.
|
|
.RE
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIdomainID\fP The domain ID to check\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
True if the domain ID belongs to the specified domain type, false otherwise\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> static constexpr auto \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::relation_descriptors ()\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [constexpr]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the descriptors for the relations in this schema\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
A constexpr array of RelationDescriptor objects describing the relations in this schema\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Member Data Documentation"
|
|
.PP
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> std::size_t \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::boundary_id_count = BoundaryIDs::count\fR [static]\fP, \fR [constexpr]\fP"
|
|
|
|
.PP
|
|
The number of boundary IDs that are expected in the mesh\&.
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> std::size_t \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::domain_id_count = DomainIDs::count\fR [static]\fP, \fR [constexpr]\fP"
|
|
|
|
.PP
|
|
The number of domain IDs that are expected in the mesh\&.
|
|
.SS "template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> std::size_t \fBserif::discretization::domain::schema::DomainSchema\fP< DomainIDs, BoundaryIDs, Relations >::relation_count = Relations::count\fR [static]\fP, \fR [constexpr]\fP"
|
|
|
|
.PP
|
|
The number of relations that describe the relationships between the domains and boundaries\&.
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|