Calculate db.
1588 {
1590
1594
1596 double beta =
arcPtr->beta;
1597 double d_lambda =
arcPtr->dLambda;
1598
1601 SCATTER_FORWARD);
1604 CHKERR VecGhostUpdateBegin(
arcPtr->db, INSERT_VALUES, SCATTER_FORWARD);
1605 CHKERR VecGhostUpdateEnd(
arcPtr->db, INSERT_VALUES, SCATTER_FORWARD);
1606
1607
1609 feIntLambda->getOpPtrVector().push_back(
new OpIntLambda(
1611 feIntLambda->getOpPtrVector().push_back(
new OpAssemble_db(
1614 problemPtr->getName(),
"CRACKFRONT_AREA_ELEM", (*
feIntLambda));
1615 const double *dx;
1619 bit_field_number, dit)) {
1620 if (static_cast<int>(dit->get()->getPart()) !=
1621 arcPtr->mField.get_comm_rank())
1622 continue;
1623 int idx = dit->get()->getPetscLocalDofIdx();
1624 double val = dx[idx];
1626 }
1628
1634 SCATTER_FORWARD);
1636
1639 CHKERR VecGhostUpdateBegin(
arcPtr->db, ADD_VALUES, SCATTER_REVERSE);
1640 CHKERR VecGhostUpdateEnd(
arcPtr->db, ADD_VALUES, SCATTER_REVERSE);
1641 CHKERR VecGhostUpdateBegin(
arcPtr->db, INSERT_VALUES, SCATTER_FORWARD);
1642 CHKERR VecGhostUpdateEnd(
arcPtr->db, INSERT_VALUES, SCATTER_FORWARD);
1643
1645 alpha * beta * beta * d_lambda * d_lambda *
arcPtr->F_lambda2;
1646
1648 "WORLD", Sev::noisy,
1649 "\tintLambdaLambda = %9.8e intLambdaDelta = %9.8e intLambda = %9.8e",
1651
1652 double nrm;
1654 MOFEM_LOG_C(
"WORLD", Sev::noisy,
"\tdb nrm = %9.8e", nrm);
1655
1657 }
#define MOFEM_LOG_C(channel, severity, format,...)
#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.
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
#define MOFEM_LOG_FUNCTION()
Set scope.
#define _IT_NUMEREDDOF_ROW_BY_BITNUMBER_FOR_LOOP_(PROBLEMPTR, FIELD_BIT_NUMBER, IT)