1412 {
1414 if (type != MBVERTEX) {
1416 }
1418
1420 double d_delta;
1422
1423 const double *dx;
1425
1426 const double *x0;
1428 a_auxFun.referenceCoords.resize(9,
false);
1429 a_auxFun.currentCoords.resize(9,
false);
1430
1433 for (
int dd = 0;
dd != 9;
dd++) {
1434 int loc_idx = data.getLocalIndices()[
dd];
1435 if (loc_idx != -1) {
1436 a_auxFun.referenceCoords[
dd] <<= x0[loc_idx];
1438 } else {
1440 }
1441 }
1442 for (
int dd = 0;
dd != 9;
dd++) {
1443 int loc_idx = data.getLocalIndices()[
dd];
1444 if (loc_idx != -1) {
1447 } else {
1449 }
1450 }
1451
1452
1453 CHKERR a_auxFun.calculateGriffithForce(1, getGaussPts()(2, 0) * 0.5,
1454 data.getDiffN(0));
1455
1456 a_delta = 0;
1457 for (int nn = 0; nn != 3; nn++) {
1459 continue;
1460 auto griffith_force =
1462
1463
1464
1465 for (
int dd = 0;
dd != 3;
dd++) {
1466 const int idx = 3 * nn +
dd;
1467 a_delta += griffith_force[
dd] * (
a_auxFun.currentCoords[idx] -
1469 }
1470 }
1471 a_delta >>= d_delta;
1472 trace_off();
1475
1477 {
1479
1481 if (r < 3) {
1483 "ADOL-C function evaluation with error r = %d", r);
1484 }
1485 }
1486
1487 for (
int dd = 0;
dd != 9;
dd++) {
1490 ADD_VALUES);
1491 }
1492
1494 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
@ MOFEM_OPERATION_UNSUCCESSFUL
@ MOFEM_DATA_INCONSISTENCY
#define CHKERR
Inline error check.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
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)
auto getVectorAdaptor(T1 ptr, const size_t n)
Get Vector adaptor.
MoFEMErrorCode setLambdaIndices(FaceElementForcesAndSourcesCore::UserDataOperator *fe_ptr, const std::string &lambda_field_name)
VectorInt3 rowLambdaIndices
MoFEMErrorCode setIndices(DataForcesAndSourcesCore::EntData &data)
VectorDouble activeVariables
AuxFunctions< adouble > a_auxFun
std::string lambdaFieldName
FrontArcLengthControl & arcFront
boost::shared_ptr< ArcLengthCtx > arcPtr