v0.14.0
EshelbianOperators.hpp
Go to the documentation of this file.
1 /**
2  * @file EshelbianOperators.hpp
3  * @author your name (you@domain.com)
4  * @brief
5  * @version 0.1
6  * @date 2024-12-31
7  *
8  * @copyright Copyright (c) 2024
9  *
10  */
11 
12 
13 
14 struct OpJacobian : public UserDataOperator {
15 
16  OpJacobian(const int tag, const bool eval_rhs, const bool eval_lhs,
17  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
18  boost::shared_ptr<PhysicalEquations> physics_ptr)
19  : UserDataOperator(NOSPACE, OPSPACE), tAg(tag), evalRhs(eval_rhs),
20  evalLhs(eval_lhs), dataAtPts(data_ptr), physicsPtr(physics_ptr) {}
21 
22  virtual MoFEMErrorCode evaluateRhs(EntData &data) = 0;
23  virtual MoFEMErrorCode evaluateLhs(EntData &data) = 0;
24 
25  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
26 
27 protected:
29 
30  int tAg = -1; ///< adol-c tape
31  bool evalRhs = false;
32  bool evalLhs = false;
33 
34  boost::shared_ptr<DataAtIntegrationPts>
35  dataAtPts; ///< data at integration pts
36  boost::shared_ptr<PhysicalEquations>
37  physicsPtr; ///< material physical equations
38 };
39 
40 template <typename T> struct OpAssembleBasic : public T {
41 
42  using ScaleOff = boost::function<double()>;
43  const bool assembleSymmetry;
44 
45  boost::shared_ptr<DataAtIntegrationPts>
46  dataAtPts; ///< data at integration pts
47 
48  OpAssembleBasic(const std::string &field_name,
49  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
50  const char type)
51  : T(field_name, type), dataAtPts(data_ptr), assembleSymmetry(false) {}
52 
54  std::string row_field, std::string col_field,
55  boost::shared_ptr<DataAtIntegrationPts> data_ptr, const char type,
56  const bool assemble_symmetry, ScaleOff scale_off = []() { return 1; })
57  : T(row_field, col_field, type, false), dataAtPts(data_ptr),
58  assembleSymmetry(assemble_symmetry), scaleOff(scale_off) {}
59 
60  VectorDouble nF; ///< local right hand side vector
61  MatrixDouble K; ///< local tangent matrix
63 
65 
66  virtual MoFEMErrorCode integrate(EntData &data) {
68  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "Not yet implemented");
70  }
71 
72  virtual MoFEMErrorCode integrate(int row_side, EntityType row_type,
73  EntData &data) {
75  CHKERR integrate(data);
77  }
78 
79  virtual MoFEMErrorCode assemble(EntData &data) {
81  double *vec_ptr = &*nF.begin();
82  int nb_dofs = data.getIndices().size();
83  int *ind_ptr = &*data.getIndices().begin();
84  CHKERR VecSetValues(this->getTSf(), nb_dofs, ind_ptr, vec_ptr, ADD_VALUES);
86  }
87 
88  virtual MoFEMErrorCode assemble(int row_side, EntityType row_type,
89  EntData &data) {
91  CHKERR assemble(data);
93  }
94 
95  virtual MoFEMErrorCode integrate(EntData &row_data, EntData &col_data) {
97  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "Not yet implemented");
99  }
100 
101  virtual MoFEMErrorCode assemble(int row_side, int col_side,
102  EntityType row_type, EntityType col_type,
103  EntData &row_data, EntData &col_data) {
105 
106  if (assembleSymmetry) {
107  const auto row_nb_dofs = row_data.getIndices().size();
108  const auto col_nb_dofs = col_data.getIndices().size();
109  transposeK.resize(col_nb_dofs, row_nb_dofs, false);
110  noalias(transposeK) = trans(K);
111  transposeK *= scaleOff();
112  }
113 
114  CHKERR MatSetValues<AssemblyTypeSelector<A>>(this->getTSB(), row_data,
115  col_data, K, ADD_VALUES);
116  if (assembleSymmetry) {
117  CHKERR MatSetValues<AssemblyTypeSelector<A>>(
118  this->getTSB(), col_data, row_data, transposeK, ADD_VALUES);
119  }
120 
122  }
123 
124  MoFEMErrorCode doWork(int side, EntityType type, EntData &data) {
126  if (data.getIndices().empty())
128  nF.resize(data.getIndices().size(), false);
129  nF.clear();
130  CHKERR integrate(side, type, data);
131  CHKERR assemble(side, type, data);
133  }
134 
135  MoFEMErrorCode doWork(int row_side, int col_side, EntityType row_type,
136  EntityType col_type, EntData &row_data,
137  EntData &col_data) {
139  if (row_data.getIndices().empty())
141  if (col_data.getIndices().empty())
143  K.resize(row_data.getIndices().size(), col_data.getIndices().size(), false);
144  K.clear();
145  CHKERR integrate(row_data, col_data);
146  CHKERR assemble(row_side, col_side, row_type, col_type, row_data, col_data);
148  }
149 };
150 
151 struct OpAssembleVolume : public OpAssembleBasic<VolUserDataOperator> {
153 };
154 
155 struct OpAssembleFace : public OpAssembleBasic<FaceUserDataOperator> {
157 };
158 
159 // Add operator to calculate Eshelby tensor
160 
163  OpCalculateEshelbyStress(boost::shared_ptr<DataAtIntegrationPts> data_ptr)
165  dataAtPts(data_ptr) {}
166  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
167 
168 private:
169  boost::shared_ptr<DataAtIntegrationPts>
170  dataAtPts; ///< data at integration pts
171 };
172 
174 
176  boost::shared_ptr<DataAtIntegrationPts> data_ptr, double alpha_omega = 0)
178  alphaOmega(alpha_omega) {}
179  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
180 
181 private:
182  boost::shared_ptr<DataAtIntegrationPts>
183  dataAtPts; ///< data at integration pts
184  double alphaOmega;
185 };
186 
189  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
190  : SideEleOp(NOSPACE, SideEleOp::OPSPACE), dataAtPts(data_ptr) {
191  std::fill(&doEntities[MBVERTEX], &doEntities[MBMAXTYPE], false);
192  for (auto t = moab::CN::TypeDimensionMap[SPACE_DIM].first;
193  t <= moab::CN::TypeDimensionMap[SPACE_DIM].second; ++t)
194  doEntities[t] = true;
195  sYmm = false;
196  }
197  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
198 
199 private:
200  boost::shared_ptr<DataAtIntegrationPts>
201  dataAtPts; ///< data at integration pts
202 };
203 
205  OpCalculateReactionForces(boost::shared_ptr<DataAtIntegrationPts> data_ptr,
206  std::string block_name, Range block_entities,
207  std::array<double, 6> &reaction_vec)
208  : FaceUserDataOperator(NOSPACE, OPSPACE), dataAtPts(data_ptr),
209  blockName(block_name), blockEntities(block_entities),
210  reactionVec(reaction_vec) {}
211  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
212 
213 private:
214  boost::shared_ptr<DataAtIntegrationPts>
215  dataAtPts; ///< data at integration pts
217  std::string blockName;
218  std::array<double, 6> &reactionVec;
219 };
220 
222  OpSpatialEquilibrium(const std::string &field_name,
223  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
224  const double alpha, const double rho)
225  : OpAssembleVolume(field_name, data_ptr, OPROW), alphaW(alpha),
226  alphaRho(rho) {}
228 
229 private:
230  const double alphaW;
231  const double alphaRho;
232 
233 };
234 
236  OpSpatialRotation(const std::string &field_name,
237  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
238  double alpha_omega)
239  : OpAssembleVolume(field_name, data_ptr, OPROW), alphaOmega(alpha_omega) {
240  }
242 
243 private:
244  double alphaOmega;
245 };
246 
248  OpSpatialConsistencyP(const std::string &field_name,
249  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
250  : OpAssembleVolume(field_name, data_ptr, OPROW) {}
252 
253 private:
254 };
255 
258  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
259  : OpAssembleVolume(field_name, data_ptr, OPROW) {}
261 
262 private:
263 };
264 
267  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
268  : OpAssembleVolume(field_name, data_ptr, OPROW) {}
270 };
271 
272 template <AssemblyType A, IntegrationType I> struct OpDispBcImpl;
273 
274 template <AssemblyType A>
276  : public FormsIntegrators<FaceUserDataOperator>::Assembly<A>::OpBrokenBase {
277 
278  using OP = typename FormsIntegrators<FaceUserDataOperator>::Assembly<
280 
282  boost::shared_ptr<std::vector<BrokenBaseSideData>> broken_base_side_data,
283  boost::shared_ptr<BcDispVec> &bc_disp_ptr,
284  std::vector<boost::shared_ptr<ScalingMethod>> smv,
285  boost::shared_ptr<Range> ents_ptr = nullptr)
286  : OP(broken_base_side_data, ents_ptr), bcDispPtr(bc_disp_ptr),
287  scalingMethodsVec(smv) {}
288 
289 protected:
290  MoFEMErrorCode iNtegrate(EntData &data);
291  boost::shared_ptr<BcDispVec> bcDispPtr;
292  std::vector<boost::shared_ptr<ScalingMethod>> scalingMethodsVec;
293 };
294 
295 struct OpDispBc : public OpDispBcImpl<PETSC, GAUSS> {
297  using OP::OpDispBcImpl;
298 
299 protected:
301 };
302 
303 template <AssemblyType A, IntegrationType I> struct OpRotationBcImpl;
304 
305 template <AssemblyType A>
307  : public FormsIntegrators<FaceUserDataOperator>::Assembly<A>::OpBrokenBase {
308 
309  using OP = typename FormsIntegrators<FaceUserDataOperator>::Assembly<
311 
313  boost::shared_ptr<std::vector<BrokenBaseSideData>> broken_base_side_data,
314  boost::shared_ptr<BcRotVec> &bc_rot_ptr,
315  std::vector<boost::shared_ptr<ScalingMethod>> smv,
316  boost::shared_ptr<Range> ents_ptr = nullptr)
317  : OP(broken_base_side_data, ents_ptr), bcRotPtr(bc_rot_ptr),
318  scalingMethodsVec(smv) {}
319 
320 protected:
321  MoFEMErrorCode iNtegrate(EntData &data);
322  boost::shared_ptr<BcRotVec> bcRotPtr;
323  std::vector<boost::shared_ptr<ScalingMethod>> scalingMethodsVec;
324 };
325 
326 struct OpRotationBc : public OpRotationBcImpl<PETSC, GAUSS> {
328  using OP::OpRotationBcImpl;
329 
330 protected:
332 };
333 
335  : public FormsIntegrators<FaceUserDataOperator>::Assembly<PETSC>::OpBase {
336  OpBrokenTractionBc(const std::string row_field,
337  boost::shared_ptr<TractionBcVec> bc_data,
338  boost::shared_ptr<double> piola_scale_ptr,
339  std::vector<boost::shared_ptr<ScalingMethod>> smv)
340  : FormsIntegrators<FaceUserDataOperator>::Assembly<PETSC>::OpBase(
341  row_field, row_field, FaceUserDataOperator::OPROW),
342  bcData(bc_data), piolaScalePtr(), scalingMethodsVec(smv) {}
343 
345 
346 protected:
347  boost::shared_ptr<TractionBcVec> bcData;
348  boost::shared_ptr<double> piolaScalePtr;
349  std::vector<boost::shared_ptr<ScalingMethod>> scalingMethodsVec;
350 };
351 
353  OpSpatialEquilibrium_dw_dP(std::string row_field, std::string col_field,
354  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
355  const bool assemble_off = false)
356  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
357  assemble_off) {
358  sYmm = false;
359  }
360  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
361 };
362 
364  const double alphaW;
365  const double alphaRho;
366  OpSpatialEquilibrium_dw_dw(std::string row_field, std::string col_field,
367  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
368  const double alpha, const double rho)
369  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false),
370  alphaW(alpha), alphaRho(rho) {
371  sYmm = true;
372  }
373  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
374 };
375 
377  OpSpatialPhysical_du_dP(std::string row_field, std::string col_field,
378  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
379  const bool assemble_off = false)
380  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
381  assemble_off) {
382  sYmm = false;
383  }
384 
385  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
386 };
387 
389  OpSpatialPhysical_du_dBubble(std::string row_field, std::string col_field,
390  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
391  const bool assemble_off = false)
392  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
393  assemble_off) {
394  sYmm = false;
395  }
396 
397  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
398 };
399 
401  using OpAssembleVolume::OpAssembleVolume;
402  OpSpatialPhysical_du_domega(std::string row_field, std::string col_field,
403  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
404  const bool assemble_off)
405  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
406  assemble_off) {
407  sYmm = false;
408  }
409  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
410 };
411 
413  OpSpatialRotation_domega_du(std::string row_field, std::string col_field,
414  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
415  double alpha_omega)
416  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false) {
417  sYmm = false;
418  }
419  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
420 private:
421 };
422 
424  OpSpatialRotation_domega_dP(std::string row_field, std::string col_field,
425  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
426  const bool assemble_off)
427  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
428  assemble_off) {
429  sYmm = false;
430  }
431  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
432 };
433 
436  std::string row_field, std::string col_field,
437  boost::shared_ptr<DataAtIntegrationPts> data_ptr, const bool assemble_off)
438  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
439  assemble_off) {
440  sYmm = false;
441  }
442  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
443 };
444 
445 
448  std::string row_field, std::string col_field,
449  boost::shared_ptr<DataAtIntegrationPts> data_ptr, double alpha_omega)
450  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false),
451  alphaOmega(alpha_omega) {
452  sYmm = false;
453  }
454  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
455 
456 private:
457  double alphaOmega;
458 };
459 
461  OpSpatialConsistency_dP_dP(std::string row_field, std::string col_field,
462  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
463  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false) {
464  sYmm = false;
465  }
466  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
467 
468 private:
469  template <int S>
470  MoFEMErrorCode integrateImpl(EntData &row_data, EntData &col_data);
471 };
472 
475  std::string row_field, std::string col_field,
476  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
477  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false) {
478  sYmm = false;
479  }
480  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
481 
482 private:
483  template <int S>
484  MoFEMErrorCode integrateImpl(EntData &row_data, EntData &col_data);
485 };
486 
489  std::string row_field, std::string col_field,
490  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
491  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, true) {
492  sYmm = false;
493  }
494  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
495 
496 private:
497  template <int S>
498  MoFEMErrorCode integrateImpl(EntData &row_data, EntData &col_data);
499 };
500 
503  std::string row_field, std::string col_field,
504  boost::shared_ptr<DataAtIntegrationPts> data_ptr, const bool assemble_off)
505  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
506  assemble_off) {
507  sYmm = false;
508  }
509  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
510 
511 private:
512 };
513 
516  std::string row_field, std::string col_field,
517  boost::shared_ptr<DataAtIntegrationPts> data_ptr, const bool assemble_off)
518  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL,
519  assemble_off) {
520  sYmm = false;
521  }
522  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
523 
524 private:
525 };
526 
529 
531 
533  std::vector<EntityHandle> &mapGaussPts;
534  boost::shared_ptr<DataAtIntegrationPts> dataAtPts;
535 
537  std::vector<EntityHandle> &map_gauss_pts,
538  boost::shared_ptr<DataAtIntegrationPts> data_ptr,
539  int sense)
540  : OP(NOSPACE, UserDataOperator::OPSPACE), postProcMesh(post_proc_mesh),
541  mapGaussPts(map_gauss_pts), dataAtPts(data_ptr), tagSense(sense) {}
542 
543  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
544 
545 private:
546  int tagSense;
547 };
548 
550  OpSpatialPrj(std::string row_field,
551  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
552  : OpAssembleVolume(row_field, data_ptr, OPROW) {}
553  MoFEMErrorCode integrate(EntData &row_data);
554 };
555 
557  OpSpatialPrj_dx_dx(std::string row_field, std::string col_field,
558  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
559  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false) {
560  // FIXME: That is symmetric
561  sYmm = false;
562  }
563  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
564 };
565 
567  OpSpatialPrj_dx_dw(std::string row_field, std::string col_field,
568  boost::shared_ptr<DataAtIntegrationPts> data_ptr)
569  : OpAssembleVolume(row_field, col_field, data_ptr, OPROWCOL, false) {
570  sYmm = false;
571  }
572  MoFEMErrorCode integrate(EntData &row_data, EntData &col_data);
573 };
574 
575 
576 
579 
581 
582  OpReleaseEnergy(boost::shared_ptr<DataAtIntegrationPts> data_ptr,
583  boost::shared_ptr<double> release_energy_ptr)
584  : OP(NOSPACE, OPSPACE), dataAtPts(data_ptr),
585  releaseEnergyPtr(release_energy_ptr) {
586  if (!releaseEnergyPtr)
588  "releaseEnergyPtr is nullptr");
589  }
590 
591  MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
592 
593 private:
594  boost::shared_ptr<DataAtIntegrationPts>
595  dataAtPts; ///< data at integration pts
596  boost::shared_ptr<double> releaseEnergyPtr;
597 };
598 
599 template <int FE_DIM, int PROBLEM_DIM, int SPACE_DIM> struct AddHOOps;
600 
601 template <> struct AddHOOps<2, 3, 3> {
602  AddHOOps() = delete;
603  static MoFEMErrorCode
604  add(boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
605  std::vector<FieldSpace> space, std::string geom_field_name,
606  boost::shared_ptr<Range> crack_front_edges_ptr);
607 };
608 
609 template <> struct AddHOOps<3, 3, 3> {
610  AddHOOps() = delete;
611  static MoFEMErrorCode
612  add(boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
613  std::vector<FieldSpace> space, std::string geom_field_name,
614  boost::shared_ptr<Range> crack_front_edges_ptr);
615 };
616 
OpBrokenTractionBc::scalingMethodsVec
std::vector< boost::shared_ptr< ScalingMethod > > scalingMethodsVec
Definition: EshelbianOperators.hpp:349
NOSPACE
@ NOSPACE
Definition: definitions.h:83
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:460
OpSpatialConsistencyDivTerm
Definition: EshelbianOperators.hpp:265
OpRotationBcImpl< A, GAUSS >::OpRotationBcImpl
OpRotationBcImpl(boost::shared_ptr< std::vector< BrokenBaseSideData >> broken_base_side_data, boost::shared_ptr< BcRotVec > &bc_rot_ptr, std::vector< boost::shared_ptr< ScalingMethod >> smv, boost::shared_ptr< Range > ents_ptr=nullptr)
Definition: EshelbianOperators.hpp:312
OpAssembleBasic::K
MatrixDouble K
local tangent matrix
Definition: EshelbianOperators.hpp:61
OpJacobian::evalLhs
bool evalLhs
Definition: EshelbianOperators.hpp:32
OpReleaseEnergy::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: EshelbianOperators.hpp:595
MoFEM::EntitiesFieldData::EntData
Data on single entity (This is passed as argument to DataOperator::doWork)
Definition: EntitiesFieldData.hpp:128
OpSpatialConsistency_dBubble_dBubble::integrateImpl
MoFEMErrorCode integrateImpl(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1947
OpReleaseEnergy::releaseEnergyPtr
boost::shared_ptr< double > releaseEnergyPtr
Definition: EshelbianOperators.hpp:596
OpRotationBc::iNtegrate
MoFEMErrorCode iNtegrate(EntData &data)
Definition: EshelbianOperators.cpp:1274
OpSpatialRotation::OpSpatialRotation
OpSpatialRotation(const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, double alpha_omega)
Definition: EshelbianOperators.hpp:236
OpCalculateEshelbyStress::doWork
MoFEMErrorCode doWork(int row_side, EntityType row_type, EntData &row_data)
Operator for linear form, usually to calculate values on right hand side.
Definition: EshelbianOperators.cpp:24
OpDispBcImpl
Definition: EshelbianOperators.hpp:272
OpSpatialPrj
Definition: EshelbianOperators.hpp:549
MoFEM::ForcesAndSourcesCore::UserDataOperator::OPSPACE
@ OPSPACE
operator do Work is execute on space data
Definition: ForcesAndSourcesCore.hpp:570
OpSpatialConsistencyBubble
Definition: EshelbianOperators.hpp:256
OpJacobian::evalRhs
bool evalRhs
Definition: EshelbianOperators.hpp:31
OpSpatialConsistencyP::OpSpatialConsistencyP
OpSpatialConsistencyP(const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:248
rho
double rho
Definition: plastic.cpp:144
OpPostProcDataStructure::tagSense
int tagSense
Definition: EshelbianOperators.hpp:546
OpCalculateRotationAndSpatialGradient::OpCalculateRotationAndSpatialGradient
OpCalculateRotationAndSpatialGradient(boost::shared_ptr< DataAtIntegrationPts > data_ptr, double alpha_omega=0)
Definition: EshelbianOperators.hpp:175
OpSpatialConsistencyDivTerm::OpSpatialConsistencyDivTerm
OpSpatialConsistencyDivTerm(const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:266
OpDispBc::iNtegrate
MoFEMErrorCode iNtegrate(EntData &data)
Definition: EshelbianOperators.cpp:1199
OpSpatialPhysical_du_dP::OpSpatialPhysical_du_dP
OpSpatialPhysical_du_dP(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off=false)
Definition: EshelbianOperators.hpp:377
OpAssembleBasic::integrate
virtual MoFEMErrorCode integrate(int row_side, EntityType row_type, EntData &data)
Definition: EshelbianOperators.hpp:72
CHK_THROW_MESSAGE
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
Definition: definitions.h:609
OpJacobian::evaluateLhs
virtual MoFEMErrorCode evaluateLhs(EntData &data)=0
OpAssembleBasic::integrate
virtual MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.hpp:95
OpCalculateReactionForces::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Definition: EshelbianOperators.cpp:823
OpSpatialConsistencyP::integrate
MoFEMErrorCode integrate(EntData &data)
Definition: EshelbianOperators.cpp:959
OpPostProcDataStructure::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
Definition: EshelbianOperators.hpp:534
OpSpatialConsistency_dBubble_dBubble::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1933
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
OpCalculateTractionFromSideEl::OpCalculateTractionFromSideEl
OpCalculateTractionFromSideEl(boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:188
OpAssembleBasic::OpAssembleBasic
OpAssembleBasic(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const char type, const bool assemble_symmetry, ScaleOff scale_off=[]() { return 1;})
Definition: EshelbianOperators.hpp:53
MoFEM::Types::MatrixDouble
UBlasMatrix< double > MatrixDouble
Definition: Types.hpp:77
OpSpatialRotation_domega_du::OpSpatialRotation_domega_du
OpSpatialRotation_domega_du(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, double alpha_omega)
Definition: EshelbianOperators.hpp:413
OpAssembleBasic::assembleSymmetry
const bool assembleSymmetry
Definition: EshelbianOperators.hpp:43
OpJacobian::tAg
int tAg
adol-c tape
Definition: EshelbianOperators.hpp:30
OpSpatialPrj_dx_dw::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
OpCalculateReactionForces::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: EshelbianOperators.hpp:215
OpPostProcDataStructure
Definition: EshelbianOperators.hpp:527
MoFEM::PETSC
@ PETSC
Definition: FormsIntegrators.hpp:105
OpSpatialEquilibrium_dw_dw::alphaW
const double alphaW
Definition: EshelbianOperators.hpp:364
A
constexpr AssemblyType A
Definition: operators_tests.cpp:30
OpSpatialConsistency_dBubble_dP
Definition: EshelbianOperators.hpp:487
OpSpatialConsistency_dP_domega::OpSpatialConsistency_dP_domega
OpSpatialConsistency_dP_domega(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off)
Definition: EshelbianOperators.hpp:502
OpSpatialRotation_domega_domega::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1798
OpSpatialRotation_domega_domega::OpSpatialRotation_domega_domega
OpSpatialRotation_domega_domega(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, double alpha_omega)
Definition: EshelbianOperators.hpp:447
OpBrokenTractionBc::bcData
boost::shared_ptr< TractionBcVec > bcData
Definition: EshelbianOperators.hpp:347
OpCalculateReactionForces::blockName
std::string blockName
Definition: EshelbianOperators.hpp:217
OpSpatialEquilibrium::alphaRho
const double alphaRho
Definition: EshelbianOperators.hpp:231
AddHOOps
Definition: EshelbianOperators.hpp:599
OpSpatialRotation_domega_dBubble::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1750
OpBrokenTractionBc::piolaScalePtr
boost::shared_ptr< double > piolaScalePtr
Definition: EshelbianOperators.hpp:348
MoFEM::ForcesAndSourcesCore::UserDataOperator::OPROWCOL
@ OPROWCOL
operator doWork is executed on FE rows &columns
Definition: ForcesAndSourcesCore.hpp:569
OpAssembleBasic::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: EshelbianOperators.hpp:46
OpSpatialRotation_domega_dP::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1692
MoFEM::VecSetValues
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
Definition: EntitiesFieldData.hpp:1589
OpSpatialConsistencyDivTerm::integrate
MoFEMErrorCode integrate(EntData &data)
Definition: EshelbianOperators.cpp:1112
OpRotationBc
Definition: EshelbianOperators.hpp:326
OpSpatialRotation::integrate
MoFEMErrorCode integrate(EntData &data)
Definition: EshelbianOperators.cpp:917
OpSpatialConsistency_dP_dP::integrateImpl
MoFEMErrorCode integrateImpl(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1874
OpSpatialPrj_dx_dw::OpSpatialPrj_dx_dw
OpSpatialPrj_dx_dw(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:567
OpSpatialEquilibrium_dw_dP
Definition: EshelbianOperators.hpp:352
MoFEM::Interface
DeprecatedCoreInterface Interface
Definition: Interface.hpp:2010
SideEleOp
OpSpatialPrj_dx_dw
Definition: EshelbianOperators.hpp:566
MoFEM::ForcesAndSourcesCore::UserDataOperator::ForcesAndSourcesCore
friend class ForcesAndSourcesCore
Definition: ForcesAndSourcesCore.hpp:991
OpCalculateReactionForces::blockEntities
Range blockEntities
Definition: EshelbianOperators.hpp:216
MoFEM::OpBaseImpl
Definition: FormsIntegrators.hpp:178
OpSpatialPhysical_du_domega::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1570
OpSpatialEquilibrium_dw_dw::alphaRho
const double alphaRho
Definition: EshelbianOperators.hpp:365
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:548
OpSpatialPrj::integrate
MoFEMErrorCode integrate(EntData &row_data)
OpSpatialEquilibrium_dw_dP::OpSpatialEquilibrium_dw_dP
OpSpatialEquilibrium_dw_dP(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off=false)
Definition: EshelbianOperators.hpp:353
OpJacobian::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: EshelbianOperators.hpp:35
OpAssembleBasic::transposeK
MatrixDouble transposeK
Definition: EshelbianOperators.hpp:62
OpBrokenTractionBc::iNtegrate
MoFEMErrorCode iNtegrate(EntData &data)
Definition: EshelbianOperators.cpp:1278
OpSpatialConsistency_dBubble_domega::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:2125
OpSpatialEquilibrium::OpSpatialEquilibrium
OpSpatialEquilibrium(const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const double alpha, const double rho)
Definition: EshelbianOperators.hpp:222
OpSpatialEquilibrium::alphaW
const double alphaW
Definition: EshelbianOperators.hpp:230
OpSpatialConsistency_dP_dP
Definition: EshelbianOperators.hpp:460
SPACE_DIM
constexpr int SPACE_DIM
Definition: child_and_parent.cpp:16
MoFEM::ForcesAndSourcesCore::UserDataOperator
Definition: ForcesAndSourcesCore.hpp:549
OpCalculateEshelbyStress::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: HookeElement.hpp:186
OpSpatialRotation_domega_dBubble::OpSpatialRotation_domega_dBubble
OpSpatialRotation_domega_dBubble(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off)
Definition: EshelbianOperators.hpp:435
OpJacobian::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Definition: EshelbianPlasticity.cpp:865
double
convert.type
type
Definition: convert.py:64
OpSpatialRotation::alphaOmega
double alphaOmega
Definition: EshelbianOperators.hpp:244
OpRotationBcImpl
Definition: EshelbianOperators.hpp:303
OpAssembleBasic
Definition: EshelbianOperators.hpp:40
OpSpatialEquilibrium_dw_dP::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1359
OpJacobian
Definition: EshelbianOperators.hpp:14
OpJacobian::OpJacobian
OpJacobian()
Definition: EshelbianOperators.hpp:28
OpSpatialPhysical_du_dBubble
Definition: EshelbianOperators.hpp:388
OpAssembleBasic< VolUserDataOperator >::ScaleOff
boost::function< double()> ScaleOff
Definition: EshelbianOperators.hpp:42
OpDispBcImpl< A, GAUSS >::bcDispPtr
boost::shared_ptr< BcDispVec > bcDispPtr
Definition: EshelbianOperators.hpp:291
OpCalculateEshelbyStress
Definition: HookeElement.hpp:177
OpReleaseEnergy
Definition: EshelbianOperators.hpp:577
OpCalculateRotationAndSpatialGradient::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Operator for linear form, usually to calculate values on right hand side.
Definition: EshelbianOperators.cpp:55
MoFEM::EntitiesFieldData::EntData::getIndices
const VectorInt & getIndices() const
Get global indices of dofs on entity.
Definition: EntitiesFieldData.hpp:1214
OpSpatialRotation_domega_dP::OpSpatialRotation_domega_dP
OpSpatialRotation_domega_dP(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off)
Definition: EshelbianOperators.hpp:424
OpRotationBcImpl< A, GAUSS >::bcRotPtr
boost::shared_ptr< BcRotVec > bcRotPtr
Definition: EshelbianOperators.hpp:322
MoFEM::GAUSS
@ GAUSS
Definition: FormsIntegrators.hpp:136
OpSpatialRotation_domega_du::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1638
OpCalculateReactionForces::OpCalculateReactionForces
OpCalculateReactionForces(boost::shared_ptr< DataAtIntegrationPts > data_ptr, std::string block_name, Range block_entities, std::array< double, 6 > &reaction_vec)
Definition: EshelbianOperators.hpp:205
OpSpatialPrj_dx_dx
Definition: EshelbianOperators.hpp:556
OpPostProcDataStructure::OpPostProcDataStructure
OpPostProcDataStructure(moab::Interface &post_proc_mesh, std::vector< EntityHandle > &map_gauss_pts, boost::shared_ptr< DataAtIntegrationPts > data_ptr, int sense)
Definition: EshelbianOperators.hpp:536
OpSpatialPhysical_du_domega
Definition: EshelbianOperators.hpp:400
OpPostProcDataStructure::postProcMesh
moab::Interface & postProcMesh
Definition: EshelbianOperators.hpp:532
OpSpatialConsistency_dP_domega::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:2061
OpAssembleBasic::assemble
virtual MoFEMErrorCode assemble(int row_side, EntityType row_type, EntData &data)
Definition: EshelbianOperators.hpp:88
OpBrokenTractionBc::OpBrokenTractionBc
OpBrokenTractionBc(const std::string row_field, boost::shared_ptr< TractionBcVec > bc_data, boost::shared_ptr< double > piola_scale_ptr, std::vector< boost::shared_ptr< ScalingMethod >> smv)
Definition: EshelbianOperators.hpp:336
t
constexpr double t
plate stiffness
Definition: plate.cpp:58
OpSpatialRotation_domega_domega
Definition: EshelbianOperators.hpp:446
OpBrokenTractionBc
Definition: EshelbianOperators.hpp:334
OpCalculateTractionFromSideEl::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: EshelbianOperators.hpp:201
OpAssembleBasic::OpAssembleBasic
OpAssembleBasic(const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const char type)
Definition: EshelbianOperators.hpp:48
OpSpatialPrj::OpSpatialPrj
OpSpatialPrj(std::string row_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:550
EshelbianPlasticity::FaceUserDataOperator
FaceElementForcesAndSourcesCore::UserDataOperator FaceUserDataOperator
Definition: EshelbianPlasticity.hpp:54
MoFEM::VolumeElementForcesAndSourcesCore::UserDataOperator
Definition: VolumeElementForcesAndSourcesCore.hpp:109
OpSpatialEquilibrium_dw_dw::OpSpatialEquilibrium_dw_dw
OpSpatialEquilibrium_dw_dw(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const double alpha, const double rho)
Definition: EshelbianOperators.hpp:366
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
OpJacobian::physicsPtr
boost::shared_ptr< PhysicalEquations > physicsPtr
material physical equations
Definition: EshelbianOperators.hpp:37
OpAssembleBasic::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Definition: EshelbianOperators.hpp:124
OpCalculateRotationAndSpatialGradient
Definition: EshelbianOperators.hpp:173
OpCalculateRotationAndSpatialGradient::alphaOmega
double alphaOmega
Definition: EshelbianOperators.hpp:184
OpSpatialConsistency_dP_domega
Definition: EshelbianOperators.hpp:501
OpSpatialEquilibrium
Definition: EshelbianOperators.hpp:221
OpSpatialConsistency_dBubble_domega
Definition: EshelbianOperators.hpp:514
OpAssembleBasic::nF
VectorDouble nF
local right hand side vector
Definition: EshelbianOperators.hpp:60
OpCalculateRotationAndSpatialGradient::dataAtPts
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
data at integration pts
Definition: EshelbianOperators.hpp:183
OpSpatialPhysical_du_dBubble::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1519
OpSpatialConsistency_dBubble_dP::OpSpatialConsistency_dBubble_dP
OpSpatialConsistency_dBubble_dP(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:488
Range
OpSpatialConsistency_dBubble_dBubble::OpSpatialConsistency_dBubble_dBubble
OpSpatialConsistency_dBubble_dBubble(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:474
OpCalculateTractionFromSideEl
Definition: EshelbianOperators.hpp:187
OpSpatialRotation_domega_du
Definition: EshelbianOperators.hpp:412
OpReleaseEnergy::OpReleaseEnergy
OpReleaseEnergy(boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< double > release_energy_ptr)
Definition: EshelbianOperators.hpp:582
OpAssembleBasic::assemble
virtual MoFEMErrorCode assemble(EntData &data)
Definition: EshelbianOperators.hpp:79
OpCalculateReactionForces::reactionVec
std::array< double, 6 > & reactionVec
Definition: EshelbianOperators.hpp:218
UserDataOperator
ForcesAndSourcesCore::UserDataOperator UserDataOperator
Definition: HookeElement.hpp:75
OpCalculateTractionFromSideEl::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Definition: EshelbianOperators.cpp:793
OpSpatialConsistency_dBubble_dP::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1991
OpSpatialPrj_dx_dx::OpSpatialPrj_dx_dx
OpSpatialPrj_dx_dx(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:557
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
OpAssembleBasic::doWork
MoFEMErrorCode doWork(int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.hpp:135
OpAssembleBasic::assemble
virtual MoFEMErrorCode assemble(int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.hpp:101
OpSpatialEquilibrium::integrate
MoFEMErrorCode integrate(EntData &data)
Definition: EshelbianOperators.cpp:867
OpReleaseEnergy::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Definition: EshelbianOperators.cpp:2436
OpSpatialConsistency_dBubble_dP::integrateImpl
MoFEMErrorCode integrateImpl(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:2005
MoFEM::Types::VectorDouble
UBlasVector< double > VectorDouble
Definition: Types.hpp:68
OpJacobian::evaluateRhs
virtual MoFEMErrorCode evaluateRhs(EntData &data)=0
OpAssembleBasic::scaleOff
ScaleOff scaleOff
Definition: EshelbianOperators.hpp:64
OpDispBcImpl< A, GAUSS >::OpDispBcImpl
OpDispBcImpl(boost::shared_ptr< std::vector< BrokenBaseSideData >> broken_base_side_data, boost::shared_ptr< BcDispVec > &bc_disp_ptr, std::vector< boost::shared_ptr< ScalingMethod >> smv, boost::shared_ptr< Range > ents_ptr=nullptr)
Definition: EshelbianOperators.hpp:281
OpRotationBcImpl< A, GAUSS >::scalingMethodsVec
std::vector< boost::shared_ptr< ScalingMethod > > scalingMethodsVec
Definition: EshelbianOperators.hpp:323
OpSpatialConsistency_dBubble_domega::OpSpatialConsistency_dBubble_domega
OpSpatialConsistency_dBubble_domega(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off)
Definition: EshelbianOperators.hpp:515
OpSpatialConsistency_dP_dP::OpSpatialConsistency_dP_dP
OpSpatialConsistency_dP_dP(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:461
OpPostProcDataStructure::doWork
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
Definition: EshelbianOperators.cpp:2182
OpSpatialRotation_domega_dBubble
Definition: EshelbianOperators.hpp:434
OpDispBcImpl< A, GAUSS >::scalingMethodsVec
std::vector< boost::shared_ptr< ScalingMethod > > scalingMethodsVec
Definition: EshelbianOperators.hpp:292
OpCalculateEshelbyStress::OpCalculateEshelbyStress
OpCalculateEshelbyStress(boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:163
OpSpatialPhysical_du_dBubble::OpSpatialPhysical_du_dBubble
OpSpatialPhysical_du_dBubble(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off=false)
Definition: EshelbianOperators.hpp:389
OpCalculateReactionForces
Definition: EshelbianOperators.hpp:204
OpSpatialPrj_dx_dx::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
OpSpatialRotation
Definition: EshelbianOperators.hpp:235
OpSpatialRotation_domega_dP
Definition: EshelbianOperators.hpp:423
OpSpatialPhysical_du_dP::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1454
OpAssembleBasic::integrate
virtual MoFEMErrorCode integrate(EntData &data)
Definition: EshelbianOperators.hpp:66
OpSpatialConsistencyBubble::OpSpatialConsistencyBubble
OpSpatialConsistencyBubble(const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr)
Definition: EshelbianOperators.hpp:257
OpSpatialConsistencyBubble::integrate
MoFEMErrorCode integrate(EntData &data)
Definition: EshelbianOperators.cpp:1038
OpAssembleFace
Definition: EshelbianOperators.hpp:155
OpSpatialEquilibrium_dw_dw
Definition: EshelbianOperators.hpp:363
MoFEM::DataOperator::sYmm
bool sYmm
If true assume that matrix is symmetric structure.
Definition: DataOperators.hpp:82
OP
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
OpSpatialConsistency_dBubble_dBubble
Definition: EshelbianOperators.hpp:473
MOFEM_NOT_IMPLEMENTED
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
OpSpatialRotation_domega_domega::alphaOmega
double alphaOmega
Definition: EshelbianOperators.hpp:457
OpSpatialPhysical_du_domega::OpSpatialPhysical_du_domega
OpSpatialPhysical_du_domega(std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const bool assemble_off)
Definition: EshelbianOperators.hpp:402
OpSpatialEquilibrium_dw_dw::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1395
OpSpatialConsistencyP
Definition: EshelbianOperators.hpp:247
OpBrokenBase
OpSpatialPhysical_du_dP
Definition: EshelbianOperators.hpp:376
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359
OpSpatialConsistency_dP_dP::integrate
MoFEMErrorCode integrate(EntData &row_data, EntData &col_data)
Definition: EshelbianOperators.cpp:1861
OpPostProcDataStructure::mapGaussPts
std::vector< EntityHandle > & mapGaussPts
Definition: EshelbianOperators.hpp:533
MoFEM::ForcesAndSourcesCore::UserDataOperator::OPROW
@ OPROW
operator doWork function is executed on FE rows
Definition: ForcesAndSourcesCore.hpp:567
OpJacobian::OpJacobian
OpJacobian(const int tag, const bool eval_rhs, const bool eval_lhs, boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr)
Definition: EshelbianOperators.hpp:16
OpAssembleVolume
Definition: EshelbianOperators.hpp:151
OpDispBc
Definition: EshelbianOperators.hpp:295