v0.8.4
Classes | Typedefs | Enumerations | Functions | Variables
EshelbianPlasticity Namespace Reference

Classes

struct  BcLoadScale
 
struct  DataAtIntegrationPts
 
struct  DirichletMatrialBc
 
struct  EshelbianCore
 
struct  FaceRule
 Set integration rule on element. More...
 
struct  HMHStVenantKirchhoff
 
struct  OpAssembleFace
 
struct  OpAssembleVolume
 
struct  OpCalculateBcConstrainMatrix
 
struct  OpCalculateTonsorialGrad
 
struct  OpDivMaterial_dW_dH
 
struct  OpDivMaterial_dW_dLambda
 
struct  OpDivMaterial_dW_dW
 
struct  OpHMHHStVenantKirchhoff
 
struct  OpJacobian
 
struct  OpMaterial_dH_dH
 
struct  OpMaterial_dH_dLambda
 
struct  OpMaterial_dH_dW
 
struct  OpMaterial_dH_dx
 
struct  OpMaterialBc_dH_dLambda
 
struct  OpMaterialBc_dLambda_dH
 
struct  OpPhi_dLambda_dH
 
struct  OpPhi_dLambda_dLambda
 
struct  OpPhi_dLambda_dx
 
struct  OpPostProcDataStructure
 
struct  OpRhsDivMaterial
 
struct  OpRhsMaterial
 
struct  OpRhsMaterialBc_H
 
struct  OpRhsMaterialBc_Lambda
 
struct  OpRhsPhi
 
struct  OpRhsSpatial
 
struct  OpSpatial_dx_dH
 
struct  OpSpatial_dx_dx
 
struct  PhysicalEquations
 
struct  VolRule
 Set integration rule on element. More...
 

Typedefs

typedef boost::shared_ptr< MatrixDouble > MatrixPtr
 
typedef boost::shared_ptr< VectorDouble > VectorPtr
 
using EntData = DataForcesAndSourcesCore::EntData
 
using UserDataOperator = ForcesAndSourcesCore::UserDataOperator
 
using VolUserDataOperator = VolumeElementForcesAndSourcesCore::UserDataOperator
 
using FaceUserDataOperator = FaceElementForcesAndSourcesCore::UserDataOperator
 

Enumerations

enum  EshelbianInterfaces { CORE_ESHELBIAN_INTERFACE = 1 << 0 }
 

Functions

FTensor::Tensor3< FTensor::PackPtr< double *, 1 >, 3, 3, 3 > getFTensor3FromMat (MatrixDouble &m)
 
template<typename T >
static FTensor::Tensor3< double, 3, 3, 3 > get_dev_base (T &t)
 
template<typename T >
static FTensor::Tensor2< double, 3, 3 > get_tensor_dev (T &t)
 
static double cal_min (double a, double b, double r)
 
static double diff_cal_min_a (double a, double b, double r)
 

Variables

static const MOFEMuuid IDD_MOFEMEshelbianCrackInterface
 

Typedef Documentation

◆ EntData

using EshelbianPlasticity::EntData = typedef DataForcesAndSourcesCore::EntData

◆ FaceUserDataOperator

using EshelbianPlasticity::FaceUserDataOperator = typedef FaceElementForcesAndSourcesCore::UserDataOperator

Definition at line 32 of file EshelbianPlasticity.hpp.

◆ MatrixPtr

typedef boost::shared_ptr<MatrixDouble> EshelbianPlasticity::MatrixPtr

Definition at line 16 of file EshelbianPlasticity.hpp.

◆ UserDataOperator

using EshelbianPlasticity::UserDataOperator = typedef ForcesAndSourcesCore::UserDataOperator

◆ VectorPtr

typedef boost::shared_ptr<VectorDouble> EshelbianPlasticity::VectorPtr

Definition at line 17 of file EshelbianPlasticity.hpp.

◆ VolUserDataOperator

using EshelbianPlasticity::VolUserDataOperator = typedef VolumeElementForcesAndSourcesCore::UserDataOperator

Definition at line 31 of file EshelbianPlasticity.hpp.

Enumeration Type Documentation

◆ EshelbianInterfaces

Enumerator
CORE_ESHELBIAN_INTERFACE 

Definition at line 11 of file EshelbianPlasticity.hpp.

Function Documentation

◆ cal_min()

static double EshelbianPlasticity::cal_min ( double  a,
double  b,
double  r 
)
static

Definition at line 778 of file EshelbianOperators.cpp.

778  {
779  return (a + b - (1 / r) * pow(fabs(a - b), r)) / 2;
780 }

◆ diff_cal_min_a()

static double EshelbianPlasticity::diff_cal_min_a ( double  a,
double  b,
double  r 
)
static

Definition at line 782 of file EshelbianOperators.cpp.

782  {
783  double sgn = ((a - b) == 0) ? 0 : (((a - b) < 0) ? -1 : 1);
784  return (1 - pow(fabs(a - b), r - 1) * sgn * (+1)) / 2;
785 }

◆ get_dev_base()

template<typename T >
static FTensor::Tensor3<double, 3, 3, 3> EshelbianPlasticity::get_dev_base ( T &  t)
static

Definition at line 294 of file EshelbianOperators.cpp.

294  {
302  t_dev(i, j, k) = 0;
303  // 0
304  t_dev(N0, N0, N0) = t(N0) - t(N0) / 3;
305  t_dev(N0, N0, N1) = t(N1);
306  t_dev(N0, N0, N2) = t(N2);
307  t_dev(N0, N1, N1) = -t(N0) / 3;
308  t_dev(N0, N2, N2) = -t(N0) / 3;
309  // 1
310  t_dev(N1, N1, N0) = t(N0);
311  t_dev(N1, N1, N1) = t(N1) - t(N1) / 3;
312  t_dev(N1, N1, N2) = t(N2);
313  t_dev(N1, N0, N0) = -t(N1) / 3;
314  t_dev(N1, N2, N2) = -t(N1) / 3;
315  // 2
316  t_dev(N2, N2, N0) = t(N0);
317  t_dev(N2, N2, N1) = t(N1);
318  t_dev(N2, N2, N2) = t(N2) - t(N2) / 3;
319  t_dev(N2, N0, N0) = -t(N2) / 3;
320  t_dev(N2, N1, N1) = -t(N2) / 3;
321  return t_dev;
322 };

◆ get_tensor_dev()

template<typename T >
static FTensor::Tensor2<double, 3, 3> EshelbianPlasticity::get_tensor_dev ( T &  t)
static

Definition at line 325 of file EshelbianOperators.cpp.

325  {
332  double trace = (t(N0, N0) + t(N1, N1) + t(N2, N2)) / 3;
333  t_dev(i, j) = t(i, j);
334  t_dev(N0, N0) -= trace;
335  t_dev(N1, N1) -= trace;
336  t_dev(N2, N2) -= trace;
337  return t_dev;
338 };

◆ getFTensor3FromMat()

FTensor::Tensor3<FTensor::PackPtr<double *, 1>, 3, 3, 3> EshelbianPlasticity::getFTensor3FromMat ( MatrixDouble &  m)

Definition at line 20 of file EshelbianPlasticity.hpp.

20  {
22  &m(0, 0), &m(1, 0), &m(2, 0), &m(3, 0), &m(4, 0), &m(5, 0), &m(6, 0),
23  &m(7, 0), &m(8, 0), &m(9, 0), &m(10, 0), &m(11, 0), &m(12, 0), &m(13, 0),
24  &m(14, 0), &m(15, 0), &m(16, 0), &m(17, 0), &m(18, 0), &m(19, 0),
25  &m(20, 0), &m(21, 0), &m(22, 0), &m(23, 0), &m(24, 0), &m(25, 0),
26  &m(26, 0));
27 }

Variable Documentation

◆ IDD_MOFEMEshelbianCrackInterface

const MOFEMuuid EshelbianPlasticity::IDD_MOFEMEshelbianCrackInterface
static
Initial value:

Definition at line 13 of file EshelbianPlasticity.hpp.