|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
Namespaces | |
| namespace | validation |
Classes | |
| struct | BoundaryID |
| The BoundaryID struct is a compile-time type that associates a semantic boundary (a Boundary) with an integer attribute in the mesh file. This allows the discretization framework to identify which boundary elements in the mesh correspond to which semantic boundaries in the simulation. More... | |
| struct | BoundaryIDList |
| A list of boundary IDs in the discretization framework. More... | |
| struct | DomainID |
| The DomainID struct is a compile-time type that associates a semantic domain (a Domain) with an integer attribute in the mesh file. This allows the discretization framework to identify which elements in the mesh correspond to which semantic domains in the simulation. More... | |
| struct | DomainIDList |
| A list of domain IDs in the discretization framework. More... | |
| struct | DomainSchema |
| 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... | |
| struct | RelationList |
| Compile-time list of relations, used to group relations together for operations and forms. This struct is a variadic template that takes a list of relation types as template parameters. More... | |
Concepts | |
| concept | IsSchema |
| Concept for a schema, which is a collection of relations that describe the relationships between domains and boundaries in a mesh. Something is a schema if it satisfies the is_schema_v trait. | |
Typedefs | |
| using | CoreEnvelopeVacuumDomainSchema |
| The primary domain schema for SERiF. This is a three-domain, two-boundary schema that is used to validate meshes that are loaded into SERiF. | |
Variables | |
| template<typename S> | |
| constexpr bool | is_schema_v = false |
| Trait to determine if a type is a DomainSchema. This is the default false specialization. | |
| template<IsDomainIDList DomainIDs, IsBoundaryIDList BoundaryIDs, IsRelationList Relations> | |
| constexpr bool | is_schema_v< DomainSchema< DomainIDs, BoundaryIDs, Relations > > = true |
| Trait to determine if a type is a DomainSchema. This is the true specialization for DomainSchema types. | |
The primary domain schema for SERiF. This is a three-domain, two-boundary schema that is used to validate meshes that are loaded into SERiF.
The three domains are:
The two boundaries are:
In addition to the three domains and two boundaries, we also impose a series of topological relations between the domains and boundaries. These relations are:
We also specify what domain and boundary IDs are expected in the mesh. The expected domain IDs are:
The expected boundary IDs are:
This lets us say at compile time that a mesh must have this structure; however, we can only validate that a mesh actually has this structure at runtime.
|
constexpr |
Trait to determine if a type is a DomainSchema. This is the default false specialization.
| S | The type to check. |
|
constexpr |
Trait to determine if a type is a DomainSchema. This is the true specialization for DomainSchema types.
| 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. |