![]() |
OGS
|
Models the computation of natural coordinates inside a given mesh element for some given real coordinates as a root finding problem.
That root finding problem is designed such that it can be easily used/solved by the NumLib::NewtonRaphson solver.
Definition at line 28 of file ComputeNaturalCoordsRootFindingProblem.h.
#include <ComputeNaturalCoordsRootFindingProblem.h>
Public Types | |
using | LocalJacobianMatrix |
using | LocalResidualVector = Eigen::Matrix<double, Dim, 1> |
Public Member Functions | |
ComputeNaturalCoordsRootFindingProblem (MeshLib::Element const &e, LocalResidualVector const &x_expected) | |
void | updateJacobian (LocalJacobianMatrix &J) const |
void | updateResidual (LocalResidualVector &res) const |
void | updateSolution (LocalResidualVector const &delta_r) |
LocalResidualVector const & | getNaturalCoordinates () const |
Private Types | |
using | ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, Dim> |
using | NodeCoordsMatrix |
Private Member Functions | |
void | updateShp () |
Static Private Member Functions | |
static NodeCoordsMatrix | getNodeCoords (MeshLib::Element const &e) |
static constexpr LocalResidualVector | initialGuess () |
Private Attributes | |
MeshLib::Element const & | e_ |
NodeCoordsMatrix const | node_coords_ |
LocalResidualVector const | x_expected_ |
ShapeMatricesType::ShapeMatrices | sm_ |
LocalResidualVector | r_ = initialGuess() |
Static Private Attributes | |
static constexpr int | Dim = ShapeFunction::DIM |
using ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::LocalJacobianMatrix |
Definition at line 34 of file ComputeNaturalCoordsRootFindingProblem.h.
using ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::LocalResidualVector = Eigen::Matrix<double, Dim, 1> |
Used for the residuum ("res"), the solution vector ("r", natural coordinates) and real coordinates ("x").
Definition at line 38 of file ComputeNaturalCoordsRootFindingProblem.h.
|
private |
Definition at line 79 of file ComputeNaturalCoordsRootFindingProblem.h.
|
private |
Definition at line 31 of file ComputeNaturalCoordsRootFindingProblem.h.
|
inline |
Definition at line 40 of file ComputeNaturalCoordsRootFindingProblem.h.
References ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateShp().
|
inline |
Definition at line 76 of file ComputeNaturalCoordsRootFindingProblem.h.
References ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::r_.
|
inlinestaticprivate |
Definition at line 93 of file ComputeNaturalCoordsRootFindingProblem.h.
References MathLib::Point3d::data(), and MeshLib::Element::getNode().
|
inlinestaticconstexprprivate |
Definition at line 106 of file ComputeNaturalCoordsRootFindingProblem.h.
|
inline |
Definition at line 52 of file ComputeNaturalCoordsRootFindingProblem.h.
References ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::Dim, NumLib::ShapeMatrices< T_N, T_DNDR, T_J, T_DNDX >::dNdr, ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::node_coords_, and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::sm_.
|
inline |
Definition at line 62 of file ComputeNaturalCoordsRootFindingProblem.h.
References NumLib::ShapeMatrices< T_N, T_DNDR, T_J, T_DNDX >::N, ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::node_coords_, ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::sm_, and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::x_expected_.
|
inlineprivate |
Definition at line 82 of file ComputeNaturalCoordsRootFindingProblem.h.
References NumLib::createIsoparametricFiniteElement(), ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::Dim, ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::e_, ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::r_, and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::sm_.
Referenced by ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::ComputeNaturalCoordsRootFindingProblem(), and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateSolution().
|
inline |
Updates the current guess.
delta_r | the solution increment (natural coordinates) |
Definition at line 70 of file ComputeNaturalCoordsRootFindingProblem.h.
References ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::r_, and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateShp().
|
staticconstexprprivate |
|
private |
Definition at line 111 of file ComputeNaturalCoordsRootFindingProblem.h.
Referenced by ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateShp().
|
private |
|
private |
Definition at line 116 of file ComputeNaturalCoordsRootFindingProblem.h.
Referenced by ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::getNaturalCoordinates(), ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateShp(), and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateSolution().
|
private |
Definition at line 115 of file ComputeNaturalCoordsRootFindingProblem.h.
Referenced by ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateJacobian(), ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateResidual(), and ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateShp().
|
private |
Definition at line 113 of file ComputeNaturalCoordsRootFindingProblem.h.
Referenced by ApplicationUtils::ComputeNaturalCoordsRootFindingProblem< ShapeFunction >::updateResidual().