![]() |
MFEM v4.8.0
Finite element discretization library
|
#include <intrules_cut.hpp>
Public Member Functions | |
AlgoimIntegrationRules (int order, Coefficient &lvlset, int lsO=2) | |
Constructor to set up the generated cut IntegrationRules. | |
virtual | ~AlgoimIntegrationRules () |
virtual void | SetOrder (int order) override |
Change the order of the constructed IntegrationRule. | |
virtual void | SetLevelSetProjectionOrder (int order) override |
virtual void | GetSurfaceIntegrationRule (ElementTransformation &Tr, IntegrationRule &result) override |
Construct a cut-surface IntegrationRule. | |
virtual void | GetVolumeIntegrationRule (ElementTransformation &Tr, IntegrationRule &result, const IntegrationRule *sir=nullptr) override |
Construct a cut-volume IntegrationRule. | |
virtual void | GetSurfaceWeights (ElementTransformation &Tr, const IntegrationRule &sir, Vector &weights) override |
Compute transformation quadrature weights for surface integration. | |
![]() | |
virtual void | SetLevelSetCoefficient (Coefficient &ls) |
Change the Coefficient whose zero level set specifies the cut. | |
virtual | ~CutIntegrationRules () |
Destructor of CutIntegrationRules. | |
Additional Inherited Members | |
![]() | |
CutIntegrationRules (int order, Coefficient &lvlset, int lsO=2) | |
Constructor to set up the generated cut IntegrationRules. | |
![]() | |
int | Order |
Order of the IntegrationRule. | |
Coefficient * | LvlSet |
The zero level set of this Coefficient defines the cut surface. | |
int | lsOrder |
Space order for the LS projection. | |
![]() | |
static constexpr real_t | tol_1 = 1e-12 |
static constexpr real_t | tol_2 = 1e-15 |
Definition at line 221 of file intrules_cut.hpp.
|
inline |
Constructor to set up the generated cut IntegrationRules.
[in] | order | Order of the constructed IntegrationRule. |
[in] | lvlset | Coefficient whose zero level set specifies the cut. |
[in] | lsO | Polynomial degree for projecting the level-set Coefficient to a GridFunction, which is used to compute gradients and normals. |
Definition at line 232 of file intrules_cut.hpp.
|
inlinevirtual |
Definition at line 242 of file intrules_cut.hpp.
|
overridevirtual |
Construct a cut-surface IntegrationRule.
Construct an IntegrationRule to integrate on the surface given by the already specified level set function, for the element given by Tr.
[in] | Tr | Specifies the IntegrationRule's associated mesh element. |
[out] | result | IntegrationRule on the cut-surface |
Implements mfem::CutIntegrationRules.
Definition at line 35 of file intrules_cut.cpp.
|
overridevirtual |
Compute transformation quadrature weights for surface integration.
Compute the transformation weights for integration over the cut-surface in reference space.
[in] | Tr | Specifies the IntegrationRule's associated element. |
[in] | sir | IntegrationRule defining the IntegrationPoints |
[out] | weights | Vector containing the transformation weights. |
Implements mfem::CutIntegrationRules.
Definition at line 111 of file intrules_cut.cpp.
|
overridevirtual |
Construct a cut-volume IntegrationRule.
Construct an IntegrationRule to integrate in the subdomain given by the positive values of the already specified level set function, for the element given by Tr.
[in] | Tr | Specifies the IntegrationRule's associated mesh element. |
[out] | result | IntegrationRule for the cut-volume |
[in] | sir | Corresponding IntegrationRule for the surface, which can be used to avoid computations. |
Implements mfem::CutIntegrationRules.
Definition at line 73 of file intrules_cut.cpp.
|
inlineoverridevirtual |
Change the polynomial degree for projecting the level set Coefficient to a GridFunction, which is used to compute local gradients and normals.
Reimplemented from mfem::CutIntegrationRules.
Definition at line 261 of file intrules_cut.hpp.
|
inlineoverridevirtual |
Change the order of the constructed IntegrationRule.
Reimplemented from mfem::CutIntegrationRules.
Definition at line 248 of file intrules_cut.hpp.