2#ifndef included_AMP_UpdatedLagrangianUtils
3#define included_AMP_UpdatedLagrangianUtils
26void matCopy(
double A[3][3],
double B[3][3] );
36void eigenVectors(
double A[3][3],
double val[3],
double vec[3][3] );
38void solveEquation(
double A[3][3], std::vector<std::array<double, 3>> &sols );
44void cubicRoots(
double a,
double b,
double c,
double d,
double &r1,
double &r2,
double &r3 );
92 double dNdxi[8],
double dNdeta[8],
double dNdzeta[8],
double xi,
double eta,
double zeta );
120 double dN_dynp1o2[8],
121 double dN_dznp1o2[8],
125 unsigned int num_nodes,
126 double d_np1o2[3][3] );
double matDeterminant(double A[3][3])
void pushforwardCorotationalStiffness(double Q[3][3], double K[6][6], double QQKQtQt[6][6])
void matScale(double A[3][3], double c)
void firstCubicRoot(double a, double b, double c, double d, double &r1)
void matTranspose(double A[3][3], double B[3][3])
void computeGradient(double dN_dxnp1o2[8], double dN_dynp1o2[8], double dN_dznp1o2[8], double delta_u[8], double delta_v[8], double delta_w[8], unsigned int num_nodes, double d_np1o2[3][3])
void matVecMultiply(double A[3][3], double b[3], double c[3])
void constructShapeFunctionDerivatives(double dNdx[8], double dNdy[8], double dNdz[8], double x[8], double y[8], double z[8], double xi, double eta, double zeta, double detJ[1])
void pullbackCorotational(double Q[3][3], double A[3][3], double QtAQ[3][3])
void solveEquation(double A[3][3], std::vector< std::array< double, 3 > > &sols)
void matDiagMatMultiply(double P1[3][3], double D[3], double P2[3][3], double A[3][3])
void pushforwardCorotational(double Q[3][3], double A[3][3], double QAQt[3][3])
bool softEquals(double a, double b)
void polarDecomposeRU(double A[3][3], double R[3][3], double U[3][3])
void eigenValues(double A[3][3], double val[3])
void polarDecompositionFeqRU_Simo(double F[3][3], double R[3][3], double U[3][3])
void orthonormalize(std::vector< std::array< double, 3 > > &vecs)
double matTrace(double A[3][3])
void cubicRoots(double a, double b, double c, double d, double &r1, double &r2, double &r3)
void computeJInverse(double G[3][3], double dNdxi[8], double dNdeta[8], double dNdzeta[8], double x[8], double y[8], double z[8], double detJ[1])
void computeShapeFunctions(double N[8], double xi, double eta, double zeta)
void matrixOuterProduct(double Qia[3][3], double Qjb[3][3], double Tijab[6][6])
void vecVecAddition(double a[3], double b[3], double c[3])
void matMatMultiply(double A[3][3], double B[3][3], double C[3][3])
void eigenVectors(double A[3][3], double val[3], double vec[3][3])
void jaumannToCauchy(double Om[3][3], double Sg[3][3])
void quadraticRoots(double a, double b, double c, double &r1, double &r2)
void matCopy(double A[3][3], double B[3][3])
void computeLocalDerivatives(double dNdxi[8], double dNdeta[8], double dNdzeta[8], double xi, double eta, double zeta)
void matInverse(double A[3][3], double B[3][3])