SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::quadrature Namespace Reference

Namespaces

namespace  backend
 

Classes

struct  FormRule
 A struct to represent a form rule, which contains a form descriptor and a rule control. Used to tie some form to a specific quadrature rule control. More...
 
class  Policy
 The Policy class is used to determine the appropriate order and other relevant information for the integration rule based on a given quadrature query. It uses a RuleSet to determine the appropriate order and other relevant information for the integration rule. More...
 
struct  Query
 The Query struct is used to represent a quadrature query, which contains all the information needed to determine the appropriate order and other relevant information for the integration rule. More...
 
struct  Resolution
 A struct to hold the resolution of a quadrature query. This contains the base order, boost, and final order of the quadrature rule, as well as a flag indicating whether a fixed order was used. More...
 
struct  RuleControl
 A struct to control the behavior of a quadrature rule for a given form or role. Rule control always contains boost (default to 0) and may contain some fixed order (think of this as an override). If the fixed order is empty then the quadrature system will determine the order based on the form and role + boost. More...
 
class  RuleSet
 The RuleSet class is used to determine the appropriate order and other relevant information for the integration rule based on a given quadrature query. It contains a set of form rules and role controls, as well as a fallback control. More...
 

Enumerations

enum class  QuadratureRole { discretization , preconditioner , diagnostic , projection }
 An enumeration of the different roles that a quadrature rule can play. More...
 
enum class  MappingKind { none , affine , general , kelvin }
 An enumeration of the different mapping kinds that a quadrature rule can have. More...
 

Functions

template<forms::Form FormT>
constexpr Query make_query (const QuadratureRole role, const domain::DomainOrSet domain, const MappingKind mapping, const int trialOrder, const int testOrder, const int coefficientOrder, const int geometryWeightOrder, const std::optional< int > baseOrder=std::nullopt) noexcept
 A helper function to create a Query object for a given form type. This function is used to simplify the creation of Query objects by automatically filling in the form descriptor and other relevant information.
 

Enumeration Type Documentation

◆ MappingKind

An enumeration of the different mapping kinds that a quadrature rule can have.

The idea here is that different mapping kinds might require or allow different levels of accuracy. For example, an affine mapping generally requires less accuracy than a general mapping.

Enumerator
none 

The quadrature rule has no mapping.

affine 

The quadrature rule has an affine mapping.

general 

The quadrature rule has a general mapping.

kelvin 

The quadrature rule has a Kelvin mapping (compactified).

◆ QuadratureRole

An enumeration of the different roles that a quadrature rule can play.

The idea here is that different roles might require or allow different levels of accuracy. For example, integrating for a preconditioner generally need not be as accurate as integrating for the discretization itself.

Enumerator
discretization 

The quadrature rule is being used for discretization.

preconditioner 

The quadrature rule is being used for preconditioning.

diagnostic 

The quadrature rule is being used for diagnostics.

projection 

The quadrature rule is being used for projection.

Function Documentation

◆ make_query()

template<forms::Form FormT>
Query serif::discretization::quadrature::make_query ( const QuadratureRole role,
const domain::DomainOrSet domain,
const MappingKind mapping,
const int trialOrder,
const int testOrder,
const int coefficientOrder,
const int geometryWeightOrder,
const std::optional< int > baseOrder = std::nullopt )
nodiscardconstexprnoexcept

A helper function to create a Query object for a given form type. This function is used to simplify the creation of Query objects by automatically filling in the form descriptor and other relevant information.

Template Parameters
FormTThe form type for which we are creating the query.
Parameters
roleThe role of the quadrature rule.
domainThe domain or set of domains for which we are trying to resolve an MFEM integration rule.
mappingThe mapping kind of the quadrature rule.
trialOrderThe order of the trial space.
testOrderThe order of the test space.
coefficientOrderThe order of the coefficient space.
geometryWeightOrderThe order of the geometry weight.
baseOrderAn optional base order for the quadrature rule.
Returns
A Query object containing all the relevant information for the quadrature query.