27template <
typename ShapeFunction>
30 static constexpr int Dim = ShapeFunction::DIM;
35 Eigen::Matrix<double, Dim, Dim, Eigen::RowMajor>;
47 sm_{ShapeFunction::DIM, e.getDimension(), ShapeFunction::NPOINTS}
56 for (
int comp = 0; comp <
Dim; ++comp)
80 Eigen::Matrix<double, Dim, ShapeFunction::NPOINTS, Eigen::RowMajor>;
88 constexpr auto GlobalDim =
Dim;
89 fe.template computeShapeFunctions<NumLib::ShapeMatrixType::N_J>(
90 r_.data(),
sm_, GlobalDim,
false);
97 for (std::size_t n = 0; n < ShapeFunction::NPOINTS; ++n)
99 node_coords.col(n) = Eigen::Map<const Eigen::Vector<double, Dim>>(
108 return LocalResidualVector::Constant(0.5);
Definition of the Element class.
Definition of the Node class.
static constexpr LocalResidualVector initialGuess()
Eigen::Matrix< double, Dim, Dim, Eigen::RowMajor > LocalJacobianMatrix
void updateJacobian(LocalJacobianMatrix &J) const
static NodeCoordsMatrix getNodeCoords(MeshLib::Element const &e)
NodeCoordsMatrix const node_coords_
Eigen::Matrix< double, Dim, 1 > LocalResidualVector
Eigen::Matrix< double, Dim, ShapeFunction::NPOINTS, Eigen::RowMajor > NodeCoordsMatrix
void updateResidual(LocalResidualVector &res) const
void updateSolution(LocalResidualVector const &delta_r)
ShapeMatricesType::ShapeMatrices sm_
LocalResidualVector const & getNaturalCoordinates() const
MeshLib::Element const & e_
LocalResidualVector const x_expected_
ComputeNaturalCoordsRootFindingProblem(MeshLib::Element const &e, LocalResidualVector const &x_expected)
const double * data() const
virtual const Node * getNode(unsigned idx) const =0
NumLib::TemplateIsoparametric< ShapeFunction, ShapeMatricesType > createIsoparametricFiniteElement(MeshLib::Element const &e)
Coordinates mapping matrices at particular location.
ShapeType N
Vector of shape functions, N(r)