|
| v0.14.0
|
|
| HMHHencky (MoFEM::Interface &m_field, const double E, const double nu) |
|
MoFEMErrorCode | recordTape (const int tag, DTensor2Ptr *t_h) |
|
virtual OpJacobian * | returnOpJacobian (const int tag, const bool eval_rhs, const bool eval_lhs, boost::shared_ptr< DataAtIntegrationPts > &data_ptr, boost::shared_ptr< PhysicalEquations > &physics_ptr) |
|
MoFEMErrorCode | getOptions (boost::shared_ptr< DataAtIntegrationPts > data_ptr) |
|
MoFEMErrorCode | extractBlockData (Sev sev) |
|
MoFEMErrorCode | extractBlockData (std::vector< const CubitMeshSets * > meshset_vec_ptr, Sev sev) |
|
MoFEMErrorCode | getMatDPtr (boost::shared_ptr< MatrixDouble > mat_D_ptr, boost::shared_ptr< MatrixDouble > mat_axiator_D_ptr, boost::shared_ptr< MatrixDouble > mat_deviator_D_ptr, double bulk_modulus_K, double shear_modulus_G) |
|
| PhysicalEquations ()=delete |
|
| PhysicalEquations (const int size_active, const int size_dependent) |
|
virtual | ~PhysicalEquations ()=default |
|
DTensor2Ptr | get_P () |
|
DTensor3Ptr | get_P_dh0 () |
|
DTensor3Ptr | get_P_dh1 () |
|
DTensor3Ptr | get_P_dh2 () |
|
DTensor2Ptr | get_h () |
|
|
typedef FTensor::Tensor1< adouble, 3 > | ATensor1 |
|
typedef FTensor::Tensor2< adouble, 3, 3 > | ATensor2 |
|
typedef FTensor::Tensor3< adouble, 3, 3, 3 > | ATensor3 |
|
typedef FTensor::Tensor1< double, 3 > | DTensor1 |
|
typedef FTensor::Tensor2< double, 3, 3 > | DTensor2 |
|
typedef FTensor::Tensor3< double, 3, 3, 3 > | DTensor3 |
|
typedef FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > | DTensor0Ptr |
|
typedef FTensor::Tensor2< FTensor::PackPtr< double *, 1 >, 3, 3 > | DTensor2Ptr |
|
typedef FTensor::Tensor3< FTensor::PackPtr< double *, 1 >, 3, 3, 3 > | DTensor3Ptr |
|
template<int S> |
static DTensor2Ptr | get_VecTensor2 (std::vector< double > &v) |
|
template<int S> |
static DTensor0Ptr | get_VecTensor0 (std::vector< double > &v) |
|
template<int S0> |
static DTensor3Ptr | get_vecTensor3 (std::vector< double > &v, const int nba) |
|
std::vector< double > | activeVariables |
|
std::vector< double > | dependentVariablesPiola |
|
std::vector< double > | dependentVariablesPiolaDirevatives |
|
Definition at line 465 of file EshelbianADOL-C.cpp.
◆ HMHHencky()
◆ extractBlockData() [1/2]
◆ extractBlockData() [2/2]
Definition at line 560 of file EshelbianADOL-C.cpp.
564 for (
auto m : meshset_vec_ptr) {
566 std::vector<double> block_data;
567 CHKERR m->getAttributes(block_data);
568 if (block_data.size() != 2) {
570 "Expected that block has two attribute");
572 auto get_block_ents = [&]() {
◆ getMatDPtr()
MoFEMErrorCode EshelbianPlasticity::HMHHencky::getMatDPtr |
( |
boost::shared_ptr< MatrixDouble > |
mat_D_ptr, |
|
|
boost::shared_ptr< MatrixDouble > |
mat_axiator_D_ptr, |
|
|
boost::shared_ptr< MatrixDouble > |
mat_deviator_D_ptr, |
|
|
double |
bulk_modulus_K, |
|
|
double |
shear_modulus_G |
|
) |
| |
|
inline |
[Calculate elasticity tensor]
[Calculate elasticity tensor]
Definition at line 592 of file EshelbianADOL-C.cpp.
598 auto set_material_stiffness = [&]() {
608 auto t_D = getFTensor4DdgFromMat<SPACE_DIM, SPACE_DIM, 0>(*mat_D_ptr);
610 getFTensor4DdgFromMat<SPACE_DIM, SPACE_DIM, 0>(*mat_axiator_D_ptr);
612 getFTensor4DdgFromMat<SPACE_DIM, SPACE_DIM, 0>(*mat_deviator_D_ptr);
613 t_axiator_D(
i,
j,
k,
l) =
A *
616 t_deviator_D(
i,
j,
k,
l) =
618 t_D(
i,
j,
k,
l) = t_axiator_D(
i,
j,
k,
l) + t_deviator_D(
i,
j,
k,
l);
625 set_material_stiffness();
◆ getOptions()
Definition at line 532 of file EshelbianADOL-C.cpp.
534 CHKERR PetscOptionsBegin(PETSC_COMM_WORLD,
"hencky_",
"",
"none");
536 CHKERR PetscOptionsScalar(
"-young_modulus",
"Young modulus",
"",
E, &
E,
538 CHKERR PetscOptionsScalar(
"-poisson_ratio",
"poisson ratio",
"",
nu, &
nu,
541 ierr = PetscOptionsEnd();
◆ recordTape()
◆ returnOpJacobian()
◆ blockData
std::vector<BlockData> EshelbianPlasticity::HMHHencky::blockData |
|
private |
double EshelbianPlasticity::HMHHencky::E |
|
private |
◆ mField
◆ nu
double EshelbianPlasticity::HMHHencky::nu |
|
private |
The documentation for this struct was generated from the following file:
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.
constexpr static auto size_symm
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
double young_modulus
Young modulus.
std::vector< BlockData > blockData
#define CHKERR
Inline error check.
virtual moab::Interface & get_moab()=0
double poisson_ratio
Poisson ratio.
MoFEM::Interface & mField
FTensor::Index< 'i', SPACE_DIM > i
MoFEMErrorCode extractBlockData(Sev sev)
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
FTensor::Index< 'j', 3 > j
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
@ MOFEM_DATA_INCONSISTENCY
Interface for managing meshsets containing materials and boundary conditions.
FTensor::Index< 'm', 3 > m
Kronecker Delta class symmetric.
MoFEMErrorCode getCubitMeshsetPtr(const int ms_id, const CubitBCType cubit_bc_type, const CubitMeshSets **cubit_meshset_ptr) const
get cubit meshset
FTensor::Index< 'k', 3 > k
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
PhysicalEquations()=delete
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
FTensor::Index< 'l', 3 > l