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)
247 lines
12 KiB
XML
247 lines
12 KiB
XML
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
|
|
<compounddef id="namespaceserif_1_1discretization_1_1quadrature" kind="namespace" language="C++">
|
|
<compoundname>serif::discretization::quadrature</compoundname>
|
|
<innerclass refid="structserif_1_1discretization_1_1quadrature_1_1_form_rule" prot="public">serif::discretization::quadrature::FormRule</innerclass>
|
|
<innerclass refid="classserif_1_1discretization_1_1quadrature_1_1_policy" prot="public">serif::discretization::quadrature::Policy</innerclass>
|
|
<innerclass refid="structserif_1_1discretization_1_1quadrature_1_1_query" prot="public">serif::discretization::quadrature::Query</innerclass>
|
|
<innerclass refid="structserif_1_1discretization_1_1quadrature_1_1_resolution" prot="public">serif::discretization::quadrature::Resolution</innerclass>
|
|
<innerclass refid="structserif_1_1discretization_1_1quadrature_1_1_rule_control" prot="public">serif::discretization::quadrature::RuleControl</innerclass>
|
|
<innerclass refid="classserif_1_1discretization_1_1quadrature_1_1_rule_set" prot="public">serif::discretization::quadrature::RuleSet</innerclass>
|
|
<innernamespace refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend">serif::discretization::quadrature::backend</innernamespace>
|
|
<sectiondef kind="enum">
|
|
<memberdef kind="enum" id="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88" prot="public" static="no" strong="yes">
|
|
<type></type>
|
|
<name>QuadratureRole</name>
|
|
<qualifiedname>serif::discretization::quadrature::QuadratureRole</qualifiedname>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88a39629fd04651ccd980a12031e92a4bbf" prot="public">
|
|
<name>discretization</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule is being used for discretization. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88ad0fce4b31a695a89aea9c06e8231f7bf" prot="public">
|
|
<name>preconditioner</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule is being used for preconditioning. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88a1b2415052ea497897c757a8069a97686" prot="public">
|
|
<name>diagnostic</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule is being used for diagnostics. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88adfa555786d19f339a13e6719241e9d6f" prot="public">
|
|
<name>projection</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule is being used for projection. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<briefdescription>
|
|
<para>An enumeration of the different roles that a quadrature rule can play. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para>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. </para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/discretization/quadrature/rules.hpp" line="26" column="5" bodyfile="src/include/serif/discretization/quadrature/rules.hpp" bodystart="26" bodyend="31"/>
|
|
</memberdef>
|
|
<memberdef kind="enum" id="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efa" prot="public" static="no" strong="yes">
|
|
<type></type>
|
|
<name>MappingKind</name>
|
|
<qualifiedname>serif::discretization::quadrature::MappingKind</qualifiedname>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efaa334c4a4c42fdb79d7ebc3e73b517e6f8" prot="public">
|
|
<name>none</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule has no mapping. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efaa0877ad41eb90f8787b48ea22b0aea241" prot="public">
|
|
<name>affine</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule has an affine mapping. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efaa958153f1b8b96ec4c4eb2147429105d9" prot="public">
|
|
<name>general</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule has a general mapping. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efaab2c6de510d584484d74c9aa9f8fa9f04" prot="public">
|
|
<name>kelvin</name>
|
|
<briefdescription>
|
|
<para>The quadrature rule has a Kelvin mapping (compactified). </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<briefdescription>
|
|
<para>An enumeration of the different mapping kinds that a quadrature rule can have. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para>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. </para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/discretization/quadrature/rules.hpp" line="39" column="5" bodyfile="src/include/serif/discretization/quadrature/rules.hpp" bodystart="39" bodyend="44"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="func">
|
|
<memberdef kind="function" id="namespaceserif_1_1discretization_1_1quadrature_1a24dd0addeeb7b9ea7cd8fbc12c4a7ac0" prot="public" static="no" nodiscard="yes" constexpr="yes" const="no" explicit="no" inline="no" noexcept="yes" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>forms::Form</type>
|
|
<declname>FormT</declname>
|
|
<defname>FormT</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="structserif_1_1discretization_1_1quadrature_1_1_query" kindref="compound">Query</ref></type>
|
|
<definition>Query serif::discretization::quadrature::make_query</definition>
|
|
<argsstring>(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</argsstring>
|
|
<name>make_query</name>
|
|
<qualifiedname>serif::discretization::quadrature::make_query</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88" kindref="member">QuadratureRole</ref></type>
|
|
<declname>role</declname>
|
|
</param>
|
|
<param>
|
|
<type>const <ref refid="classserif_1_1discretization_1_1domain_1_1_domain_or_set" kindref="compound">domain::DomainOrSet</ref></type>
|
|
<declname>domain</declname>
|
|
</param>
|
|
<param>
|
|
<type>const <ref refid="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efa" kindref="member">MappingKind</ref></type>
|
|
<declname>mapping</declname>
|
|
</param>
|
|
<param>
|
|
<type>const int</type>
|
|
<declname>trialOrder</declname>
|
|
</param>
|
|
<param>
|
|
<type>const int</type>
|
|
<declname>testOrder</declname>
|
|
</param>
|
|
<param>
|
|
<type>const int</type>
|
|
<declname>coefficientOrder</declname>
|
|
</param>
|
|
<param>
|
|
<type>const int</type>
|
|
<declname>geometryWeightOrder</declname>
|
|
</param>
|
|
<param>
|
|
<type>const std::optional< int ></type>
|
|
<declname>baseOrder</declname>
|
|
<defval>std::nullopt</defval>
|
|
</param>
|
|
<briefdescription>
|
|
<para>A helper function to create a <ref refid="structserif_1_1discretization_1_1quadrature_1_1_query" kindref="compound">Query</ref> object for a given form type. This function is used to simplify the creation of <ref refid="structserif_1_1discretization_1_1quadrature_1_1_query" kindref="compound">Query</ref> objects by automatically filling in the form descriptor and other relevant information. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><parameterlist kind="templateparam"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>FormT</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The form type for which we are creating the query.</para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
<parameterlist kind="param"><parameteritem>
|
|
<parameternamelist>
|
|
<parametername>role</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The role of the quadrature rule. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>domain</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The domain or set of domains for which we are trying to resolve an MFEM integration rule. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>mapping</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The mapping kind of the quadrature rule. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>trialOrder</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The order of the trial space. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>testOrder</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The order of the test space. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>coefficientOrder</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The order of the coefficient space. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>geometryWeightOrder</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>The order of the geometry weight. </para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
<parameteritem>
|
|
<parameternamelist>
|
|
<parametername>baseOrder</parametername>
|
|
</parameternamelist>
|
|
<parameterdescription>
|
|
<para>An optional base order for the quadrature rule.</para>
|
|
</parameterdescription>
|
|
</parameteritem>
|
|
</parameterlist>
|
|
<simplesect kind="return"><para>A <ref refid="structserif_1_1discretization_1_1quadrature_1_1_query" kindref="compound">Query</ref> object containing all the relevant information for the quadrature query. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/discretization/quadrature/query.hpp" line="56" column="22" bodyfile="src/include/serif/discretization/quadrature/query.hpp" bodystart="56" bodyend="79"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<location file="src/include/serif/backend/mfem/discretization/quadrature/concepts.hpp" line="12" column="1"/>
|
|
</compounddef>
|
|
</doxygen>
|