142 {
144
146
147 PARENT_ELE parent_fe(this->getPtrFE()->mField);
153
155 << "parent_coords in op "
156 <<
static_cast<ELE_OP *
>(op_ptr)->getCoordsAtGaussPts();
157
158 parent_coords =
static_cast<ELE_OP *
>(op_ptr)->getCoordsAtGaussPts();
160 };
161 parent_fe.getOpPtrVector().push_back(op);
162
163 MOFEM_LOG(
"SELF", Sev::noisy) <<
"fe name " << this->getFEName();
164 CHKERR this->loopParent(this->getFEName(), &parent_fe);
165 MOFEM_LOG(
"SELF", Sev::noisy) <<
"parent_coords " << parent_coords;
166
167 MatrixDouble child_coords = this->getCoordsAtGaussPts();
168 MOFEM_LOG(
"SELF", Sev::noisy) <<
"child_coords " << child_coords;
169
170 child_coords -= parent_coords;
171
172 MOFEM_LOG(
"SELF", Sev::noisy) <<
"Corrds diffs" << child_coords;
173
175 for (auto d : child_coords.data())
177
180 "Parent and child global coords at integration points are "
181 "diffrent norm = %3.2e",
183
185 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_ATOM_TEST_INVALID
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
#define MOFEM_LOG(channel, severity)
Log.
const double n
refractive index of diffusive medium
base operator to do operations at Gauss Pt. level
Data on single entity (This is passed as argument to DataOperator::doWork)