546 {
548
551 {
552 std::vector<double> data(verts.size() * 3, 0);
554 }
557
558 for (Range::iterator tit =
tRis.begin(); tit !=
tRis.end(); ++tit) {
559 int num_nodes;
563
564 int nb_dofs = num_nodes * 3;
567
570 &*coords.begin());
571 } else {
573 &*coords.begin());
574 }
575 for (
int dd = 0;
dd != nb_dofs;
dd++) {
577 }
580 &*coords.begin());
581 for (
int dd = 0;
dd != nb_dofs;
dd++) {
583 }
584
586
587 double *tag_vals[3];
589 (const void **)tag_vals);
590 for (int nn = 0; nn != 3; ++nn) {
591 for (
int dd = 0;
dd != 3; ++
dd) {
593 }
594 }
595 }
596
598 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
UBlasMatrix< double > MatrixDouble
VectorBoundedArray< double, 9 > VectorDouble9
ublas::vector< TYPE > currentCoords
ublas::vector< TYPE > referenceCoords
MoFEMErrorCode calculateGriffithForce(const double gc, const double beta, const MatrixDouble &diff_n)
ublas::vector< TYPE > griffithForce
virtual moab::Interface & get_moab()=0