|
| HMHNeohookean (MoFEM::Interface &m_field, const double c10, const double K) |
|
auto | getMaterialParameters (EntityHandle ent) |
|
VolUserDataOperator * | returnOpSetScale (boost::shared_ptr< double > scale_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr) |
|
virtual EshelbianPlasticity::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 () |
|
MoFEMErrorCode | extractBlockData (Sev sev) |
|
MoFEMErrorCode | extractBlockData (std::vector< const CubitMeshSets * > meshset_vec_ptr, Sev sev) |
|
MoFEMErrorCode | recordTape (const int tape, DTensor2Ptr *t_h_ptr) |
|
virtual VolUserDataOperator * | returnOpSpatialPhysical (const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const double alpha_u) |
|
VolUserDataOperator * | returnOpSpatialPhysical_du_du (std::string row_field, std::string col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const double alpha) |
|
| PhysicalEquations ()=delete |
|
| PhysicalEquations (const int size_active, const int size_dependent) |
|
virtual | ~PhysicalEquations ()=default |
|
virtual VolUserDataOperator * | returnOpCalculateEnergy (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< double > total_energy_ptr) |
|
virtual VolUserDataOperator * | returnOpCalculateStretchFromStress (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr) |
|
virtual VolUserDataOperator * | returnOpCalculateVarStretchFromStress (boost::shared_ptr< DataAtIntegrationPts > data_ptr, boost::shared_ptr< PhysicalEquations > physics_ptr) |
|
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 14 of file HMHNeohookean.cpp.
◆ HMHNeohookean()
Definition at line 19 of file HMHNeohookean.cpp.
25 "extract block data failed");
27 #ifdef NEOHOOKEAN_SCALING
41 "Stretch selector is not equal to LOG");
45 "Exponent base is not equal to exp(1)");
◆ extractBlockData() [1/2]
MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::extractBlockData |
( |
Sev |
sev | ) |
|
|
inline |
Definition at line 128 of file HMHNeohookean.cpp.
133 (boost::format(
"%s(.*)") %
"MAT_NEOHOOKEAN").str()
◆ extractBlockData() [2/2]
MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::extractBlockData |
( |
std::vector< const CubitMeshSets * > |
meshset_vec_ptr, |
|
|
Sev |
sev |
|
) |
| |
|
inline |
Definition at line 141 of file HMHNeohookean.cpp.
145 for (
auto m : meshset_vec_ptr) {
147 std::vector<double> block_data;
148 CHKERR m->getAttributes(block_data);
149 if (block_data.size() != 2) {
151 "Expected that block has two attribute");
153 auto get_block_ents = [&]() {
159 double c10 = block_data[0];
160 double K = block_data[1];
162 blockData.push_back({c10,
K, get_block_ents()});
164 MOFEM_LOG(
"EP", sev) <<
"MatBlock Neo-Hookean c10 = "
166 <<
" K = " <<
blockData.back().K <<
" nb ents. = "
◆ getMaterialParameters()
auto EshelbianPlasticity::HMHNeohookean::getMaterialParameters |
( |
EntityHandle |
ent | ) |
|
|
inline |
Definition at line 50 of file HMHNeohookean.cpp.
52 if (b.blockEnts.find(ent) != b.blockEnts.end()) {
53 return std::make_pair(b.c10, b.K);
58 "Block not found for entity handle. If you mat set "
59 "block, set it to all elements");
◆ getOptions()
MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::getOptions |
( |
| ) |
|
|
inline |
Definition at line 103 of file HMHNeohookean.cpp.
105 CHKERR PetscOptionsBegin(PETSC_COMM_WORLD,
"neo_hookean_",
"",
"none");
115 CHKERR PetscOptionsScalar(
"-viscosity_alpha_grad_u",
"viscosity",
"",
118 ierr = PetscOptionsEnd();
◆ recordTape()
MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::recordTape |
( |
const int |
tape, |
|
|
DTensor2Ptr * |
t_h_ptr |
|
) |
| |
|
inlinevirtual |
◆ returnOpJacobian()
virtual EshelbianPlasticity::OpJacobian* EshelbianPlasticity::HMHNeohookean::returnOpJacobian |
( |
const int |
tag, |
|
|
const bool |
eval_rhs, |
|
|
const bool |
eval_lhs, |
|
|
boost::shared_ptr< DataAtIntegrationPts > |
data_ptr, |
|
|
boost::shared_ptr< PhysicalEquations > |
physics_ptr |
|
) |
| |
|
inlinevirtual |
◆ returnOpSetScale()
◆ returnOpSpatialPhysical()
◆ returnOpSpatialPhysical_du_du()
◆ alphaGradU
double EshelbianPlasticity::HMHNeohookean::alphaGradU |
|
private |
◆ blockData
std::vector<BlockData> EshelbianPlasticity::HMHNeohookean::blockData |
|
private |
◆ c10_default
double EshelbianPlasticity::HMHNeohookean::c10_default |
|
private |
◆ eqScaling
double EshelbianPlasticity::HMHNeohookean::eqScaling = 1. |
|
private |
◆ K_default
double EshelbianPlasticity::HMHNeohookean::K_default |
|
private |
◆ mField
◆ numberOfActiveVariables
constexpr int EshelbianPlasticity::HMHNeohookean::numberOfActiveVariables = 0 |
|
staticconstexpr |
◆ numberOfDependentVariables
constexpr int EshelbianPlasticity::HMHNeohookean::numberOfDependentVariables = 0 |
|
staticconstexpr |
The documentation for this struct was generated from the following file: