1089 if (row_type != MBVERTEX || col_type != MBVERTEX)
1103 for (
int dd = 0;
dd != 9;
dd++) {
1104 double val = getCoords()[
dd];
1108 for (
int dd = 0;
dd != 9;
dd++) {
1109 double val = row_data.getFieldData()[
dd];
1115 row_data.getDiffN(0));
1119 for (
int nn = 0; nn != 3; nn++) {
1120 if (col_data.getIndices()[nn] == -1)
1124 "data inconsistency");
1126 for (
int dd = 0;
dd != 3;
dd++) {
1127 int idx = 3 * nn +
dd;
1128 if (row_data.getFieldDofs()[idx]->getEnt() !=
1129 col_data.getFieldDofs()[nn]->getEnt()) {
1131 "data inconsistency");
1138 for (
int nn = 0; nn != 3; nn++) {
1145 for (
int nn = 0; nn != 3; nn++) {
1155 "ADOL-C function evaluation with error r = %d",
r);
1159 const double *
delta;
1160 Vec delta_vec_local;
1163 CHKERR VecGetSize(delta_vec_local, &vec_size);
1165 nG_dX.resize(3, 9,
false);
1167 for (
int nn = 0; nn != 3; ++nn) {
1168 int local_idx = col_data.getLocalIndices()[nn];
1171 "data inconsistency");
1173 if (local_idx == -1)
1175 if (vec_size < local_idx) {
1179 "data inconsistency %d < %d (%d)", vec_size, local_idx,
1184 for (
int dd = 0;
dd != 9;
dd++) {
1186 nG_dX(nn,
dd) = diff_constrain * diffW;
1189 CHKERR VecRestoreArrayRead(delta_vec_local, &
delta);
1192 &*col_data.getIndices().data().begin(), 9,
1193 &*row_data.getIndices().data().begin(),
1194 &*
nG_dX.data().begin(), ADD_VALUES);
1200 d_dA.resize(9,
false);
1201 a_dA.resize(9,
false);
1206 for (
int dd = 0;
dd != 9;
dd++) {
1207 double val = getCoords()[
dd];
1211 for (
int dd = 0;
dd != 9;
dd++) {
1212 double val = row_data.getFieldData()[
dd];
1216 for (
int nn = 0; nn != 3; nn++) {
1217 double val = col_data.getFieldData()[nn];
1223 row_data.getDiffN(0));
1225 std::fill(
a_dA.begin(),
a_dA.end(), 0);
1226 for (
int nn = 0; nn != 3; nn++) {
1227 if (col_data.getIndices()[nn] == -1)
1229 for (
int dd = 0;
dd != 3;
dd++) {
1230 int idx = 3 * nn +
dd;
1234 for (
int dd = 0;
dd != 9;
dd++) {
1241 for (
int dd = 0;
dd != 9; ++
dd) {
1253 "ADOL-C function evaluation with error r = %d",
r);
1258 for (
int rr = 0; rr != 9; rr++) {
1259 for (
int cc = 0; cc != 3; cc++) {
1264 3, &*col_data.getIndices().data().begin(),
1267 nF_dX.resize(9, 9,
false);
1268 for (
int rr = 0; rr != 9; rr++) {
1269 for (
int cc = 0; cc != 9; cc++) {
1274 9, &*row_data.getIndices().data().begin(),
1275 &*
nF_dX.data().begin(), ADD_VALUES);