v0.15.0
Loading...
Searching...
No Matches
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
 
bool evalRhs = false
 
bool evalLhs = false
 
boost::shared_ptr< DataAtIntegrationPtsdataAtPts
 data at integration pts
 
boost::shared_ptr< PhysicalEquationsphysicsPtr
 material physical equations
 

Detailed Description

Definition at line 19 of file HMHHencky.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 20 of file HMHHencky.cpp.

22 : OpJacobian(), dataAtGaussPts(data_ptr), henckyPtr(hencky_ptr) {
24 "getOptions failed");
25 CHK_THROW_MESSAGE(henckyPtr->extractBlockData(Sev::verbose),
26 "Can not get data from block");
27 }
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
boost::shared_ptr< HMHHencky > henckyPtr
Definition HMHHencky.cpp:66
boost::shared_ptr< DataAtIntegrationPts > dataAtGaussPts
Definition HMHHencky.cpp:65

Member Function Documentation

◆ doWork()

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

Definition at line 29 of file HMHHencky.cpp.

30 {
32
33 for (auto &b : henckyPtr->blockData) {
34 if (b.blockEnts.find(getFEEntityHandle()) != b.blockEnts.end()) {
35 dataAtGaussPts->mu = b.shearModulusG;
36 dataAtGaussPts->lambda = b.bulkModulusK - 2 * b.shearModulusG / 3;
37 CHKERR henckyPtr->getMatDPtr(dataAtGaussPts->getMatDPtr(),
38 dataAtGaussPts->getMatAxiatorDPtr(),
39 dataAtGaussPts->getMatDeviatorDPtr(),
40 b.bulkModulusK, b.shearModulusG);
42 }
43 }
44 const auto E = henckyPtr->E;
45 const auto nu = henckyPtr->nu;
46
47 double bulk_modulus_K = E / (3 * (1 - 2 * nu));
48 double shear_modulus_G = E / (2 * (1 + nu));
49
52
53 CHKERR henckyPtr->getMatDPtr(dataAtGaussPts->getMatDPtr(),
54 dataAtGaussPts->getMatAxiatorDPtr(),
55 dataAtGaussPts->getMatDeviatorDPtr(),
57
59 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
double bulk_modulus_K
double shear_modulus_G

◆ evaluateLhs()

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

Implements EshelbianPlasticity::OpJacobian.

Definition at line 62 of file HMHHencky.cpp.

62{ return 0; }

◆ evaluateRhs()

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

Implements EshelbianPlasticity::OpJacobian.

Definition at line 61 of file HMHHencky.cpp.

61{ return 0; }

Member Data Documentation

◆ dataAtGaussPts

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

Definition at line 65 of file HMHHencky.cpp.

◆ henckyPtr

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

Definition at line 66 of file HMHHencky.cpp.


The documentation for this struct was generated from the following file: