.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 \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 static consteval bool \fBcontains_domain\fP () noexcept" .br .RI "Check if the schema contains the specified domain\&. " .ti -1c .RI "template 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 static consteval int \fBdomain_id\fP () noexcept" .br .RI "Get the ID for the specified domain type\&. " .ti -1c .RI "template static consteval bool \fBcontains_boundary\fP () noexcept" .br .RI "Check if the schema contains the specified boundary\&. " .ti -1c .RI "template static consteval int \fBboundary_id\fP () noexcept" .br .RI "Get the ID for the specified boundary type\&. " .ti -1c .RI "template 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 .br requires HaveValidRelationEntities .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 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 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 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 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 template 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 template 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 template 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 template 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 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 template 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 template 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 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 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 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 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\&.