13 #ifndef KRATOS_DERIVATIVES_RECOVERY_UTILITY_H_INCLUDED
14 #define KRATOS_DERIVATIVES_RECOVERY_UTILITY_H_INCLUDED
17 #include <unordered_set>
50 template<std::
size_t TDim>
83 static void CheckRequiredNeighborsPatch(
ModelPart& rModelPart);
90 static void ExtendNeighborsPatch(
ModelPart& rModelPart,
const std::size_t RequiredNeighbors);
98 static void CalculatePolynomialWeights(
ModelPart& rModelPart);
107 static void RecoverDivergence(
111 const std::size_t BufferStep = 0);
120 static void RecoverGradient(
124 const std::size_t BufferStep = 0);
133 static void RecoverLaplacian(
137 const std::size_t BufferStep = 0);
146 static void RecoverLaplacian(
150 const std::size_t BufferStep = 0);
183 static double CalculateMaximumDistance(
187 static void FindExtendedNeighbors(
190 std::unordered_set<int>& rExtendedNeighborsId);
192 static void AppendExtendedNeighbors(
195 std::unordered_set<int>& rExtendedNeighborsId);
197 static bool CalculateNodalPolynomialWeights(
200 static bool GeneralizedInvertMatrix(
Superconvergent patch recovery for linear meshes using quadratic polynomials.
Definition: derivatives_recovery_utility.h:52
Node NodeType
Definition: derivatives_recovery_utility.h:57
KRATOS_CLASS_POINTER_DEFINITION(DerivativesRecoveryUtility)
This class is a vector which stores global pointers.
Definition: global_pointers_vector.h:61
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
Kratos::ModelPart ModelPart
Definition: kratos_wrapper.h:31
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21