14 #ifndef _COORDINATE_MAPPING_H
15 #define _COORDINATE_MAPPING_H
32 const matrix<Real>& X,
const matrix<Real>& dNdu,
33 bool computeGradient =
true);
44 const matrix<Real>& X,
const matrix<Real>& dNdu,
57 const matrix<Real>& X,
const matrix<Real>& dNdu,
58 size_t t1,
size_t t2);
72 bool Hessian(matrix3d<Real>& H, matrix3d<Real>& d2NdX2,
73 const matrix<Real>& Ji,
const matrix<Real>& X,
74 const matrix3d<Real>& d2Ndu2,
const matrix<Real>& dNdX,
75 bool geoMapping =
true);
77 void Hessian(
const matrix3d<Real>& Hess, matrix<Real>& H);
83 void getGmat(
const matrix<Real>& Ji,
const Real* du, matrix<Real>& G);
90 bool Hessian2(matrix4d<Real>& d3NdX3,
91 const matrix<Real>& Ji,
const matrix4d<Real>& d3Ndu3);
98 const matrix3d<Real>& d2Xdu2,
99 std::vector<matrix<Real>>& dJdX);
106 void detJacGradient(
const matrix<Real>& J,
const matrix<Real>& Ji,
107 const matrix3d<Real>& H, std::vector<Real>& ddet);
#define Real
The floating point type to use.
Definition: ImmersedBoundaries.h:18
Simple class for representing a point in 3D space.
Definition: Vec3.h:27
Simple template classes for dense multi-dimensional matrices.
General utility classes and functions.
Definition: SIMoptions.h:22
void detJacGradient(const matrix< Real > &J, const matrix< Real > &Ji, const matrix3d< Real > &H, std::vector< Real > &ddet)
Calculates the derivatives of determinant of the Jacobian.
Definition: CoordinateMapping.C:329
void JacobianGradient(const matrix< Real > &dudX, const matrix3d< Real > &d2Xdu2, std::vector< matrix< Real >> &dJdX)
Calculates the derivatives of the Jacobian of the coordinate mapping.
Definition: CoordinateMapping.C:302
bool Hessian(matrix3d< Real > &H, matrix3d< Real > &d2NdX2, const matrix< Real > &Ji, const matrix< Real > &X, const matrix3d< Real > &d2Ndu2, const matrix< Real > &dNdX, bool geoMapping=true)
Set up the Hessian matrix of the coordinate mapping.
Definition: CoordinateMapping.C:136
Real Jacobian(matrix< Real > &J, matrix< Real > &dNdX, const matrix< Real > &X, const matrix< Real > &dNdu, bool computeGradient=true)
Set up the Jacobian matrix of the coordinate mapping.
Definition: CoordinateMapping.C:24
void getGmat(const matrix< Real > &Ji, const Real *du, matrix< Real > &G)
Compute the stabilization matrix G from the Jacobian inverse.
Definition: CoordinateMapping.C:213
bool Hessian2(matrix4d< Real > &d3NdX3, const matrix< Real > &Ji, const matrix4d< Real > &d3Ndu3)
Set up third-order derivatives of the coordinate mapping.
Definition: CoordinateMapping.C:229