v0.10.0
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
CommonData Struct Reference

#include <users_modules/linear_isotropic_hardening/src/PlDataAtGaussPts.hpp>

Collaboration diagram for CommonData:
[legend]

Public Member Functions

 CommonData (MoFEM::Interface &m_field)
 
MoFEMErrorCode getTags (const EntityHandle fe_ent, const int nb_gauss_pts, boost::shared_ptr< MatrixDouble > tag_ptr, Tag tag_ref)
 
MoFEMErrorCode getTags (const EntityHandle fe_ent, const int nb_gauss_pts, boost::shared_ptr< VectorDouble > tag_ptr, Tag tag_ref)
 
template<class T >
MoFEMErrorCode setTags (const EntityHandle fe_ent, const int nb_gauss_pts, T tag_ptr, Tag tag_ref)
 
MoFEMErrorCode getParameters ()
 Get the Parameters object. More...
 
MoFEMErrorCode calcReactionForces (VectorDouble &reactions, DM &dm, boost::shared_ptr< VolumeElementForcesAndSourcesCore > feRhs, int &reactionsSidesetId)
 
MoFEMErrorCode atomTests (const int step_number, const VectorDouble &reactions)
 

Public Attributes

MatrixDouble dotEdge
 
MatrixDouble dotEleLeft
 
MatrixDouble dotEleRight
 
int cOunter = 0
 
int reactionsSidesetId
 
int maxDiv
 
double adaptPowCoef
 
double stepRed
 
double hardMod
 Isotropic Hardening modulus \( H^{i} \). More...
 
double kinMod
 Kinematic Hardening modulus \( H^{k} \). More...
 
double kAppa
 
double yOung
 Young's modulus \( E \). More...
 
double pOisson
 Poisson's ratio \( \nu \). More...
 
double Mu
 shear modulus \( \mu = \frac{E}{2(1+\nu)} \) More...
 
double cOefficient
 
double yieldStress
 Prescribed value of the yield stress \( \sigma_{Y} \). More...
 
double yieldCondition
 Yield criterion for Von Mises plasticity. More...
 
double plasticMultiplier
 Plastic multiplier \( \dot{\gamma} \). More...
 
double tOlerance
 
double lAmbda
 
FTensor::Tensor4< double, 3, 3, 3, 3 > tD
 
boost::shared_ptr< MatrixDouble > gradDispPtr
 
MatrixDouble consistentMatrix
 
boost::shared_ptr< MatrixDouble > stressPtr
 
boost::shared_ptr< MatrixDouble > plasticStrainPtr
 
boost::shared_ptr< VectorDouble > hardParamPtr
 
boost::shared_ptr< VectorDouble > kinParamPtr
 
boost::shared_ptr< VectorDouble > kinParamPrevPtr
 
boost::shared_ptr< MatrixDouble > backStressPtr
 Back stress tensor \( \boldsymbol{\beta} \). More...
 
PetscBool calcReactions
 
PetscInt testNb
 
PetscBool isAtomTest
 
Tag thPlasticStrain
 
Tag thHardParam
 
Tag thBackStress
 
Tag thKinParam
 

Private Member Functions

MoFEMErrorCode createTags (Tag &tag_ref, const string tag_string, const int &dim)
 

Private Attributes

MoFEM::InterfacemField
 

Detailed Description

Examples
continuity_check_on_contact_prism_side_ele.cpp, continuity_check_on_skeleton_3d.cpp, continuity_check_on_skeleton_with_simple_2d_for_h1.cpp, continuity_check_on_skeleton_with_simple_2d_for_hcurl.cpp, continuity_check_on_skeleton_with_simple_2d_for_hdiv.cpp, reaction_diffusion.cpp, Remodeling.hpp, and SmallStrainPlasticity.hpp.

Definition at line 40 of file continuity_check_on_skeleton_with_simple_2d_for_h1.cpp.

Constructor & Destructor Documentation

◆ CommonData()

CommonData::CommonData ( MoFEM::Interface m_field)

Definition at line 86 of file PlDataAtGaussPts.hpp.

86  : mField(m_field) {
87  // default base parameters
88 
89  kinMod = 0.;
90  hardMod = 0.01;
91  plasticMultiplier = 0.0;
92  yieldStress = 0.02;
93  pOisson = 0.;
94  yOung = 50000;
95  tOlerance = 1e-9;
96  maxDiv = 100;
97  stepRed = 0.2;
98  adaptPowCoef = 1. / 4.;
99 
100  gradDispPtr = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
101  stressPtr = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
102  plasticStrainPtr = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
103  hardParamPtr = boost::shared_ptr<VectorDouble>(new VectorDouble());
104  kinParamPtr = boost::shared_ptr<VectorDouble>(new VectorDouble());
105  kinParamPrevPtr = boost::shared_ptr<VectorDouble>(new VectorDouble());
106  backStressPtr = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
107 
108  ierr = createTags(thPlasticStrain, "PLASTIC_STRAIN", 9);
109  ierr = createTags(thHardParam, "HARDENING_PARAMETER", 1);
110  ierr = createTags(thBackStress, "BACK_STRESS", 9);
111  ierr = createTags(thKinParam, "KIN_HARDENING_PARAMETER", 1);
112 
113  CHKERRABORT(PETSC_COMM_WORLD, ierr);
114  }

Member Function Documentation

◆ atomTests()

MoFEMErrorCode CommonData::atomTests ( const int  step_number,
const VectorDouble &  reactions 
)

Definition at line 634 of file linear_isotropic_hardening.cpp.

635  {
636 
638 
639  if (testNb == 1) {
640  if (step_number == 29) {
641  int norm_reac;
642  norm_reac =
643  sqrt(reactions[0] * reactions[0] + reactions[1] * reactions[1] +
644  reactions[2] * reactions[2]);
645  if (fabs(norm_reac - 3.8638e+04) > 1e-3) {
646  CHKERR PetscPrintf(PETSC_COMM_WORLD, "norm error: %g \n",
647  norm_reac - 3.8638e+04);
648  SETERRQ(PETSC_COMM_SELF, MOFEM_ATOM_TEST_INVALID,
649  "atom test diverged!");
650  }
651  }
652  }
653 
655 }

◆ calcReactionForces()

MoFEMErrorCode CommonData::calcReactionForces ( VectorDouble &  reactions,
DM &  dm,
boost::shared_ptr< VolumeElementForcesAndSourcesCore feRhs,
int &  reactionsSidesetId 
)

Definition at line 589 of file linear_isotropic_hardening.cpp.

592 {
594 
595  Vec F_int;
597 
598  feRhs->snes_ctx = FEMethod::CTX_SNESSETFUNCTION;
599  feRhs->snes_f = F_int;
600  CHKERR DMoFEMLoopFiniteElements(dm, "ELASTIC", feRhs);
601 
602  CHKERR VecAssemblyBegin(F_int);
603  CHKERR VecAssemblyEnd(F_int);
604  CHKERR VecGhostUpdateBegin(F_int, INSERT_VALUES, SCATTER_FORWARD);
605  CHKERR VecGhostUpdateEnd(F_int, INSERT_VALUES, SCATTER_FORWARD);
606 
607  Reactions my_react(mField, "DM_ELASTIC", "U");
608  CHKERR my_react.calculateReactions(F_int);
609 
610  const auto &reactions_map = my_react.getReactionsMap();
611  const int id = reactionsSidesetId;
612  reactions.clear();
613  const bool check_key = reactions_map.find(id) == reactions_map.end();
614  if (!check_key) {
615  reactions = reactions_map.at(id);
616  }
617  Vec react_vec;
618  CHKERR VecCreateMPI(mField.get_comm(), 1, PETSC_DECIDE, &react_vec);
619  for (int dir : {0, 1, 2}) {
620  CHKERR VecZeroEntries(react_vec);
621  const int idx = mField.get_comm_rank();
622  CHKERR VecSetValues(react_vec, 1, &idx, &reactions[dir], INSERT_VALUES);
623  CHKERR VecAssemblyBegin(react_vec);
624  CHKERR VecAssemblyEnd(react_vec);
625  double sum = 0;
626  CHKERR VecSum(react_vec, &sum);
627  reactions[dir] = sum;
628  }
629  CHKERR VecDestroy(&react_vec);
630  CHKERR VecDestroy(&F_int);
632 }

◆ createTags()

MoFEMErrorCode CommonData::createTags ( Tag &  tag_ref,
const string  tag_string,
const int &  dim 
)
private

Definition at line 296 of file PlDataAtGaussPts.hpp.

297  {
298 
300  std::vector<double> def_val(dim, 0);
301  CHKERR mField.get_moab().tag_get_handle(
302  tag_string.c_str(), 1, MB_TYPE_DOUBLE, tag_ref,
303  MB_TAG_CREAT | MB_TAG_VARLEN | MB_TAG_SPARSE, &def_val[0]);
305  }

◆ getParameters()

MoFEMErrorCode CommonData::getParameters ( )

Get the Parameters object.

Returns
MoFEMErrorCode

create the function to pass some command lines to the main file.

Definition at line 194 of file PlDataAtGaussPts.hpp.

194  {
196 
197  reactionsSidesetId = 0;
198  calcReactions = PETSC_TRUE;
199  testNb = 1;
200  isAtomTest = PETSC_FALSE;
201 
202  CHKERR PetscOptionsBegin(PETSC_COMM_WORLD, "", "Material parameters",
203  "none");
204 
205  CHKERR PetscOptionsScalar("-young", "Young modulus", "", yOung, &yOung,
206  PETSC_NULL);
207 
208  CHKERR PetscOptionsScalar("-poisson", "Poisson ratio", "", pOisson,
209  &pOisson, PETSC_NULL);
210 
211  CHKERR PetscOptionsScalar("-tolerance", "tolerance", "", tOlerance,
212  &tOlerance, PETSC_NULL);
213 
214  CHKERR PetscOptionsScalar("-yield", "Yield stress", "", yieldStress ,
215  &yieldStress , PETSC_NULL);
216 
217  CHKERR PetscOptionsScalar("-HardMod", "Hardening Modulus", "", hardMod,
218  &hardMod, PETSC_NULL);
219 
220  CHKERR PetscOptionsScalar("-KinMod", "Kinematic Hardening Modulus", "",
221  kinMod, &kinMod, PETSC_NULL);
222 
223  CHKERR PetscOptionsScalar("-step_red", "step reductcion while diverge", "",
224  stepRed, &stepRed, PETSC_NULL);
225 
226  CHKERR PetscOptionsScalar("-adapt_coef",
227  "code will be smarter depending on the value", "",
228  adaptPowCoef, &adaptPowCoef, PETSC_NULL);
229 
230  CHKERR PetscOptionsInt(
231  "-calc_reactions", "calculate reactions for blocksets", "",
233 
234  CHKERR PetscOptionsInt("-is_atom_test", "Give number of the atom test", "",
235  testNb, &testNb, &isAtomTest);
236 
237  CHKERR PetscOptionsInt("-steps_max_div", "number of steps", "", maxDiv,
238  &maxDiv, PETSC_NULL);
239 
240 
241  ierr = PetscOptionsEnd();
242  CHKERRQ(ierr);
243 
244 
245  cOefficient = yOung / ((1 + pOisson) * (1 - 2 * pOisson));
246  Mu = yOung / (2 * (1 + pOisson));
247  kAppa = cOefficient * pOisson + (2. / 3.) * Mu;
253  tD(i, j, k, l) = 0.;
254 
255  tD(0, 0, 0, 0) = lAmbda + 2 * Mu;
256  tD(1, 1, 1, 1) = lAmbda + 2 * Mu;
257  tD(2, 2, 2, 2) = lAmbda + 2 * Mu;
258  tD(0, 0, 1, 1) = lAmbda;
259  tD(0, 0, 2, 2) = lAmbda;
260  tD(1, 1, 2, 2) = lAmbda;
261  tD(2, 2, 1, 1) = lAmbda;
262  tD(1, 1, 2, 2) = lAmbda;
263  tD(2, 2, 0, 0) = lAmbda;
264  tD(1, 1, 0, 0) = lAmbda;
265  tD(0, 1, 0, 1) = Mu;
266  tD(0, 2, 0, 2) = Mu;
267  tD(1, 2, 1, 2) = Mu;
268  tD(0, 1, 1, 0) = Mu;
269  tD(0, 2, 2, 0) = Mu;
270  tD(1, 2, 2, 1) = Mu;
271  tD(2, 0, 0, 2) = Mu;
272  tD(1, 0, 0, 1) = Mu;
273  tD(2, 1, 1, 2) = Mu;
274  tD(2, 0, 2, 0) = Mu;
275  tD(1, 0, 1, 0) = Mu;
276  tD(2, 1, 2, 1) = Mu;
277 
278 // ierr = PetscOptionsEnd();
279 // CHKERRQ(ierr);
281  }

◆ getTags() [1/2]

MoFEMErrorCode CommonData::getTags ( const EntityHandle  fe_ent,
const int  nb_gauss_pts,
boost::shared_ptr< MatrixDouble >  tag_ptr,
Tag  tag_ref 
)

Definition at line 116 of file PlDataAtGaussPts.hpp.

119  {
121  double *tag_data;
122  int tag_size;
123  CHKERR mField.get_moab().tag_get_by_ptr(tag_ref, &fe_ent, 1,
124  (const void **)&tag_data,
125  &tag_size);
126 
127  if (tag_size == 1) {
128  tag_ptr->resize(9, nb_gauss_pts , false);
129  tag_ptr->clear();
130  void const *tag_data[] = {&*tag_ptr->data().begin()};
131  const int tag_size = tag_ptr->data().size();
132  CHKERR mField.get_moab().tag_set_by_ptr(tag_ref, &fe_ent, 1,
133  tag_data, &tag_size);
134  } else if (tag_size != nb_gauss_pts * 9) {
135  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
136  "Wrong size of the tag, data inconsistency");
137  } else {
138  MatrixAdaptor tag_vec = MatrixAdaptor(
139  9, nb_gauss_pts,
140  ublas::shallow_array_adaptor<double>(tag_size, tag_data));
141 
142  *tag_ptr = tag_vec;
143  }
144 
145 
147  }

◆ getTags() [2/2]

MoFEMErrorCode CommonData::getTags ( const EntityHandle  fe_ent,
const int  nb_gauss_pts,
boost::shared_ptr< VectorDouble >  tag_ptr,
Tag  tag_ref 
)

Definition at line 149 of file PlDataAtGaussPts.hpp.

152  {
154  double *tag_data;
155  int tag_size;
156  CHKERR mField.get_moab().tag_get_by_ptr(
157  tag_ref, &fe_ent, 1, (const void **)&tag_data, &tag_size);
158 
159  if (tag_size == 1) {
160  tag_ptr->resize(nb_gauss_pts);
161  tag_ptr->clear();
162  void const *tag_data[] = {&*tag_ptr->begin()};
163  const int tag_size = tag_ptr->size();
164  CHKERR mField.get_moab().tag_set_by_ptr(tag_ref, &fe_ent, 1,
165  tag_data, &tag_size);
166  } else if (tag_size != nb_gauss_pts) {
167  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
168  "Wrong size of the tag, data inconsistency");
169  } else {
170  VectorAdaptor tag_vec = VectorAdaptor(
171  tag_size, ublas::shallow_array_adaptor<double>(tag_size, tag_data));
172  *tag_ptr = tag_vec;
173  }
175  }

◆ setTags()

template<class T >
MoFEMErrorCode CommonData::setTags ( const EntityHandle  fe_ent,
const int  nb_gauss_pts,
T  tag_ptr,
Tag  tag_ref 
)

Definition at line 177 of file PlDataAtGaussPts.hpp.

178  {
180  void const *tag_data[] = {&*tag_ptr->data().begin()};
181  const int tag_size = tag_ptr->data().size();
182  CHKERR mField.get_moab().tag_set_by_ptr(tag_ref, &fe_ent, 1,
183  tag_data, &tag_size);
185  }

Member Data Documentation

◆ adaptPowCoef

double CommonData::adaptPowCoef

Definition at line 12 of file PlDataAtGaussPts.hpp.

◆ backStressPtr

boost::shared_ptr<MatrixDouble> CommonData::backStressPtr

Back stress tensor \( \boldsymbol{\beta} \).

Definition at line 78 of file PlDataAtGaussPts.hpp.

◆ calcReactions

PetscBool CommonData::calcReactions

Definition at line 80 of file PlDataAtGaussPts.hpp.

◆ cOefficient

double CommonData::cOefficient

Definition at line 21 of file PlDataAtGaussPts.hpp.

◆ consistentMatrix

MatrixDouble CommonData::consistentMatrix

\( \mathbb{C} = \mathbb{D} < - \frac{\mathbb{D} : < \mathbf{n} \otimes < \mathbb{D} : < \mathbf{n}}{\mathbf{n} : < \mathbb{D} : \mathbf{n} + < \mathbf{K}^{2}} \)

Definition at line 44 of file PlDataAtGaussPts.hpp.

◆ cOunter

int CommonData::cOunter = 0

Definition at line 9 of file PlDataAtGaussPts.hpp.

◆ dotEdge

MatrixDouble CommonData::dotEdge

◆ dotEleLeft

MatrixDouble CommonData::dotEleLeft

◆ dotEleRight

MatrixDouble CommonData::dotEleRight

◆ gradDispPtr

boost::shared_ptr<MatrixDouble> CommonData::gradDispPtr

Total strain tensor \( < \boldsymbol{\varepsilon} < \)

Definition at line 39 of file PlDataAtGaussPts.hpp.

◆ hardMod

double CommonData::hardMod

Isotropic Hardening modulus \( H^{i} \).

Definition at line 14 of file PlDataAtGaussPts.hpp.

◆ hardParamPtr

boost::shared_ptr<VectorDouble> CommonData::hardParamPtr

Vector containing the isotrtopic hardening parameter at each Gauss point

Definition at line 61 of file PlDataAtGaussPts.hpp.

◆ isAtomTest

PetscBool CommonData::isAtomTest

Definition at line 84 of file PlDataAtGaussPts.hpp.

◆ kAppa

double CommonData::kAppa

isostatic elasticity modulus \( \kappa = < \frac{E\nu}{(1-2\nu)(1 + \nu)} + \frac{2}{3}\mu \)

Definition at line 16 of file PlDataAtGaussPts.hpp.

◆ kinMod

double CommonData::kinMod

Kinematic Hardening modulus \( H^{k} \).

Definition at line 15 of file PlDataAtGaussPts.hpp.

◆ kinParamPrevPtr

boost::shared_ptr<VectorDouble> CommonData::kinParamPrevPtr

container that keeps the previous value of the kinetic hardening parameter

Definition at line 72 of file PlDataAtGaussPts.hpp.

◆ kinParamPtr

boost::shared_ptr<VectorDouble> CommonData::kinParamPtr

Vector containing the kinematic hardening parameter at each Gauss point

Definition at line 66 of file PlDataAtGaussPts.hpp.

◆ lAmbda

double CommonData::lAmbda

lame parameter \( \lambda = \frac{E \nu}{(1+\nu)(1-2\nu)} < \)

Definition at line 28 of file PlDataAtGaussPts.hpp.

◆ maxDiv

int CommonData::maxDiv

Definition at line 11 of file PlDataAtGaussPts.hpp.

◆ mField

MoFEM::Interface& CommonData::mField
private

Definition at line 294 of file PlDataAtGaussPts.hpp.

◆ Mu

double CommonData::Mu

shear modulus \( \mu = \frac{E}{2(1+\nu)} \)

Definition at line 20 of file PlDataAtGaussPts.hpp.

◆ plasticMultiplier

double CommonData::plasticMultiplier

Plastic multiplier \( \dot{\gamma} \).

Definition at line 25 of file PlDataAtGaussPts.hpp.

◆ plasticStrainPtr

boost::shared_ptr<MatrixDouble> CommonData::plasticStrainPtr

Plastic Strain \( < \boldsymbol{\varepsilon}^{p} = < \boldsymbol{\varepsilon} - < \boldsymbol{\varepsilon}^{e} \)

Definition at line 56 of file PlDataAtGaussPts.hpp.

◆ pOisson

double CommonData::pOisson

Poisson's ratio \( \nu \).

Definition at line 19 of file PlDataAtGaussPts.hpp.

◆ reactionsSidesetId

int CommonData::reactionsSidesetId

Definition at line 10 of file PlDataAtGaussPts.hpp.

◆ stepRed

double CommonData::stepRed

Definition at line 13 of file PlDataAtGaussPts.hpp.

◆ stressPtr

boost::shared_ptr<MatrixDouble> CommonData::stressPtr

Stress tensor \( < \boldsymbol{\sigma} \)

Definition at line 52 of file PlDataAtGaussPts.hpp.

◆ tD

FTensor::Tensor4<double, 3, 3, 3, 3> CommonData::tD

Elastic stiffness tensor (4th rank tensor with minor and major symmetry) \( \mathbb{D} = < \mu(\mathbb{I} + \bar{\mathbb{I}}) - < \lambda(\mathbf{I} \otimes < \mathbf{I}) \)

Definition at line 32 of file PlDataAtGaussPts.hpp.

◆ testNb

PetscInt CommonData::testNb

Definition at line 82 of file PlDataAtGaussPts.hpp.

◆ thBackStress

Tag CommonData::thBackStress

Definition at line 285 of file PlDataAtGaussPts.hpp.

◆ thHardParam

Tag CommonData::thHardParam

Definition at line 284 of file PlDataAtGaussPts.hpp.

◆ thKinParam

Tag CommonData::thKinParam

Definition at line 286 of file PlDataAtGaussPts.hpp.

◆ thPlasticStrain

Tag CommonData::thPlasticStrain

Definition at line 283 of file PlDataAtGaussPts.hpp.

◆ tOlerance

double CommonData::tOlerance

Definition at line 26 of file PlDataAtGaussPts.hpp.

◆ yieldCondition

double CommonData::yieldCondition

Yield criterion for Von Mises plasticity.

Definition at line 24 of file PlDataAtGaussPts.hpp.

◆ yieldStress

double CommonData::yieldStress

Prescribed value of the yield stress \( \sigma_{Y} \).

Definition at line 23 of file PlDataAtGaussPts.hpp.

◆ yOung

double CommonData::yOung

Young's modulus \( E \).

Definition at line 18 of file PlDataAtGaussPts.hpp.


The documentation for this struct was generated from the following files:
CommonData::kAppa
double kAppa
Definition: PlDataAtGaussPts.hpp:16
CommonData::lAmbda
double lAmbda
Definition: PlDataAtGaussPts.hpp:28
CommonData::isAtomTest
PetscBool isAtomTest
Definition: PlDataAtGaussPts.hpp:84
CommonData::kinParamPrevPtr
boost::shared_ptr< VectorDouble > kinParamPrevPtr
Definition: PlDataAtGaussPts.hpp:72
CommonData::tOlerance
double tOlerance
Definition: PlDataAtGaussPts.hpp:26
CommonData::hardParamPtr
boost::shared_ptr< VectorDouble > hardParamPtr
Definition: PlDataAtGaussPts.hpp:61
CommonData::reactionsSidesetId
int reactionsSidesetId
Definition: PlDataAtGaussPts.hpp:10
MoFEM::Types::MatrixDouble
ublas::matrix< double, ublas::row_major, DoubleAllocator > MatrixDouble
Definition: Types.hpp:76
CommonData::mField
MoFEM::Interface & mField
Definition: PlDataAtGaussPts.hpp:294
CommonData::thBackStress
Tag thBackStress
Definition: PlDataAtGaussPts.hpp:285
CommonData::yieldStress
double yieldStress
Prescribed value of the yield stress .
Definition: PlDataAtGaussPts.hpp:23
dim
const int dim
Definition: elec_phys_2D.cpp:12
EigenMatrix::Vec
const FTensor::Tensor2< T, Dim, Dim > Vec
Definition: MatrixFunction.hpp:70
CommonData::hardMod
double hardMod
Isotropic Hardening modulus .
Definition: PlDataAtGaussPts.hpp:14
CommonData::backStressPtr
boost::shared_ptr< MatrixDouble > backStressPtr
Back stress tensor .
Definition: PlDataAtGaussPts.hpp:78
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
MoFEM::DMCreateGlobalVector_MoFEM
PetscErrorCode DMCreateGlobalVector_MoFEM(DM dm, Vec *g)
DMShellSetCreateGlobalVector.
Definition: DMMMoFEM.cpp:1026
CommonData::plasticMultiplier
double plasticMultiplier
Plastic multiplier .
Definition: PlDataAtGaussPts.hpp:25
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:604
CommonData::yOung
double yOung
Young's modulus .
Definition: PlDataAtGaussPts.hpp:18
MoFEM::DMoFEMLoopFiniteElements
PetscErrorCode DMoFEMLoopFiniteElements(DM dm, const char fe_name[], MoFEM::FEMethod *method)
Executes FEMethod for finite elements in DM.
Definition: DMMMoFEM.cpp:507
CommonData::tD
FTensor::Tensor4< double, 3, 3, 3, 3 > tD
Definition: PlDataAtGaussPts.hpp:32
MoFEM::Types::VectorAdaptor
VectorShallowArrayAdaptor< double > VectorAdaptor
Definition: Types.hpp:109
FTensor::Index< 'i', 3 >
CommonData::kinMod
double kinMod
Kinematic Hardening modulus .
Definition: PlDataAtGaussPts.hpp:15
CommonData::thPlasticStrain
Tag thPlasticStrain
Definition: PlDataAtGaussPts.hpp:283
CommonData::testNb
PetscInt testNb
Definition: PlDataAtGaussPts.hpp:82
CommonData::adaptPowCoef
double adaptPowCoef
Definition: PlDataAtGaussPts.hpp:12
MoFEM::Types::MatrixAdaptor
MatrixShallowArrayAdaptor< double > MatrixAdaptor
Matrix adaptor.
Definition: Types.hpp:126
CommonData::maxDiv
int maxDiv
Definition: PlDataAtGaussPts.hpp:11
Reactions
calculate reactions from vector of internal forces on meshsets
Definition: DirichletBC.hpp:268
CommonData::stressPtr
boost::shared_ptr< MatrixDouble > stressPtr
Definition: PlDataAtGaussPts.hpp:52
MoFEM::CoreInterface::get_comm_rank
virtual int get_comm_rank() const =0
CommonData::calcReactions
PetscBool calcReactions
Definition: PlDataAtGaussPts.hpp:80
CommonData::thHardParam
Tag thHardParam
Definition: PlDataAtGaussPts.hpp:284
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:123
CommonData::cOefficient
double cOefficient
Definition: PlDataAtGaussPts.hpp:21
CommonData::pOisson
double pOisson
Poisson's ratio .
Definition: PlDataAtGaussPts.hpp:19
Poisson2DTraditionalDDOperators::VecSetValues
constexpr auto VecSetValues
Definition: poisson_dd_H.hpp:19
MOFEM_ATOM_TEST_INVALID
@ MOFEM_ATOM_TEST_INVALID
Definition: definitions.h:132
MoFEM::CoreInterface::get_comm
virtual MPI_Comm & get_comm() const =0
i
FTensor::Index< 'i', 3 > i
Definition: matrix_function.cpp:18
k
FTensor::Index< 'k', 3 > k
Definition: matrix_function.cpp:20
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:485
CommonData::Mu
double Mu
shear modulus
Definition: PlDataAtGaussPts.hpp:20
MoFEM::Types::VectorDouble
ublas::vector< double, DoubleAllocator > VectorDouble
Definition: Types.hpp:74
MoFEM::Exceptions::ierr
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:87
CommonData::thKinParam
Tag thKinParam
Definition: PlDataAtGaussPts.hpp:286
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:415
l
FTensor::Index< 'l', 3 > l
Definition: matrix_function.cpp:21
CommonData::gradDispPtr
boost::shared_ptr< MatrixDouble > gradDispPtr
Definition: PlDataAtGaussPts.hpp:39
CommonData::createTags
MoFEMErrorCode createTags(Tag &tag_ref, const string tag_string, const int &dim)
Definition: PlDataAtGaussPts.hpp:296
CommonData::stepRed
double stepRed
Definition: PlDataAtGaussPts.hpp:13
CommonData::plasticStrainPtr
boost::shared_ptr< MatrixDouble > plasticStrainPtr
Definition: PlDataAtGaussPts.hpp:56
CommonData::kinParamPtr
boost::shared_ptr< VectorDouble > kinParamPtr
Definition: PlDataAtGaussPts.hpp:66