Superconvergent patch recovery for linear meshes using quadratic polynomials.
More...
|
|
static void | Check (ModelPart &rModelPart) |
| Check that all the required variables are present in the nodal database. More...
|
|
static void | CheckRequiredNeighborsPatch (ModelPart &rModelPart) |
| Check that all the nodes have the required number of neighbors (6 in 2D and 10 in 3D) More...
|
|
static void | ExtendNeighborsPatch (ModelPart &rModelPart, const std::size_t RequiredNeighbors) |
| Same as CheckRequiredNeighborsPatch with a custom number of required neighbors. More...
|
|
static void | CalculatePolynomialWeights (ModelPart &rModelPart) |
| Fit a polynomial of degree=2 and store its derivative coefficients in FIRST_DERIVATIVE_WEIGHTS and SECOND_DERIVATIVE_WEIGHTS. More...
|
|
static void | RecoverDivergence (ModelPart &rModelPart, const Variable< array_1d< double, 3 >> &rOriginVariable, const Variable< double > &rDestinationVariable, const std::size_t BufferStep=0) |
| Recover the divergence of a vector variable. More...
|
|
static void | RecoverGradient (ModelPart &rModelPart, const Variable< double > &rOriginVariable, const Variable< array_1d< double, 3 >> &rDestinationVariable, const std::size_t BufferStep=0) |
| Recover the gradient of a scalar variable. More...
|
|
static void | RecoverLaplacian (ModelPart &rModelPart, const Variable< double > &rOriginVariable, const Variable< double > &rDestinationVariable, const std::size_t BufferStep=0) |
| Recover the laplacian of a scalar variable. More...
|
|
static void | RecoverLaplacian (ModelPart &rModelPart, const Variable< array_1d< double, 3 >> &rOriginVariable, const Variable< array_1d< double, 3 >> &rDestinationVariable, const std::size_t BufferStep=0) |
| Recover the laplacian of a vector variable as the gradient of the divergence. More...
|
|
template<std::size_t TDim>
class Kratos::DerivativesRecoveryUtility< TDim >
Superconvergent patch recovery for linear meshes using quadratic polynomials.
Zhimin Zhangand and Ahmed Naga (2006) "A new finite element gradient recovery method: superconvergence property" SIAM J. Sci. Comput., 26(4), 1192–1213. (22 pages)
The polynomial follows the next convention: p_2(x, y, z, Node) = trans(P)*a trans(P) = (1, x, y, z, x^2, y^2, z^2, xy, xz, yz) trans(a) = a_i