v0.14.0
Public Member Functions | Private Attributes | List of all members
EshelbianPlasticity::HMHHencky::OpHenckyJacobian Struct Reference
Inheritance diagram for EshelbianPlasticity::HMHHencky::OpHenckyJacobian:
[legend]
Collaboration diagram for EshelbianPlasticity::HMHHencky::OpHenckyJacobian:
[legend]

Public Member Functions

 OpHenckyJacobian (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< HMHHencky > hencky_ptr)
 
MoFEMErrorCode doWork (int side, EntityType type, EntitiesFieldData::EntData &data)
 
MoFEMErrorCode evaluateRhs (EntData &data)
 
MoFEMErrorCode evaluateLhs (EntData &data)
 
- Public Member Functions inherited from EshelbianPlasticity::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)
 
MoFEMErrorCode doWork (int side, EntityType type, EntData &data)
 

Private Attributes

boost::shared_ptr< DataAtIntegrationPtsdataAtGaussPts
 
boost::shared_ptr< HMHHenckyhenckyPtr
 

Additional Inherited Members

- Protected Member Functions inherited from EshelbianPlasticity::OpJacobian
 OpJacobian ()
 
- Protected Attributes inherited from EshelbianPlasticity::OpJacobian
int tAg = -1
 adol-c tape More...
 
bool evalRhs = false
 
bool evalLhs = false
 
boost::shared_ptr< DataAtIntegrationPtsdataAtPts
 data at integration pts More...
 
boost::shared_ptr< PhysicalEquationsphysicsPtr
 material physical equations More...
 

Detailed Description

Definition at line 472 of file EshelbianADOL-C.cpp.

Constructor & Destructor Documentation

◆ OpHenckyJacobian()

EshelbianPlasticity::HMHHencky::OpHenckyJacobian::OpHenckyJacobian ( boost::shared_ptr< DataAtIntegrationPts data_ptr,
boost::shared_ptr< HMHHencky hencky_ptr 
)
inline

Definition at line 473 of file EshelbianADOL-C.cpp.

475  : OpJacobian(), dataAtGaussPts(data_ptr), henckyPtr(hencky_ptr) {
477  "getOptions failed");
478  CHK_THROW_MESSAGE(henckyPtr->extractBlockData(Sev::inform),
479  "Can not get data from block");
480  }

Member Function Documentation

◆ doWork()

MoFEMErrorCode EshelbianPlasticity::HMHHencky::OpHenckyJacobian::doWork ( int  side,
EntityType  type,
EntitiesFieldData::EntData data 
)
inline

Definition at line 482 of file EshelbianADOL-C.cpp.

483  {
485 
486  for (auto &b : henckyPtr->blockData) {
487 
488  if (b.blockEnts.find(getFEEntityHandle()) != b.blockEnts.end()) {
489  dataAtGaussPts->mu = b.bulkModulusK;
490  dataAtGaussPts->lambda = b.bulkModulusK;
491  CHKERR henckyPtr->getMatDPtr(dataAtGaussPts->getMatDPtr(),
492  dataAtGaussPts->getMatAxiatorDPtr(),
493  dataAtGaussPts->getMatDeviatorDPtr(),
494  b.bulkModulusK, b.shearModulusG);
496  }
497  }
498 
499  const auto E = henckyPtr->E;
500  const auto nu = henckyPtr->nu;
501 
502  double bulk_modulus_K = E / (3 * (1 - 2 * nu));
503  double shear_modulus_G = E / (2 * (1 + nu));
504 
506  dataAtGaussPts->lambda = bulk_modulus_K;
507 
508  CHKERR henckyPtr->getMatDPtr(dataAtGaussPts->getMatDPtr(),
509  dataAtGaussPts->getMatAxiatorDPtr(),
510  dataAtGaussPts->getMatDeviatorDPtr(),
512 
514  }

◆ evaluateLhs()

MoFEMErrorCode EshelbianPlasticity::HMHHencky::OpHenckyJacobian::evaluateLhs ( EntData data)
inlinevirtual

Implements EshelbianPlasticity::OpJacobian.

Definition at line 517 of file EshelbianADOL-C.cpp.

517 { return 0; }

◆ evaluateRhs()

MoFEMErrorCode EshelbianPlasticity::HMHHencky::OpHenckyJacobian::evaluateRhs ( EntData data)
inlinevirtual

Implements EshelbianPlasticity::OpJacobian.

Definition at line 516 of file EshelbianADOL-C.cpp.

516 { return 0; }

Member Data Documentation

◆ dataAtGaussPts

boost::shared_ptr<DataAtIntegrationPts> EshelbianPlasticity::HMHHencky::OpHenckyJacobian::dataAtGaussPts
private

Definition at line 520 of file EshelbianADOL-C.cpp.

◆ henckyPtr

boost::shared_ptr<HMHHencky> EshelbianPlasticity::HMHHencky::OpHenckyJacobian::henckyPtr
private

Definition at line 521 of file EshelbianADOL-C.cpp.


The documentation for this struct was generated from the following file:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
CHK_THROW_MESSAGE
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
Definition: definitions.h:596
E
EshelbianPlasticity::HMHHencky::OpHenckyJacobian::henckyPtr
boost::shared_ptr< HMHHencky > henckyPtr
Definition: EshelbianADOL-C.cpp:521
bulk_modulus_K
double bulk_modulus_K
Definition: dynamic_first_order_con_law.cpp:96
EshelbianPlasticity::HMHHencky::nu
double nu
Definition: EshelbianADOL-C.cpp:640
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
EshelbianPlasticity::HMHHencky::OpHenckyJacobian::dataAtGaussPts
boost::shared_ptr< DataAtIntegrationPts > dataAtGaussPts
Definition: EshelbianADOL-C.cpp:520
EshelbianPlasticity::OpJacobian::OpJacobian
OpJacobian()
Definition: EshelbianPlasticity.hpp:339
shear_modulus_G
double shear_modulus_G
Definition: dynamic_first_order_con_law.cpp:97
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346