|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
A DomainSchema 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 schemas.hpp for more information on this schema. More...
#include <domain_schema.hpp>
Public Types | |
| using | domain_ids_type = DomainIDs |
| The list of domain IDs that are expected in the mesh. | |
| using | boundary_ids_type = BoundaryIDs |
| The list of boundary IDs that are expected in the mesh. | |
| using | relations_type = Relations |
| The list of relations that describe the relationships between the domains and boundaries. | |
Static Public Member Functions | |
| static constexpr auto | domain_descriptors () noexcept |
| Get the descriptors for the domain IDs in this schema. | |
| static constexpr auto | boundary_descriptors () noexcept |
| Get the descriptors for the boundary IDs in this schema. | |
| static constexpr auto | relation_descriptors () noexcept |
| Get the descriptors for the relations in this schema. | |
| template<IsDomainOrSet DomainT> | |
| static consteval bool | contains_domain () noexcept |
| Check if the schema contains the specified domain. | |
| template<IsDomainOrSet DomainT> | |
| static constexpr bool | domain_id_belongs_to (const int domainID) noexcept |
| Check if the specified domain ID belongs to the given domain type. | |
| template<IsDomain DomainT> | |
| static consteval int | domain_id () noexcept |
| Get the ID for the specified domain type. | |
| template<IsBoundary BoundaryT> | |
| static consteval bool | contains_boundary () noexcept |
| Check if the schema contains the specified boundary. | |
| template<IsBoundary BoundaryT> | |
| static consteval int | boundary_id () noexcept |
| Get the ID for the specified boundary type. | |
| template<IsBoundary BoundaryT> | |
| static constexpr bool | boundary_id_matches (const int boundaryID) noexcept |
| Check if the specified boundary ID belongs to the given boundary type. | |
Static Public Attributes | |
| static constexpr std::size_t | domain_id_count = DomainIDs::count |
| The number of domain IDs that are expected in the mesh. | |
| static constexpr std::size_t | boundary_id_count = BoundaryIDs::count |
| The number of boundary IDs that are expected in the mesh. | |
| static constexpr std::size_t | relation_count = Relations::count |
| The number of relations that describe the relationships between the domains and boundaries. | |
A DomainSchema 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 schemas.hpp for more information on this schema.
| DomainIDs | The list of domain IDs that are expected in the mesh. |
| BoundaryIDs | The list of boundary IDs that are expected in the mesh. |
| Relations | The list of relations that describe the relationships between the domains and boundaries. |
| using serif::discretization::domain::schema::DomainSchema< DomainIDs, BoundaryIDs, Relations >::boundary_ids_type = BoundaryIDs |
The list of boundary IDs that are expected in the mesh.
| using serif::discretization::domain::schema::DomainSchema< DomainIDs, BoundaryIDs, Relations >::domain_ids_type = DomainIDs |
The list of domain IDs that are expected in the mesh.
| using serif::discretization::domain::schema::DomainSchema< DomainIDs, BoundaryIDs, Relations >::relations_type = Relations |
The list of relations that describe the relationships between the domains and boundaries.
|
inlinestaticnodiscardconstexprnoexcept |
Get the descriptors for the boundary IDs in this schema.
|
inlinestaticnodiscardconstevalnoexcept |
Get the ID for the specified boundary type.
| BoundaryT | The boundary type to get the ID for. |
|
inlinestaticnodiscardconstexprnoexcept |
Check if the specified boundary ID belongs to the given boundary type.
| BoundaryT | The boundary type to check. |
| boundaryID | The boundary ID to check. |
|
inlinestaticnodiscardconstevalnoexcept |
Check if the schema contains the specified boundary.
| BoundaryT | The boundary type to check. |
|
inlinestaticnodiscardconstevalnoexcept |
Check if the schema contains the specified domain.
| DomainT | The domain type to check. |
|
inlinestaticnodiscardconstexprnoexcept |
Get the descriptors for the domain IDs in this schema.
|
inlinestaticnodiscardconstevalnoexcept |
Get the ID for the specified domain type.
| DomainT | The domain type to get the ID for. |
|
inlinestaticnodiscardconstexprnoexcept |
Check if the specified domain ID belongs to the given domain type.
| DomainT | The domain type to check. |
| domainID | The domain ID to check. |
|
inlinestaticnodiscardconstexprnoexcept |
Get the descriptors for the relations in this schema.
|
staticconstexpr |
The number of boundary IDs that are expected in the mesh.
|
staticconstexpr |
The number of domain IDs that are expected in the mesh.
|
staticconstexpr |
The number of relations that describe the relationships between the domains and boundaries.