SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext Struct Referencefinal

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>

Collaboration diagram for serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext:
[legend]

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.
 

Detailed Description

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.

Member Data Documentation

◆ domain

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.

◆ dynamic_orders

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.

◆ geometry

::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.

◆ geometry_weight_order

int serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::geometry_weight_order = 0

The order of the geometry weight.

◆ mapping

MappingKind serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::mapping = MappingKind::none

The mapping kind of the quadrature rule.

◆ role

QuadratureRole serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext::role = QuadratureRole::discretization

The role of the quadrature rule.


The documentation for this struct was generated from the following file: