v0.14.0
Public Types | Public Member Functions | Public Attributes | List of all members
ADOLCPlasticity::J2Plasticity< 3 > Struct Reference

J2 (Von Misses) plasticity. More...

#include <users_modules/adolc-plasticity/src/ADOLCPlasticityMaterialModels.hpp>

Inheritance diagram for ADOLCPlasticity::J2Plasticity< 3 >:
[legend]
Collaboration diagram for ADOLCPlasticity::J2Plasticity< 3 >:
[legend]

Public Types

enum  ModelParams {
  LAMBDA, MU, ISOH, KINK,
  PHI, SIGMA_Y, LAST_PARAM
}
 
using ParamsArray = std::array< double, LAST_PARAM >
 
- Public Types inherited from ADOLCPlasticity::ClosestPointProjection
enum  TypesTags { W = 0, Y, H, LAST_TAPE }
 

Public Member Functions

 J2Plasticity ()
 
MoFEMErrorCode getDefaultMaterialParameters ()
 
MoFEMErrorCode addMatBlockOps (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string block_name, Sev sev)
 Get material parameters from block. More...
 
MoFEMErrorCode setParams (short tag, bool &recalculate_elastic_tangent)
 Set material parameters at integration point. More...
 
MoFEMErrorCode freeHemholtzEnergy ()
 [Free energy J2] More...
 
MoFEMErrorCode evalF ()
 [Yield function J2] More...
 
MoFEMErrorCode yieldFunction ()
 Set yield function. More...
 
MoFEMErrorCode flowPotential ()
 [Yield function J2] More...
 
- Public Member Functions inherited from ADOLCPlasticity::ClosestPointProjection
VectorAdaptor getPlasticStrain ()
 
VectorAdaptor getTotalStrain ()
 
VectorAdaptor getInternalVariables ()
 
VectorAdaptor getActiveVariablesYH ()
 
VectorAdaptor getStress ()
 
VectorAdaptor getInternalFluxes ()
 
 ClosestPointProjection ()
 
MoFEMErrorCode recordW ()
 Record strain energy. More...
 
MoFEMErrorCode recordY ()
 Record yield function. More...
 
MoFEMErrorCode recordH ()
 Record flow potential. More...
 
MoFEMErrorCode playW ()
 
MoFEMErrorCode playW_NoHessian ()
 
MoFEMErrorCode playY ()
 
MoFEMErrorCode playY_NoGradient ()
 
MoFEMErrorCode playH ()
 
MoFEMErrorCode playH_NoHessian ()
 
MoFEMErrorCode createMatAVecR ()
 
MoFEMErrorCode evaluatePotentials ()
 
MoFEMErrorCode playPotentials ()
 
MoFEMErrorCode playPotentials_NoHessian ()
 
MoFEMErrorCode calculateR (Vec R)
 
MoFEMErrorCode calculateA ()
 
MoFEMErrorCode snesCreate ()
 Create nested snes. More...
 
MoFEMErrorCode solveClosetProjection ()
 Solve nonlinear system of equations to find stress, internal fluxes, and Lagrange plastic multiplier. More...
 
MoFEMErrorCode consistentTangent ()
 Calculate consistent tangent matrix. More...
 
MoFEMErrorCode recordTapes ()
 Record tapes. More...
 

Public Attributes

FTensor::Index< 'i', 3 > i
 
FTensor::Index< 'j', 3 > j
 
FTensor::Index< 'Z', 6 > Z
 
FTensor::Tensor2_symmetric< adouble, 3 > tTotalStrain
 
FTensor::Tensor2_symmetric< adouble, 3 > tPlasticStrain
 
FTensor::Tensor2_symmetric< adouble, 3 > tElasticStrain
 
FTensor::Tensor2_symmetric< adouble, 3 > tInternalTensor
 
FTensor::Tensor2_symmetric< adouble, 3 > tStress
 
FTensor::Tensor2_symmetric< adouble, 3 > tBackStress
 
FTensor::Tensor2_symmetric< adouble, 3 > tDeviator
 
adouble tR
 
double mu
 
double lambda
 
double H
 
double K
 
double phi
 
double sigmaY
 
boost::shared_ptr< ParamsArraydefaultParamsArrayPtr = nullptr
 
boost::shared_ptr< ParamsArrayparamsArrayPtr = nullptr
 
boost::shared_ptr< ParamsArrayoldParamsArrayPtr = nullptr
 
adouble f
 [Free energy J2] More...
 
- Public Attributes inherited from ADOLCPlasticity::ClosestPointProjection
int nbInternalVariables
 
boost::function< int(int, int, int)> integrationRule
 
VectorDouble internalVariables0
 
VectorDouble plasticStrain0
 
std::array< int, LAST_TAPEtapesTags
 
VectorAdaptor activeVariablesW
 
VectorAdaptor gradientW
 
double w
 
double y
 
double h
 
double deltaGamma
 
MatrixDouble Ep
 
MatrixDouble Cp
 
MatrixDouble Cep
 
ublas::symmetric_matrix< double, ublas::lower > C
 
ublas::symmetric_matrix< double, ublas::lower > D
 
MatrixDouble hessianW
 
VectorDouble gradientY
 
VectorDouble gradientH
 
MatrixDouble hessianH
 
MatrixDouble partialWStrainPlasticStrain
 
VectorAdaptor partialYSigma
 
VectorAdaptor partialYFlux
 
VectorAdaptor partialHSigma
 
VectorAdaptor partialHFlux
 
ublas::symmetric_matrix< double, ublas::lower > partial2HSigma
 
ublas::symmetric_matrix< double, ublas::lower > partial2HFlux
 
MatrixDouble partial2HSigmaFlux
 
SmartPetscObj< Mat > A
 
SmartPetscObj< Vec > R
 
SmartPetscObj< Vec > Chi
 
SmartPetscObj< Vec > dChi
 
ublas::matrix< double, ublas::column_major > dataA
 
SmartPetscObj< SNES > sNes
 
ublas::vector< adoublea_sTrain
 
ublas::vector< adoublea_plasticStrain
 
ublas::vector< adoublea_internalVariables
 
ublas::vector< adoublea_sTress
 
ublas::vector< adoublea_internalFluxes
 
adouble a_w
 
adouble a_y
 
adouble a_h
 

Detailed Description

J2 (Von Misses) plasticity.

Free energy:

\[ \psi(\varepsilon^e, \alpha, \beta) = \frac{1}{2} \lambda \textrm{tr}[\varepsilon^e]^2 + \mu \varepsilon^e : \varepsilon^e + \sigma_y\alpha + \frac{1}{2} \phi H \alpha^2 + \frac{1}{2} (1-\phi)K \beta^2 \]

Isotropic hardening variable \(\alpha\) is in first index of internal variables vector. Kinematic hardening variable is in the remaining indices of internal variables vector.

Yield function:

Deviator of actual stress:

\[ \eta=\textrm{dev}[\sigma]-\overline{\beta} \]

where \(\overline{\beta}\) is back stress.

Square of the deviator norm

\[ f = \frac{3}{2} \eta:\eta \]

Yield function:

\[ y = \sqrt{f} - \overline{\alpha} \]

where \(f\) is defined in eva

This is associated potential model, so flow potential is equal to yield

Definition at line 73 of file ADOLCPlasticityMaterialModels.hpp.

Member Typedef Documentation

◆ ParamsArray

Definition at line 103 of file ADOLCPlasticityMaterialModels.hpp.

Member Enumeration Documentation

◆ ModelParams

Enumerator
LAMBDA 
MU 
ISOH 
KINK 
PHI 
SIGMA_Y 
LAST_PARAM 

Definition at line 101 of file ADOLCPlasticityMaterialModels.hpp.

Constructor & Destructor Documentation

◆ J2Plasticity()

Examples
ADOLCPlasticityMaterialModels.hpp.

Definition at line 75 of file ADOLCPlasticityMaterialModels.hpp.

77  activeVariablesW.resize(12 + nbInternalVariables, false);
78  }

Member Function Documentation

◆ addMatBlockOps()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::addMatBlockOps ( MoFEM::Interface m_field,
boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pip,
std::string  block_name,
Sev  sev 
)
inlinevirtual

Get material parameters from block.

Parameters
m_field
pip
block_name
sev
Returns
MoFEMErrorCode

Reimplemented from ADOLCPlasticity::ClosestPointProjection.

Definition at line 175 of file ADOLCPlasticityMaterialModels.hpp.

177  {
179 
180  struct OpMatBlocks : public ForcesAndSourcesCore::UserDataOperator {
181 
183 
184  OpMatBlocks(boost::shared_ptr<ParamsArray> params_array_ptr,
185  boost::shared_ptr<ParamsArray> def_params_array_otr,
186  MoFEM::Interface &m_field, Sev sev,
187  std::vector<const CubitMeshSets *> meshset_vec_ptr)
188  : OP(NOSPACE, OP::OPSPACE), paramsArrayPtr(params_array_ptr),
189  defParamsArray(def_params_array_otr) {
190  CHK_THROW_MESSAGE(extractBlockData(m_field, meshset_vec_ptr, sev),
191  "Can not get data from block");
192  }
193 
194  MoFEMErrorCode doWork(int side, EntityType type,
197 
198  for (auto &b : blockData) {
199 
200  if (b.blockEnts.find(getFEEntityHandle()) != b.blockEnts.end()) {
201  std::copy(b.paramsArray.begin(), b.paramsArray.end(),
202  paramsArrayPtr->begin());
204  }
205  }
206 
207  std::copy(defParamsArray->begin(), defParamsArray->end(),
208  paramsArrayPtr->begin());
209 
211  }
212 
213  private:
214  boost::shared_ptr<ParamsArray> paramsArrayPtr;
215  boost::shared_ptr<ParamsArray> defParamsArray;
216 
217  struct BlockData {
218  ParamsArray paramsArray;
219  Range blockEnts;
220  };
221 
222  std::vector<BlockData> blockData;
223 
225  extractBlockData(MoFEM::Interface &m_field,
226  std::vector<const CubitMeshSets *> meshset_vec_ptr,
227  Sev sev) {
229 
230  for (auto m : meshset_vec_ptr) {
231  MOFEM_TAG_AND_LOG("ADOLCPlasticityWold", sev, "JP2 parameters") << *m;
232  std::vector<double> block_data;
233  CHKERR m->getAttributes(block_data);
234  if (block_data.size() != 6) {
235  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
236  "Expected that block has two attribute");
237  }
238  auto get_block_ents = [&]() {
239  Range ents;
240  CHKERR
241  m_field.get_moab().get_entities_by_handle(m->meshset, ents, true);
242  return ents;
243  };
244 
245  blockData.push_back({*defParamsArray, get_block_ents()});
246  std::copy(block_data.begin(), block_data.end(),
247  blockData.back().paramsArray.begin());
248  const auto young_modulus = blockData.back().paramsArray[LAMBDA];
249  const auto poisson_ratio = blockData.back().paramsArray[MU];
250 
251  // Is assumed that uset provide young_modulus and poisson_ratio in
252  // fist two argiumens of the block
253 
254  MOFEM_LOG("ADOLCPlasticityWold", sev)
255  << "Young modulus: " << (blockData.back().paramsArray)[LAMBDA];
256  MOFEM_LOG("ADOLCPlasticityWold", sev)
257  << "Poisson ratio: " << (blockData.back().paramsArray)[MU];
258 
259  blockData.back().paramsArray[LAMBDA] =
261  blockData.back().paramsArray[MU] = MU(young_modulus, poisson_ratio);
262 
263  MOFEM_LOG("ADOLCPlasticityWold", sev)
264  << "LAMBDA: " << (blockData.back().paramsArray)[LAMBDA];
265  MOFEM_LOG("ADOLCPlasticityWold", sev)
266  << "MU: " << (blockData.back().paramsArray)[MU];
267  MOFEM_LOG("ADOLCPlasticityWold", sev)
268  << "H: " << (blockData.back().paramsArray)[ISOH];
269  MOFEM_LOG("ADOLCPlasticityWold", sev)
270  << "K: " << (blockData.back().paramsArray)[KINK];
271  MOFEM_LOG("ADOLCPlasticityWold", sev)
272  << "PHI: " << (blockData.back().paramsArray)[PHI];
273  MOFEM_LOG("ADOLCPlasticityWold", sev)
274  << "SIGMA_Y: " << (blockData.back().paramsArray)[SIGMA_Y];
275  }
277  }
278  };
279 
280  auto cubit_meshsets_vec_ptr =
281  m_field.getInterface<MeshsetsManager>()->getCubitMeshsetPtr(
282  std::regex((boost::format("%s(.*)") % block_name).str()));
283 
284  pip.push_back(new OpMatBlocks(paramsArrayPtr, defaultParamsArrayPtr,
285  m_field, sev, cubit_meshsets_vec_ptr));
286 
288  }

◆ evalF()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::evalF ( )
inline

[Yield function J2]

Definition at line 373 of file ADOLCPlasticityMaterialModels.hpp.

373  {
375  auto t_voight_stress_op = voight_to_stress_op();
376  auto t_vioght_stress = getFTensor1FromPtr<6>(&a_sTress[0]);
377  auto t_back_stress = getFTensor1FromPtr<6>(&a_internalFluxes[1]);
378  tStress(i, j) = t_voight_stress_op(i, j, Z) * t_vioght_stress(Z);
379  tBackStress(i, j) = t_voight_stress_op(i, j, Z) * t_back_stress(Z);
380 
381  constexpr double third = boost::math::constants::third<double>();
383  tR = tStress(i, i) / 3.;
384  tDeviator(i, j) = tStress(i, j) - tR * t_kd(i, j) - tBackStress(i, j);
385 
386  // Fix the constant to mach uniaxial test
387  constexpr double c = 3. / 2.;
388  f = c * tDeviator(i, j) * tDeviator(i, j);
389 
391  }

◆ flowPotential()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::flowPotential ( )
inlinevirtual

[Yield function J2]

Implements ADOLCPlasticity::ClosestPointProjection.

Definition at line 401 of file ADOLCPlasticityMaterialModels.hpp.

401  {
403  CHKERR evalF();
404  a_h = sqrt(f) - a_internalFluxes[0];
406  }

◆ freeHemholtzEnergy()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::freeHemholtzEnergy ( )
inlinevirtual

[Free energy J2]

Implements ADOLCPlasticity::ClosestPointProjection.

Reimplemented in ADOLCPlasticity::J2Plasticity< 2 >.

Definition at line 324 of file ADOLCPlasticityMaterialModels.hpp.

324  {
326 
327  // ADOL-C register parameters (those can varied for integration points)
328  auto p_lambda = mkparam(lambda); // 0
329  auto p_mu = mkparam(mu); // 1
330  auto p_H = mkparam(H); // 2
331  auto p_K = mkparam(K); // 3
332  auto p_phi = mkparam(phi); // 4
333  auto p_sigma_y = mkparam(sigmaY); // 5
334 
335  // Operator converting Voight and tensor notation
336  auto t_voight_strain_op = voight_to_strain_op();
337 
338  // Variable in voight notation
339  auto t_voight_total_strain = getFTensor1FromPtr<6>(&a_sTrain[0]);
340  auto t_voight_plastic_strain = getFTensor1FromPtr<6>(&a_plasticStrain[0]);
341  auto t_voight_internal_tensor =
342  getFTensor1FromPtr<6>(&a_internalVariables[1]);
343 
344  // Convert variables to tensor notation
345  tTotalStrain(i, j) = t_voight_strain_op(i, j, Z) * t_voight_total_strain(Z);
346  tPlasticStrain(i, j) =
347  t_voight_strain_op(i, j, Z) * t_voight_plastic_strain(Z);
348  tInternalTensor(i, j) =
349  t_voight_strain_op(i, j, Z) * t_voight_internal_tensor(Z);
350 
351  // Evaluate elastic strain
353  tR = tElasticStrain(i, i);
354 
355  // Strain energy
356  a_w = 0.5 * p_lambda * tR * tR +
357  p_mu * (tElasticStrain(i, j) * tElasticStrain(i, j));
358  // Isotropic strain energy
359  a_w +=
360  a_internalVariables[0] * p_sigma_y +
361  0.5 * p_phi * p_H * (a_internalVariables[0] * a_internalVariables[0]);
362  // Kinematic strain energy
363  a_w += (0.5 * (1 - p_phi) * p_K) *
365 
367  }

◆ getDefaultMaterialParameters()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::getDefaultMaterialParameters ( )
inline

Definition at line 108 of file ADOLCPlasticityMaterialModels.hpp.

108  {
110 
111  double young_modulus = 1;
112  double poisson_ratio = 0.25;
113  sigmaY = 1;
114  H = 0.1;
115  K = 0;
116  phi = 1;
117 
118  CHKERR PetscOptionsGetScalar(PETSC_NULL, "-young_modulus", &young_modulus,
119  PETSC_NULL);
120  CHKERR PetscOptionsGetScalar(PETSC_NULL, "-poisson_ratio", &poisson_ratio,
121  0);
122  CHKERR PetscOptionsGetScalar(PETSC_NULL, "-sigma_y", &sigmaY, PETSC_NULL);
123  CHKERR PetscOptionsGetScalar(PETSC_NULL, "-H", &H, PETSC_NULL);
124  CHKERR PetscOptionsGetScalar(PETSC_NULL, "-K", &K, PETSC_NULL);
125  CHKERR PetscOptionsGetScalar(PETSC_NULL, "-phi", &phi, PETSC_NULL);
126 
127  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
128  << "Young modulus: " << young_modulus;
129  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
130  << "Poisson ratio: " << poisson_ratio;
131 
134 
135  defaultParamsArrayPtr = boost::make_shared<ParamsArray>();
136  (*defaultParamsArrayPtr)[LAMBDA] = lambda;
137  (*defaultParamsArrayPtr)[MU] = mu;
138  (*defaultParamsArrayPtr)[H] = H;
139  (*defaultParamsArrayPtr)[K] = K;
140  (*defaultParamsArrayPtr)[PHI] = phi;
141  (*defaultParamsArrayPtr)[SIGMA_Y] = sigmaY;
142 
143  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
144  << "LAMBDA: " << (*defaultParamsArrayPtr)[LAMBDA];
145  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
146  << "MU: " << (*defaultParamsArrayPtr)[MU];
147  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
148  << "H: " << (*defaultParamsArrayPtr)[ISOH];
149  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
150  << "K: " << (*defaultParamsArrayPtr)[KINK];
151  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
152  << "PHI: " << (*defaultParamsArrayPtr)[PHI];
153  MOFEM_LOG("ADOLCPlasticityWold", Sev::inform)
154  << "SIGMA_Y: " << (*defaultParamsArrayPtr)[SIGMA_Y];
155 
156  paramsArrayPtr = boost::make_shared<ParamsArray>();
157  std::copy(defaultParamsArrayPtr->begin(), defaultParamsArrayPtr->end(),
158  paramsArrayPtr->begin());
159  oldParamsArrayPtr = boost::make_shared<ParamsArray>();
160  std::fill(oldParamsArrayPtr->begin(), oldParamsArrayPtr->end(), 0);
161 
163  };

◆ setParams()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::setParams ( short  tag,
bool recalculate_elastic_tangent 
)
inlinevirtual

Set material parameters at integration point.

Parameters
tag
recalculate_elastic_tangent
Returns
MoFEMErrorCode

Reimplemented from ADOLCPlasticity::ClosestPointProjection.

Definition at line 297 of file ADOLCPlasticityMaterialModels.hpp.

297  {
299  switch (tag) {
300  case TypesTags::W: {
301  set_param_vec(tapesTags[tag], paramsArrayPtr->size(),
302  paramsArrayPtr->data());
303  for (auto p = 0; p != LAST_PARAM; p++) {
304  if ((*paramsArrayPtr)[p] != (*oldParamsArrayPtr)[p]) {
305  recalculate_elastic_tangent = true;
306  std::copy(paramsArrayPtr->begin(), paramsArrayPtr->end(),
307  oldParamsArrayPtr->begin());
308  break;
309  }
310  }
311 
312  } break;
313  case TypesTags::Y:
314  case TypesTags::H:
315  break;
316  default:
317  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
318  "Unknown tag for setParams");
319  }
321  }

◆ yieldFunction()

MoFEMErrorCode ADOLCPlasticity::J2Plasticity< 3 >::yieldFunction ( )
inlinevirtual

Set yield function.

Implements ADOLCPlasticity::ClosestPointProjection.

Definition at line 393 of file ADOLCPlasticityMaterialModels.hpp.

393  {
395  CHKERR evalF();
396  a_y = sqrt(f) - a_internalFluxes[0];
398  }

Member Data Documentation

◆ defaultParamsArrayPtr

boost::shared_ptr<ParamsArray> ADOLCPlasticity::J2Plasticity< 3 >::defaultParamsArrayPtr = nullptr

Definition at line 104 of file ADOLCPlasticityMaterialModels.hpp.

◆ f

[Free energy J2]

Definition at line 370 of file ADOLCPlasticityMaterialModels.hpp.

◆ H

Definition at line 96 of file ADOLCPlasticityMaterialModels.hpp.

◆ i

Definition at line 80 of file ADOLCPlasticityMaterialModels.hpp.

◆ j

Definition at line 81 of file ADOLCPlasticityMaterialModels.hpp.

◆ K

Definition at line 97 of file ADOLCPlasticityMaterialModels.hpp.

◆ lambda

Definition at line 95 of file ADOLCPlasticityMaterialModels.hpp.

◆ mu

Definition at line 94 of file ADOLCPlasticityMaterialModels.hpp.

◆ oldParamsArrayPtr

boost::shared_ptr<ParamsArray> ADOLCPlasticity::J2Plasticity< 3 >::oldParamsArrayPtr = nullptr

Definition at line 106 of file ADOLCPlasticityMaterialModels.hpp.

◆ paramsArrayPtr

boost::shared_ptr<ParamsArray> ADOLCPlasticity::J2Plasticity< 3 >::paramsArrayPtr = nullptr

Definition at line 105 of file ADOLCPlasticityMaterialModels.hpp.

◆ phi

Definition at line 98 of file ADOLCPlasticityMaterialModels.hpp.

◆ sigmaY

Definition at line 99 of file ADOLCPlasticityMaterialModels.hpp.

◆ tBackStress

Definition at line 89 of file ADOLCPlasticityMaterialModels.hpp.

◆ tDeviator

Definition at line 90 of file ADOLCPlasticityMaterialModels.hpp.

◆ tElasticStrain

Definition at line 86 of file ADOLCPlasticityMaterialModels.hpp.

◆ tInternalTensor

Definition at line 87 of file ADOLCPlasticityMaterialModels.hpp.

◆ tPlasticStrain

Definition at line 85 of file ADOLCPlasticityMaterialModels.hpp.

◆ tR

Definition at line 92 of file ADOLCPlasticityMaterialModels.hpp.

◆ tStress

Definition at line 88 of file ADOLCPlasticityMaterialModels.hpp.

◆ tTotalStrain

Definition at line 84 of file ADOLCPlasticityMaterialModels.hpp.

◆ Z

Definition at line 82 of file ADOLCPlasticityMaterialModels.hpp.


The documentation for this struct was generated from the following file:
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:447
MoFEM::UnknownInterface::getInterface
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.
Definition: UnknownInterface.hpp:93
ADOLCPlasticity::J2Plasticity< 3 >::KINK
@ KINK
Definition: ADOLCPlasticityMaterialModels.hpp:101
ADOLCPlasticity::ClosestPointProjection::a_h
adouble a_h
Definition: ADOLCPlasticity.hpp:330
ADOLCPlasticity::J2Plasticity< 3 >::tStress
FTensor::Tensor2_symmetric< adouble, 3 > tStress
Definition: ADOLCPlasticityMaterialModels.hpp:88
ADOLCPlasticity::J2Plasticity< 3 >::f
adouble f
[Free energy J2]
Definition: ADOLCPlasticityMaterialModels.hpp:370
ADOLCPlasticity::J2Plasticity< 3 >::paramsArrayPtr
boost::shared_ptr< ParamsArray > paramsArrayPtr
Definition: ADOLCPlasticityMaterialModels.hpp:105
young_modulus
double young_modulus
Young modulus.
Definition: plastic.cpp:172
ADOLCPlasticity::J2Plasticity< 3 >::lambda
double lambda
Definition: ADOLCPlasticityMaterialModels.hpp:95
ADOLCPlasticity::ClosestPointProjection::ClosestPointProjection
ClosestPointProjection()
Definition: ClosetPointProjection.cpp:15
ADOLCPlasticity::J2Plasticity< 3 >::LAST_PARAM
@ LAST_PARAM
Definition: ADOLCPlasticityMaterialModels.hpp:101
ADOLCPlasticity::J2Plasticity< 3 >::MU
@ MU
Definition: ADOLCPlasticityMaterialModels.hpp:101
ADOLCPlasticity::J2Plasticity< 3 >::defaultParamsArrayPtr
boost::shared_ptr< ParamsArray > defaultParamsArrayPtr
Definition: ADOLCPlasticityMaterialModels.hpp:104
CHK_THROW_MESSAGE
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
Definition: definitions.h:596
ADOLCPlasticity::ClosestPointProjection::a_plasticStrain
ublas::vector< adouble > a_plasticStrain
Definition: ADOLCPlasticity.hpp:325
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
ADOLCPlasticity::ClosestPointProjection::a_sTrain
ublas::vector< adouble > a_sTrain
Definition: ADOLCPlasticity.hpp:324
ADOLCPlasticity::J2Plasticity< 3 >::i
FTensor::Index< 'i', 3 > i
Definition: ADOLCPlasticityMaterialModels.hpp:80
ADOLCPlasticity::J2Plasticity< 3 >::ISOH
@ ISOH
Definition: ADOLCPlasticityMaterialModels.hpp:101
ADOLCPlasticity::J2Plasticity< 3 >::PHI
@ PHI
Definition: ADOLCPlasticityMaterialModels.hpp:101
W
double W
Definition: free_surface.cpp:166
ADOLCPlasticity::J2Plasticity< 3 >::ParamsArray
std::array< double, LAST_PARAM > ParamsArray
Definition: ADOLCPlasticityMaterialModels.hpp:103
MoFEM::DeprecatedCoreInterface
Deprecated interface functions.
Definition: DeprecatedCoreInterface.hpp:16
ADOLCPlasticity::J2Plasticity< 3 >::oldParamsArrayPtr
boost::shared_ptr< ParamsArray > oldParamsArrayPtr
Definition: ADOLCPlasticityMaterialModels.hpp:106
c
const double c
speed of light (cm/ns)
Definition: initial_diffusion.cpp:39
MoFEM::Sev
MoFEM::LogManager::SeverityLevel Sev
Definition: CoreTemplates.hpp:17
ADOLCPlasticity::J2Plasticity< 3 >::tR
adouble tR
Definition: ADOLCPlasticityMaterialModels.hpp:92
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
BlockData
Definition: gel_analysis.cpp:74
ADOLCPlasticity::J2Plasticity< 3 >::Z
FTensor::Index< 'Z', 6 > Z
Definition: ADOLCPlasticityMaterialModels.hpp:82
convert.type
type
Definition: convert.py:64
ADOLCPlasticity::J2Plasticity< 3 >::j
FTensor::Index< 'j', 3 > j
Definition: ADOLCPlasticityMaterialModels.hpp:81
poisson_ratio
double poisson_ratio
Poisson ratio.
Definition: plastic.cpp:173
ADOLCPlasticity::J2Plasticity< 3 >::tDeviator
FTensor::Tensor2_symmetric< adouble, 3 > tDeviator
Definition: ADOLCPlasticityMaterialModels.hpp:90
ADOLCPlasticity::voight_to_strain_op
FTensor::Dg< double, 3, 6 > voight_to_strain_op()
Op convert Vight strain vector to strain tensor.
Definition: ADOLCPlasticity.hpp:29
ADOLCPlasticity::J2Plasticity< 3 >::K
double K
Definition: ADOLCPlasticityMaterialModels.hpp:97
ADOLCPlasticity::ClosestPointProjection::a_w
adouble a_w
Definition: ADOLCPlasticity.hpp:328
ADOLCPlasticity::ClosestPointProjection::a_internalFluxes
ublas::vector< adouble > a_internalFluxes
Definition: ADOLCPlasticity.hpp:327
t_kd
constexpr auto t_kd
Definition: free_surface.cpp:137
ADOLCPlasticity::ClosestPointProjection::nbInternalVariables
int nbInternalVariables
Definition: ADOLCPlasticity.hpp:141
ADOLCPlasticity::ClosestPointProjection::activeVariablesW
VectorAdaptor activeVariablesW
Definition: ADOLCPlasticity.hpp:173
ADOLCPlasticity::ClosestPointProjection::tapesTags
std::array< int, LAST_TAPE > tapesTags
Definition: ADOLCPlasticity.hpp:169
EntData
EntitiesFieldData::EntData EntData
Definition: child_and_parent.cpp:37
ADOLCPlasticity::J2Plasticity< 3 >::tElasticStrain
FTensor::Tensor2_symmetric< adouble, 3 > tElasticStrain
Definition: ADOLCPlasticityMaterialModels.hpp:86
ADOLCPlasticity::J2Plasticity< 3 >::SIGMA_Y
@ SIGMA_Y
Definition: ADOLCPlasticityMaterialModels.hpp:101
Range
ADOLCPlasticity::J2Plasticity< 3 >::mu
double mu
Definition: ADOLCPlasticityMaterialModels.hpp:94
MOFEM_TAG_AND_LOG
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
Definition: LogManager.hpp:362
ADOLCPlasticity::J2Plasticity< 3 >::tInternalTensor
FTensor::Tensor2_symmetric< adouble, 3 > tInternalTensor
Definition: ADOLCPlasticityMaterialModels.hpp:87
MOFEM_LOG
#define MOFEM_LOG(channel, severity)
Log.
Definition: LogManager.hpp:308
ADOLCPlasticity::J2Plasticity< 3 >::tBackStress
FTensor::Tensor2_symmetric< adouble, 3 > tBackStress
Definition: ADOLCPlasticityMaterialModels.hpp:89
ADOLCPlasticity::ClosestPointProjection::a_internalVariables
ublas::vector< adouble > a_internalVariables
Definition: ADOLCPlasticity.hpp:326
UserDataOperator
ForcesAndSourcesCore::UserDataOperator UserDataOperator
Definition: HookeElement.hpp:75
ADOLCPlasticity::ClosestPointProjection::a_y
adouble a_y
Definition: ADOLCPlasticity.hpp:329
ADOLCPlasticity::J2Plasticity< 3 >::evalF
MoFEMErrorCode evalF()
[Yield function J2]
Definition: ADOLCPlasticityMaterialModels.hpp:373
ADOLCPlasticity::J2Plasticity< 3 >::phi
double phi
Definition: ADOLCPlasticityMaterialModels.hpp:98
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
ADOLCPlasticity::voight_to_stress_op
FTensor::Dg< double, 3, 6 > voight_to_stress_op()
Op convert Vight stress vector to stress tensor.
Definition: ADOLCPlasticity.hpp:49
ADOLCPlasticity::ClosestPointProjection::a_sTress
ublas::vector< adouble > a_sTress
Definition: ADOLCPlasticity.hpp:327
m
FTensor::Index< 'm', 3 > m
Definition: shallow_wave.cpp:80
FTensor::Kronecker_Delta_symmetric
Kronecker Delta class symmetric.
Definition: Kronecker_Delta.hpp:49
MoFEM::PetscOptionsGetScalar
PetscErrorCode PetscOptionsGetScalar(PetscOptions *, const char pre[], const char name[], PetscScalar *dval, PetscBool *set)
Definition: DeprecatedPetsc.hpp:162
third
constexpr double third
Definition: EshelbianADOL-C.cpp:14
ADOLCPlasticity::J2Plasticity< 3 >::tPlasticStrain
FTensor::Tensor2_symmetric< adouble, 3 > tPlasticStrain
Definition: ADOLCPlasticityMaterialModels.hpp:85
ADOLCPlasticity::J2Plasticity< 3 >::LAMBDA
@ LAMBDA
Definition: ADOLCPlasticityMaterialModels.hpp:101
OP
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
H
double H
Hardening.
Definition: plastic.cpp:175
ADOLCPlasticity::J2Plasticity< 3 >::tTotalStrain
FTensor::Tensor2_symmetric< adouble, 3 > tTotalStrain
Definition: ADOLCPlasticityMaterialModels.hpp:84
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
ADOLCPlasticity::J2Plasticity< 3 >::sigmaY
double sigmaY
Definition: ADOLCPlasticityMaterialModels.hpp:99
ADOLCPlasticity::J2Plasticity< 3 >::H
double H
Definition: ADOLCPlasticityMaterialModels.hpp:96