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)
263 lines
9.5 KiB
Groff
263 lines
9.5 KiB
Groff
.TH "serif::discretization::quadrature::RuleSet" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::discretization::quadrature::RuleSet \- 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\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fR#include <rules\&.hpp>\fP
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<forms::Form FormT> void \fBset_form_control\fP (const \fBRuleControl\fP control)"
|
|
.br
|
|
.RI "Sets the rule control for a given form type\&. This allows for specifying a fixed order or boost for a specific form\&. "
|
|
.ti -1c
|
|
.RI "void \fBset_form_control\fP (const \fBforms::FormDescriptor\fP &form, const \fBRuleControl\fP control)"
|
|
.br
|
|
.RI "Sets the rule control for a given form descriptor\&. This allows for specifying a fixed order or boost for a specific form\&. "
|
|
.ti -1c
|
|
.RI "const \fBRuleControl\fP * \fBfind_form_control\fP (const \fBforms::FormDescriptor\fP &form) const noexcept"
|
|
.br
|
|
.RI "Finds the rule control for a given form descriptor\&. This allows for retrieving the fixed order or boost for a specific form\&. "
|
|
.ti -1c
|
|
.RI "void \fBset_role_control\fP (const \fBQuadratureRole\fP role, const \fBRuleControl\fP control) noexcept"
|
|
.br
|
|
.RI "Sets the rule control for a given quadrature role\&. This allows for specifying a fixed order or boost for a specific role\&. "
|
|
.ti -1c
|
|
.RI "const \fBRuleControl\fP & \fBrole_control\fP (const \fBQuadratureRole\fP role) const noexcept"
|
|
.br
|
|
.RI "Get the rule control for a given quadrature role\&. This allows for retrieving the fixed order or boost for a specific role\&. "
|
|
.ti -1c
|
|
.RI "void \fBset_fallback_control\fP (const \fBRuleControl\fP control) noexcept"
|
|
.br
|
|
.RI "Set the fallback rule control for the \fBRuleSet\fP\&. This is used when no specific form or role control is found\&. "
|
|
.ti -1c
|
|
.RI "const \fBRuleControl\fP & \fBfallback_control\fP () const noexcept"
|
|
.br
|
|
.RI "Get the fallback rule control for the \fBRuleSet\fP\&. This is used when no specific form or role control is found\&. "
|
|
.ti -1c
|
|
.RI "auto \fBbegin\fP ()"
|
|
.br
|
|
.RI "Get the begin iterator for the form rules in the \fBRuleSet\fP\&. "
|
|
.ti -1c
|
|
.RI "auto \fBend\fP ()"
|
|
.br
|
|
.RI "Get the end iterator for the form rules in the \fBRuleSet\fP\&. "
|
|
.ti -1c
|
|
.RI "auto \fBbegin\fP () const"
|
|
.br
|
|
.RI "Get the const begin iterator for the form rules in the \fBRuleSet\fP\&. "
|
|
.ti -1c
|
|
.RI "auto \fBend\fP () const"
|
|
.br
|
|
.RI "Get the const end iterator for the form rules in the \fBRuleSet\fP\&. "
|
|
.in -1c
|
|
.SS "Private Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "std::vector< \fBFormRule\fP > \fBm_formRules\fP"
|
|
.br
|
|
.RI "The form rules in the \fBRuleSet\fP\&. Each form rule contains a form descriptor and a rule control\&. "
|
|
.ti -1c
|
|
.RI "\fBRuleControl\fP \fBm_discretizationControl\fP"
|
|
.br
|
|
.RI "The rule control for the discretization role\&. "
|
|
.ti -1c
|
|
.RI "\fBRuleControl\fP \fBm_preconditionerControl\fP"
|
|
.br
|
|
.RI "The rule control for the preconditioner role\&. "
|
|
.ti -1c
|
|
.RI "\fBRuleControl\fP \fBm_diagnosticControl\fP"
|
|
.br
|
|
.RI "The rule control for the diagnostic role\&. "
|
|
.ti -1c
|
|
.RI "\fBRuleControl\fP \fBm_projectionControl\fP"
|
|
.br
|
|
.RI "The rule control for the projection role\&. "
|
|
.ti -1c
|
|
.RI "\fBRuleControl\fP \fBm_fallbackControl\fP"
|
|
.br
|
|
.RI "The fallback rule control for the \fBRuleSet\fP\&. This is used when no specific form or role control is found\&. "
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
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\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "auto serif::discretization::quadrature::RuleSet::begin ()\fR [inline]\fP"
|
|
|
|
.PP
|
|
Get the begin iterator for the form rules in the \fBRuleSet\fP\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
An iterator to the beginning of the form rules in the \fBRuleSet\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "auto serif::discretization::quadrature::RuleSet::begin () const\fR [inline]\fP"
|
|
|
|
.PP
|
|
Get the const begin iterator for the form rules in the \fBRuleSet\fP\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
An iterator to the beginning of the form rules in the \fBRuleSet\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "auto serif::discretization::quadrature::RuleSet::end ()\fR [inline]\fP"
|
|
|
|
.PP
|
|
Get the end iterator for the form rules in the \fBRuleSet\fP\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
An iterator to the end of the form rules in the \fBRuleSet\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "auto serif::discretization::quadrature::RuleSet::end () const\fR [inline]\fP"
|
|
|
|
.PP
|
|
Get the const end iterator for the form rules in the \fBRuleSet\fP\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
An iterator to the end of the form rules in the \fBRuleSet\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "const \fBRuleControl\fP & serif::discretization::quadrature::RuleSet::fallback_control () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the fallback rule control for the \fBRuleSet\fP\&. This is used when no specific form or role control is found\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
The fallback rule control for the \fBRuleSet\fP\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "const \fBRuleControl\fP * serif::discretization::quadrature::RuleSet::find_form_control (const \fBforms::FormDescriptor\fP & form) const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Finds the rule control for a given form descriptor\&. This allows for retrieving the fixed order or boost for a specific form\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIform\fP The form descriptor for which to find the rule control\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
A pointer to the rule control for the given form descriptor, or nullptr if no rule control is found\&.
|
|
.RE
|
|
.PP
|
|
This works by searching through all the form rules in the Rule set and comparing their runtime descriptors\&. If the correct form is found then a pointer to its rule control is returned\&. If the form is not found then nullptr is returned\&.
|
|
.SS "const \fBRuleControl\fP & serif::discretization::quadrature::RuleSet::role_control (const \fBQuadratureRole\fP role) const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Get the rule control for a given quadrature role\&. This allows for retrieving the fixed order or boost for a specific role\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIrole\fP The quadrature role for which to get the rule control\&.
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
The rule control for the given quadrature role\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "void serif::discretization::quadrature::RuleSet::set_fallback_control (const \fBRuleControl\fP control)\fR [inline]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Set the fallback rule control for the \fBRuleSet\fP\&. This is used when no specific form or role control is found\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIcontrol\fP The fallback rule control to set\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "void serif::discretization::quadrature::RuleSet::set_form_control (const \fBforms::FormDescriptor\fP & form, const \fBRuleControl\fP control)\fR [inline]\fP"
|
|
|
|
.PP
|
|
Sets the rule control for a given form descriptor\&. This allows for specifying a fixed order or boost for a specific form\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIform\fP The form descriptor for which to set the rule control\&.
|
|
.br
|
|
\fIcontrol\fP The rule control to set for the given form descriptor\&.
|
|
.RE
|
|
.PP
|
|
This works by searching through all the form rules in the Rule set and comparing their runtime descriptors\&. If the correct form is found then the control is updated\&. If the form is not found then a new form rule is added to the \fBRuleSet\fP\&.
|
|
.SS "template<forms::Form FormT> void serif::discretization::quadrature::RuleSet::set_form_control (const \fBRuleControl\fP control)\fR [inline]\fP"
|
|
|
|
.PP
|
|
Sets the rule control for a given form type\&. This allows for specifying a fixed order or boost for a specific form\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIFormT\fP The form type for which to set the rule control\&.
|
|
.RE
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIcontrol\fP The rule control to set for the given form type\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "void serif::discretization::quadrature::RuleSet::set_role_control (const \fBQuadratureRole\fP role, const \fBRuleControl\fP control)\fR [inline]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Sets the rule control for a given quadrature role\&. This allows for specifying a fixed order or boost for a specific role\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIrole\fP The quadrature role for which to set the rule control\&.
|
|
.br
|
|
\fIcontrol\fP The rule control to set for the given quadrature role\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Member Data Documentation"
|
|
.PP
|
|
.SS "\fBRuleControl\fP serif::discretization::quadrature::RuleSet::m_diagnosticControl\fR [private]\fP"
|
|
|
|
.PP
|
|
The rule control for the diagnostic role\&.
|
|
.SS "\fBRuleControl\fP serif::discretization::quadrature::RuleSet::m_discretizationControl\fR [private]\fP"
|
|
|
|
.PP
|
|
The rule control for the discretization role\&.
|
|
.SS "\fBRuleControl\fP serif::discretization::quadrature::RuleSet::m_fallbackControl\fR [private]\fP"
|
|
|
|
.PP
|
|
The fallback rule control for the \fBRuleSet\fP\&. This is used when no specific form or role control is found\&.
|
|
.SS "std::vector<\fBFormRule\fP> serif::discretization::quadrature::RuleSet::m_formRules\fR [private]\fP"
|
|
|
|
.PP
|
|
The form rules in the \fBRuleSet\fP\&. Each form rule contains a form descriptor and a rule control\&.
|
|
.SS "\fBRuleControl\fP serif::discretization::quadrature::RuleSet::m_preconditionerControl\fR [private]\fP"
|
|
|
|
.PP
|
|
The rule control for the preconditioner role\&.
|
|
.SS "\fBRuleControl\fP serif::discretization::quadrature::RuleSet::m_projectionControl\fR [private]\fP"
|
|
|
|
.PP
|
|
The rule control for the projection role\&.
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|