|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
The MFEMQuadratureContext struct is used to describe the context in which we are trying to resolve an MFEM integration rule. This includes the geometry type, the order of the geometry weight, any dynamic orders, the domain or set of domains, and the mapping kind. More...
#include <mfem_resolver.hpp>
Public Attributes | |
| QuadratureRole | role = QuadratureRole::discretization |
| The role of the quadrature rule. | |
| ::mfem::Geometry::Type | geometry = ::mfem::Geometry::INVALID |
| The geometry type of the element for which we are trying to resolve an MFEM integration rule. | |
| int | geometry_weight_order = 0 |
| The order of the geometry weight. | |
| std::span< const int > | dynamic_orders {} |
| The dynamic orders of the quadrature rule. Dynamics orders come from runtime information. | |
| domain::DomainOrSet | domain = domain::AllDomains{} |
| The domain or set of domains for which we are trying to resolve an MFEM integration rule. | |
| MappingKind | mapping = MappingKind::none |
| The mapping kind of the quadrature rule. | |
The MFEMQuadratureContext struct is used to describe the context in which we are trying to resolve an MFEM integration rule. This includes the geometry type, the order of the geometry weight, any dynamic orders, the domain or set of domains, and the mapping kind.
The idea here is that there is some information we can know at compile time (e.g. the role the particular integration is playing) and some we can only know at runtime (e.g. a manual quadrature boost requested by the user) so QuadratureContext contains all of that information which can then be turned into a single quadrature order. This is born out of the recognition that there is really not one good choice for quadrature order; rather, different systems have different accuracy requirements and should generally use the lowest order that is sufficient for their needs.
| domain::DomainOrSet serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::domain = domain::AllDomains{} |
The domain or set of domains for which we are trying to resolve an MFEM integration rule.
| std::span<const int> serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::dynamic_orders {} |
The dynamic orders of the quadrature rule. Dynamics orders come from runtime information.
| ::mfem::Geometry::Type serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::geometry = ::mfem::Geometry::INVALID |
The geometry type of the element for which we are trying to resolve an MFEM integration rule.
| int serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::geometry_weight_order = 0 |
The order of the geometry weight.
| MappingKind serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::mapping = MappingKind::none |
The mapping kind of the quadrature rule.
| QuadratureRole serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::role = QuadratureRole::discretization |
The role of the quadrature rule.