Files
MeanField_SERiF/docs/man/man3/serif_discretization_quadrature.3
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

144 lines
5.9 KiB
Groff

.TH "serif::discretization::quadrature" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::discretization::quadrature
.SH SYNOPSIS
.br
.PP
.SS "Namespaces"
.in +1c
.ti -1c
.RI "namespace \fBbackend\fP"
.br
.in -1c
.SS "Classes"
.in +1c
.ti -1c
.RI "struct \fBFormRule\fP"
.br
.RI "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\&. "
.ti -1c
.RI "class \fBPolicy\fP"
.br
.RI "The \fBPolicy\fP 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 \fBRuleSet\fP to determine the appropriate order and other relevant information for the integration rule\&. "
.ti -1c
.RI "struct \fBQuery\fP"
.br
.RI "The \fBQuery\fP 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\&. "
.ti -1c
.RI "struct \fBResolution\fP"
.br
.RI "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\&. "
.ti -1c
.RI "struct \fBRuleControl\fP"
.br
.RI "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\&. "
.ti -1c
.RI "class \fBRuleSet\fP"
.br
.RI "The \fBRuleSet\fP 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\&. "
.in -1c
.SS "Enumerations"
.in +1c
.ti -1c
.RI "enum class \fBQuadratureRole\fP { \fBdiscretization\fP, \fBpreconditioner\fP, \fBdiagnostic\fP, \fBprojection\fP }"
.br
.RI "An enumeration of the different roles that a quadrature rule can play\&. "
.ti -1c
.RI "enum class \fBMappingKind\fP { \fBnone\fP, \fBaffine\fP, \fBgeneral\fP, \fBkelvin\fP }"
.br
.RI "An enumeration of the different mapping kinds that a quadrature rule can have\&. "
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "template<forms::Form FormT> constexpr \fBQuery\fP \fBmake_query\fP (const \fBQuadratureRole\fP role, const \fBdomain::DomainOrSet\fP domain, const \fBMappingKind\fP mapping, const int trialOrder, const int testOrder, const int coefficientOrder, const int geometryWeightOrder, const std::optional< int > baseOrder=std::nullopt) noexcept"
.br
.RI "A helper function to create a \fBQuery\fP object for a given form type\&. This function is used to simplify the creation of \fBQuery\fP objects by automatically filling in the form descriptor and other relevant information\&. "
.in -1c
.SH "Enumeration Type Documentation"
.PP
.SS "enum class \fBserif::discretization::quadrature::MappingKind\fP\fR [strong]\fP"
.PP
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\&.
.PP
\fBEnumerator\fP
.in +1c
.TP
\f(BInone \fP
The quadrature rule has no mapping\&.
.TP
\f(BIaffine \fP
The quadrature rule has an affine mapping\&.
.TP
\f(BIgeneral \fP
The quadrature rule has a general mapping\&.
.TP
\f(BIkelvin \fP
The quadrature rule has a Kelvin mapping (compactified)\&.
.SS "enum class \fBserif::discretization::quadrature::QuadratureRole\fP\fR [strong]\fP"
.PP
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\&.
.PP
\fBEnumerator\fP
.in +1c
.TP
\f(BIdiscretization \fP
The quadrature rule is being used for discretization\&.
.TP
\f(BIpreconditioner \fP
The quadrature rule is being used for preconditioning\&.
.TP
\f(BIdiagnostic \fP
The quadrature rule is being used for diagnostics\&.
.TP
\f(BIprojection \fP
The quadrature rule is being used for projection\&.
.SH "Function Documentation"
.PP
.SS "template<forms::Form FormT> \fBQuery\fP serif::discretization::quadrature::make_query (const \fBQuadratureRole\fP role, const \fBdomain::DomainOrSet\fP domain, const \fBMappingKind\fP mapping, const int trialOrder, const int testOrder, const int coefficientOrder, const int geometryWeightOrder, const std::optional< int > baseOrder = \fRstd::nullopt\fP)\fR [nodiscard]\fP, \fR [constexpr]\fP, \fR [noexcept]\fP"
.PP
A helper function to create a \fBQuery\fP object for a given form type\&. This function is used to simplify the creation of \fBQuery\fP objects by automatically filling in the form descriptor and other relevant information\&.
.PP
\fBTemplate Parameters\fP
.RS 4
\fIFormT\fP The form type for which we are creating the query\&.
.RE
.PP
\fBParameters\fP
.RS 4
\fIrole\fP The role of the quadrature rule\&.
.br
\fIdomain\fP The domain or set of domains for which we are trying to resolve an MFEM integration rule\&.
.br
\fImapping\fP The mapping kind of the quadrature rule\&.
.br
\fItrialOrder\fP The order of the trial space\&.
.br
\fItestOrder\fP The order of the test space\&.
.br
\fIcoefficientOrder\fP The order of the coefficient space\&.
.br
\fIgeometryWeightOrder\fP The order of the geometry weight\&.
.br
\fIbaseOrder\fP An optional base order for the quadrature rule\&.
.RE
.PP
\fBReturns\fP
.RS 4
A \fBQuery\fP object containing all the relevant information for the quadrature query\&.
.RE
.PP
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.