#include <MacroElastic.h>
Definition at line 19 of file MacroElastic.h.
◆ CRACKING_RELEASE
Enumerator |
---|
CR_ABRUPT | |
CR_EXPONENTIAL | |
CR_POWER | |
CR_UNKNOWN | |
Definition at line 47 of file SolidModel.h.
◆ MacroElastic()
MacroElastic::MacroElastic |
( |
const InputParameters & |
parameters | ) |
|
Definition at line 42 of file MacroElastic.C.
44 _C1111(getPostprocessorValue(
"C1111")),
45 _C1122(getPostprocessorValue(
"C1122")),
46 _C1133(getPostprocessorValue(
"C1133")),
47 _C2222(getPostprocessorValue(
"C2222")),
48 _C2233(getPostprocessorValue(
"C2233")),
49 _C3333(getPostprocessorValue(
"C3333")),
50 _C1212(getPostprocessorValue(
"C1212")),
51 _C2323(getPostprocessorValue(
"C2323")),
52 _C3131(getPostprocessorValue(
"C3131"))
◆ ~MacroElastic()
MacroElastic::~MacroElastic |
( |
| ) |
|
|
virtual |
◆ applyCracksToTensor()
void SolidModel::applyCracksToTensor |
( |
SymmTensor & |
tensor, |
|
|
const RealVectorValue & |
sigma |
|
) |
| |
|
protectedinherited |
◆ applyThermalStrain()
void SolidModel::applyThermalStrain |
( |
| ) |
|
|
virtualinherited |
Definition at line 591 of file SolidModel.C.
595 Real inc_thermal_strain;
596 Real d_thermal_strain_d_temp;
606 Real delta_t = current_temp - old_temp;
621 Real numerator = alpha_current_temp * (current_temp -
_ref_temp) -
624 if (denominator < small)
625 mooseError(
"Denominator too small in thermal strain calculation");
626 inc_thermal_strain = numerator / denominator;
627 d_thermal_strain_d_temp = alpha_current_temp * (current_temp -
_ref_temp);
631 inc_thermal_strain = delta_t * 0.5 * (alpha_current_temp + alpha_old_temp);
632 d_thermal_strain_d_temp = alpha_current_temp;
637 inc_thermal_strain = delta_t * alpha;
638 d_thermal_strain_d_temp = alpha;
Referenced by SolidModel::modifyStrainIncrement().
◆ applyVolumetricStrain()
void SolidModel::applyVolumetricStrain |
( |
| ) |
|
|
virtualinherited |
◆ checkElasticConstants()
virtual void MacroElastic::checkElasticConstants |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ computeConstitutiveModelStress()
void SolidModel::computeConstitutiveModelStress |
( |
| ) |
|
|
protectedvirtualinherited |
Compute the stress (sigma += deltaSigma)
Definition at line 841 of file SolidModel.C.
847 const SubdomainID current_block = _current_elem->subdomain_id();
856 mooseError(
"Logic error. No ConstitutiveModel for current_block=", current_block,
".");
Referenced by SolidModel::computeProperties().
◆ computeCrackFactor()
Real SolidModel::computeCrackFactor |
( |
int |
i, |
|
|
Real & |
sigma, |
|
|
Real & |
flagVal |
|
) |
| |
|
protectedvirtualinherited |
Definition at line 1408 of file SolidModel.C.
1414 std::stringstream err;
1415 err <<
"Max strain less than crack strain: " << i <<
" " << sigma <<
", "
1416 << (*_crack_max_strain)[_qp](i) <<
", " << (*
_crack_strain)[_qp](i) <<
", "
1419 mooseError(err.str());
1428 flagVal = sigma * (*_crack_strain)[_qp](i) / (crackMaxStrain *
_cracking_stress);
1434 const Real tiny(1e-16);
1446 std::stringstream err;
1447 err <<
"Negative crack flag found: " << i <<
" " << flagVal <<
", "
1448 << (*_crack_max_strain)[_qp](i) <<
", " << (*
_crack_strain)[_qp](i) <<
", " << std::endl;
1449 mooseError(err.str());
Referenced by SolidModel::crackingStressRotation().
◆ computeCrackStrainAndOrientation()
void SolidModel::computeCrackStrainAndOrientation |
( |
ColumnMajorMatrix & |
principal_strain | ) |
|
|
privateinherited |
Definition at line 1152 of file SolidModel.C.
1164 (*_crack_rotation)[_qp] = (*_crack_rotation_old)[_qp];
1166 if (numKnownDirs == 0)
1168 ColumnMajorMatrix e_vec(3, 3);
1169 _elastic_strain[_qp].columnMajorMatrix().eigen(principal_strain, e_vec);
1172 (*_crack_rotation)[_qp] = e_vec;
1174 else if (numKnownDirs == 1)
1189 ColumnMajorMatrix e2x2(2, 2);
1190 e2x2(0, 0) = ePrime(0, 0);
1191 e2x2(1, 0) = ePrime(1, 0);
1192 e2x2(0, 1) = ePrime(0, 1);
1193 e2x2(1, 1) = ePrime(1, 1);
1196 ColumnMajorMatrix e_val2x1(2, 1);
1197 ColumnMajorMatrix e_vec2x2(2, 2);
1198 e2x2.eigen(e_val2x1, e_vec2x2);
1201 ColumnMajorMatrix e_vec(3, 3);
1202 e_vec(0, 0) = e_vec2x2(0, 0);
1203 e_vec(1, 0) = e_vec2x2(1, 0);
1205 e_vec(0, 1) = e_vec2x2(0, 1);
1206 e_vec(1, 1) = e_vec2x2(1, 1);
1211 (*_crack_rotation)[_qp] = (*_crack_rotation_old)[_qp] * e_vec;
1213 principal_strain(0, 0) = e_val2x1(0, 0);
1214 principal_strain(1, 0) = e_val2x1(1, 0);
1215 principal_strain(2, 0) = ePrime(2, 2);
1217 else if (numKnownDirs == 2 || numKnownDirs == 3)
1224 principal_strain(0, 0) = ePrime.
xx();
1225 principal_strain(1, 0) = ePrime.
yy();
1226 principal_strain(2, 0) = ePrime.
zz();
1230 mooseError(
"Invalid number of known crack directions");
Referenced by SolidModel::crackingStressRotation().
◆ computeCurrentInstantaneousThermalExpansionCoefficient()
void SolidModel::computeCurrentInstantaneousThermalExpansionCoefficient |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 1646 of file SolidModel.C.
1649 "_current_instantaneous_thermal_expansion_coef not initialized");
1651 (*_current_instantaneous_thermal_expansion_coef)[_qp] = 0.0;
1661 (*_current_instantaneous_thermal_expansion_coef)[_qp] = alpha;
1669 Real numerator = dalphabar_dT * (current_temp -
_ref_temp) + alphabar;
1671 if (denominator < small)
1672 mooseError(
"Denominator too small in thermal strain calculation");
1673 (*_current_instantaneous_thermal_expansion_coef)[_qp] = numerator / denominator;
Referenced by SolidModel::computeProperties(), and SolidModel::computeThermalJvec().
◆ computeElasticityTensor()
void SolidModel::computeElasticityTensor |
( |
| ) |
|
|
protectedinherited |
◆ computeEshelby()
void SolidModel::computeEshelby |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 792 of file SolidModel.C.
794 mooseAssert(
_SED,
"_SED not initialized");
797 ColumnMajorMatrix stress_CMM;
798 stress_CMM(0, 0) =
_stress[_qp].xx();
799 stress_CMM(0, 1) =
_stress[_qp].xy();
800 stress_CMM(0, 2) =
_stress[_qp].xz();
801 stress_CMM(1, 0) =
_stress[_qp].xy();
802 stress_CMM(1, 1) =
_stress[_qp].yy();
803 stress_CMM(1, 2) =
_stress[_qp].yz();
804 stress_CMM(2, 0) =
_stress[_qp].xz();
805 stress_CMM(2, 1) =
_stress[_qp].yz();
806 stress_CMM(2, 2) =
_stress[_qp].zz();
812 ColumnMajorMatrix H(F);
815 ColumnMajorMatrix Finv;
817 ColumnMajorMatrix FinvT;
818 FinvT = Finv.transpose();
819 ColumnMajorMatrix HT;
823 ColumnMajorMatrix piola;
824 piola = stress_CMM * FinvT;
828 ColumnMajorMatrix HTP;
831 ColumnMajorMatrix WI;
835 (*_Eshelby_tensor)[_qp] = WI - HTP;
Referenced by SolidModel::computeProperties().
◆ computePreconditioning()
void SolidModel::computePreconditioning |
( |
| ) |
|
|
protectedvirtualinherited |
◆ computeProperties()
void SolidModel::computeProperties |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 729 of file SolidModel.C.
740 for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
◆ computeStrainEnergyDensity()
void SolidModel::computeStrainEnergyDensity |
( |
| ) |
|
|
protectedvirtualinherited |
◆ computeStress()
virtual void SolidModel::computeStress |
( |
| ) |
|
|
inlineprotectedvirtualinherited |
◆ computeThermalJvec()
void SolidModel::computeThermalJvec |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 1630 of file SolidModel.C.
1637 for (
unsigned int i = 0; i < LIBMESH_DIM; ++i)
1639 Real dthermstrain_dx =
1641 (*_J_thermal_term_vec)[_qp](i) = stress_trace * dthermstrain_dx;
Referenced by SolidModel::computeProperties().
◆ crackingStrainDirections()
void SolidModel::crackingStrainDirections |
( |
| ) |
|
|
protectedvirtualinherited |
Determine cracking directions. Rotate elasticity tensor.
Definition at line 1048 of file SolidModel.C.
1050 bool cracking_locally_active(
false);
1054 (*_crack_rotation)[_qp] = (*_crack_rotation_old)[_qp];
1060 for (
unsigned int i(0); i < 3; ++i)
1084 const Real Ec = Eo * (*_crack_flags_old)[_qp](i);
1085 const Real a = (Ec - Eo) / (4 * etr);
1086 const Real b = (Ec + Eo) / 2;
1089 cracking_locally_active =
true;
1097 cracking_locally_active =
true;
1102 if (cracking_locally_active)
1111 ColumnMajorMatrix R_9x9(9, 9);
Referenced by SolidModel::computeElasticityTensor().
◆ crackingStressRotation()
void SolidModel::crackingStressRotation |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 1237 of file SolidModel.C.
1249 for (
unsigned i(0); i < 3; ++i)
1266 unsigned int num_cracks(0);
1267 for (
unsigned i(0); i < 3; ++i)
1277 bool new_crack(
false);
1278 bool cracked(
false);
1279 RealVectorValue sigma;
1280 for (
unsigned i(0); i < 3; ++i)
1282 sigma(i) = sigmaPrime(i, i);
1284 if (sigma(i) <= 1e-4)
1293 Real crackFactor(1);
1306 ++((*_crack_count)[_qp](i));
1322 (*_crack_flags)[_qp](i) *= 1. / 3.;
1357 (*_crack_flags)[_qp](i) = crackFactor;
1373 (*_crack_flags)[_qp](i) = crackFactor;
1388 const Real Ec = Eo * (*_crack_flags_old)[_qp](i);
1389 const Real a = (Ec - Eo) / (4 * etr);
1390 const Real b = (Ec + Eo) / 2;
1391 const Real c = (Ec - Eo) * etr / 4;
1398 (*_crack_rotation)[_qp] = (*_crack_rotation_old)[_qp];
Referenced by SolidModel::computeProperties().
◆ createConstitutiveModel()
void SolidModel::createConstitutiveModel |
( |
const std::string & |
cm_name | ) |
|
|
protectedinherited |
◆ createElasticityTensor()
void MacroElastic::createElasticityTensor |
( |
| ) |
|
|
protectedvirtual |
◆ createElement()
Definition at line 1467 of file SolidModel.C.
1469 std::string mat_name =
name();
1470 InputParameters parameters = emptyInputParameters();
1471 parameters += this->parameters();
1475 std::string formulation = getParam<MooseEnum>(
"formulation");
1476 std::transform(formulation.begin(), formulation.end(), formulation.begin(), ::tolower);
1477 if (formulation ==
"nonlinear3d")
1479 if (!isCoupled(
"disp_x") || !isCoupled(
"disp_y") || !isCoupled(
"disp_z"))
1480 mooseError(
"Nonlinear3D requires all three displacements");
1482 if (isCoupled(
"disp_r"))
1483 mooseError(
"Linear must not define disp_r");
1486 mooseError(
"Nonlinear3D formulation requested for coord_type = RZ problem");
1490 else if (formulation ==
"nonlinearrz")
1492 if (!isCoupled(
"disp_r") || !isCoupled(
"disp_z"))
1493 mooseError(
"NonlinearRZ must define disp_r and disp_z");
1497 else if (formulation ==
"axisymmetricrz")
1499 if (!isCoupled(
"disp_r") || !isCoupled(
"disp_z"))
1500 mooseError(
"AxisymmetricRZ must define disp_r and disp_z");
1503 else if (formulation ==
"sphericalr")
1505 if (!isCoupled(
"disp_r"))
1506 mooseError(
"SphericalR must define disp_r");
1509 else if (formulation ==
"planestrain")
1511 if (!isCoupled(
"disp_x") || !isCoupled(
"disp_y"))
1512 mooseError(
"PlaneStrain must define disp_x and disp_y");
1515 else if (formulation ==
"nonlinearplanestrain")
1517 if (!isCoupled(
"disp_x") || !isCoupled(
"disp_y"))
1518 mooseError(
"NonlinearPlaneStrain must define disp_x and disp_y");
1521 else if (formulation ==
"linear")
1523 if (isCoupled(
"disp_r"))
1524 mooseError(
"Linear must not define disp_r");
1526 mooseError(
"Linear formulation requested for coord_type = RZ problem");
1529 else if (formulation !=
"")
1530 mooseError(
"Unknown formulation: " + formulation);
1534 if (!isCoupled(
"disp_r") || !isCoupled(
"disp_z"))
1536 std::string err(
name());
1537 err +=
": RZ coord sys requires disp_r and disp_z for AxisymmetricRZ formulation";
1544 if (!isCoupled(
"disp_r"))
1546 std::string err(
name());
1547 err +=
": RSPHERICAL coord sys requires disp_r for SphericalR formulation";
1555 if (isCoupled(
"disp_x") && isCoupled(
"disp_y") && isCoupled(
"disp_z"))
1557 if (isCoupled(
"disp_r"))
1558 mooseError(
"Error with displacement specification in material " + mat_name);
1561 else if (isCoupled(
"disp_x") && isCoupled(
"disp_y"))
1563 if (isCoupled(
"disp_r"))
1564 mooseError(
"Error with displacement specification in material " + mat_name);
1567 else if (isCoupled(
"disp_r") && isCoupled(
"disp_z"))
1570 mooseError(
"RZ coord system not specified, but disp_r and disp_z are");
1573 else if (isCoupled(
"disp_r"))
1576 mooseError(
"RSPHERICAL coord system not specified, but disp_r is");
1579 else if (isCoupled(
"disp_x"))
1582 mooseError(
"Unable to determine formulation for material " + mat_name);
1585 mooseAssert(
element,
"No Element created for material " + mat_name);
Referenced by SolidModel::SolidModel().
◆ createProperty()
template<typename T >
MaterialProperty<T>& SolidModel::createProperty |
( |
const std::string & |
prop_name | ) |
|
|
inlineprotectedinherited |
◆ delta()
int SolidModel::delta |
( |
int |
i, |
|
|
int |
j |
|
) |
| const |
|
inlineprotectedinherited |
◆ elasticityTensor() [1/2]
◆ elasticityTensor() [2/2]
◆ element()
◆ elementInit()
virtual void SolidModel::elementInit |
( |
| ) |
|
|
inlineprotectedvirtualinherited |
◆ finalizeStress()
void SolidModel::finalizeStress |
( |
| ) |
|
|
protectedvirtualinherited |
◆ getNumKnownCrackDirs()
unsigned int SolidModel::getNumKnownCrackDirs |
( |
| ) |
const |
|
protectedvirtualinherited |
◆ getPropertyOld()
template<typename T >
const MaterialProperty<T>& SolidModel::getPropertyOld |
( |
const std::string & |
prop_name | ) |
|
|
inlineprotectedinherited |
◆ initialSetup()
void SolidModel::initialSetup |
( |
| ) |
|
|
protectedvirtualinherited |
Definition at line 957 of file SolidModel.C.
965 bool set_constitutive_active =
false;
966 for (
unsigned i(0); i <
_block_id.size(); ++i)
970 std::vector<MooseSharedPointer<MaterialBase>>
const * mats_p;
974 mats_p = &_fe_problem.getMaterialWarehouse()[Moose::FACE_MATERIAL_DATA].getActiveBlockObjects(
979 mats_p = &_fe_problem.getMaterialWarehouse().getActiveBlockObjects(
_block_id[i], _tid);
981 const std::vector<MooseSharedPointer<MaterialBase>> & mats = *mats_p;
983 for (
unsigned int j = 0; j < mats.size(); ++j)
985 MooseSharedPointer<VolumetricModel> vm =
986 MooseSharedNamespace::dynamic_pointer_cast<VolumetricModel>(mats[j]);
989 const std::vector<std::string> & dep_matl_props = vm->getDependentMaterialProperties();
990 for (
unsigned k = 0; k < dep_matl_props.size(); ++k)
992 if (
"" != dep_matl_props[k] &&
995 mooseError(
"A VolumetricModel depends on " + dep_matl_props[k] +
996 ", but that material property was not given in the dep_matl_props line.");
1003 for (std::map<SubdomainID, MooseSharedPointer<ConstitutiveModel>>::iterator iter =
1008 iter->second->initialSetup();
1014 std::string constitutive_model = getParam<std::string>(
"constitutive_model") + suffix;
1016 for (
unsigned int j = 0; j < mats.size(); ++j)
1018 MooseSharedPointer<ConstitutiveModel> cm =
1019 MooseSharedNamespace::dynamic_pointer_cast<ConstitutiveModel>(mats[j]);
1021 if (cm && cm->name() == constitutive_model)
1024 set_constitutive_active =
true;
1029 if (!set_constitutive_active)
1030 mooseError(
"Unable to find constitutive model " + constitutive_model);
1033 if (set_constitutive_active)
1040 Real dummy_temp = 0;
◆ initQpStatefulProperties()
void SolidModel::initQpStatefulProperties |
( |
| ) |
|
|
protectedvirtualinherited |
◆ initStatefulProperties()
void SolidModel::initStatefulProperties |
( |
unsigned |
n_points | ) |
|
|
virtualinherited |
Reimplemented in AbaqusCreepMaterial.
Definition at line 1615 of file SolidModel.C.
1617 for (_qp = 0; _qp < n_points; ++_qp)
1623 const SubdomainID current_block = _current_elem->subdomain_id();
1625 cm->initStatefulProperties(n_points);
◆ jacobianSetup()
void SolidModel::jacobianSetup |
( |
| ) |
|
|
protectedvirtualinherited |
◆ JxW()
Real SolidModel::JxW |
( |
unsigned |
i | ) |
const |
|
inlineinherited |
◆ modifyStrainIncrement()
void SolidModel::modifyStrainIncrement |
( |
| ) |
|
|
protectedvirtualinherited |
Modify increment for things like thermal strain.
Definition at line 560 of file SolidModel.C.
562 bool modified =
false;
565 const SubdomainID current_block = _current_elem->subdomain_id();
574 mooseError(
"ConstitutiveModel not available for block ", current_block);
Referenced by SolidModel::computeProperties().
◆ q_point()
const Point& SolidModel::q_point |
( |
unsigned |
i | ) |
const |
|
inlineinherited |
◆ qrule()
const QBase* SolidModel::qrule |
( |
| ) |
|
|
inlineinherited |
◆ rotateSymmetricTensor()
void SolidModel::rotateSymmetricTensor |
( |
const ColumnMajorMatrix & |
R, |
|
|
const SymmTensor & |
T, |
|
|
SymmTensor & |
result |
|
) |
| |
|
staticinherited |
Definition at line 663 of file SolidModel.C.
673 const Real T00 = R(0, 0) * T.
xx() + R(0, 1) * T.
xy() + R(0, 2) * T.
zx();
674 const Real T01 = R(0, 0) * T.
xy() + R(0, 1) * T.
yy() + R(0, 2) * T.
yz();
675 const Real T02 = R(0, 0) * T.
zx() + R(0, 1) * T.
yz() + R(0, 2) * T.
zz();
677 const Real T10 = R(1, 0) * T.
xx() + R(1, 1) * T.
xy() + R(1, 2) * T.
zx();
678 const Real T11 = R(1, 0) * T.
xy() + R(1, 1) * T.
yy() + R(1, 2) * T.
yz();
679 const Real T12 = R(1, 0) * T.
zx() + R(1, 1) * T.
yz() + R(1, 2) * T.
zz();
681 const Real T20 = R(2, 0) * T.
xx() + R(2, 1) * T.
xy() + R(2, 2) * T.
zx();
682 const Real T21 = R(2, 0) * T.
xy() + R(2, 1) * T.
yy() + R(2, 2) * T.
yz();
683 const Real T22 = R(2, 0) * T.
zx() + R(2, 1) * T.
yz() + R(2, 2) * T.
zz();
685 result.
xx(T00 * R(0, 0) + T01 * R(0, 1) + T02 * R(0, 2));
686 result.
yy(T10 * R(1, 0) + T11 * R(1, 1) + T12 * R(1, 2));
687 result.
zz(T20 * R(2, 0) + T21 * R(2, 1) + T22 * R(2, 2));
688 result.
xy(T00 * R(1, 0) + T01 * R(1, 1) + T02 * R(1, 2));
689 result.
yz(T10 * R(2, 0) + T11 * R(2, 1) + T12 * R(2, 2));
690 result.
zx(T00 * R(2, 0) + T01 * R(2, 1) + T02 * R(2, 2));
Referenced by SolidModel::applyCracksToTensor(), SolidModel::computeCrackStrainAndOrientation(), SolidModel::crackingStrainDirections(), and SolidModel::crackingStressRotation().
◆ timestepSetup()
void SolidModel::timestepSetup |
( |
| ) |
|
|
protectedvirtualinherited |
◆ updateElasticityTensor()
Return true if the elasticity tensor changed.
Reimplemented from SolidModel.
Definition at line 63 of file MacroElastic.C.
65 std::vector<Real> v(9);
◆ _active_crack_planes
std::vector<unsigned int> SolidModel::_active_crack_planes |
|
protectedinherited |
◆ _alpha
const Real SolidModel::_alpha |
|
protectedinherited |
◆ _alpha_function
const Function* SolidModel::_alpha_function |
|
protectedinherited |
◆ _appended_property_name
const std::string SolidModel::_appended_property_name |
|
protectedinherited |
◆ _block_id
std::vector<SubdomainID> SolidModel::_block_id |
|
protectedinherited |
◆ _bulk_modulus
Real SolidModel::_bulk_modulus |
|
protectedinherited |
◆ _bulk_modulus_set
bool SolidModel::_bulk_modulus_set |
|
protectedinherited |
◆ _C1111
const PostprocessorValue& MacroElastic::_C1111 |
|
private |
◆ _C1122
const PostprocessorValue& MacroElastic::_C1122 |
|
private |
◆ _C1133
const PostprocessorValue& MacroElastic::_C1133 |
|
private |
◆ _C1212
const PostprocessorValue& MacroElastic::_C1212 |
|
private |
◆ _C2222
const PostprocessorValue& MacroElastic::_C2222 |
|
private |
◆ _C2233
const PostprocessorValue& MacroElastic::_C2233 |
|
private |
◆ _C2323
const PostprocessorValue& MacroElastic::_C2323 |
|
private |
◆ _C3131
const PostprocessorValue& MacroElastic::_C3131 |
|
private |
◆ _C3333
const PostprocessorValue& MacroElastic::_C3333 |
|
private |
◆ _compute_InteractionIntegral
const bool SolidModel::_compute_InteractionIntegral |
|
protectedinherited |
◆ _compute_JIntegral
const bool SolidModel::_compute_JIntegral |
|
protectedinherited |
◆ _compute_method
const std::string SolidModel::_compute_method |
|
protectedinherited |
◆ _constitutive_active
bool SolidModel::_constitutive_active |
|
protectedinherited |
◆ _constitutive_model
std::map<SubdomainID, MooseSharedPointer<ConstitutiveModel> > SolidModel::_constitutive_model |
|
protectedinherited |
◆ _coord_type
Moose::CoordinateSystemType SolidModel::_coord_type |
|
protectedinherited |
◆ _crack_count
MaterialProperty<RealVectorValue>* SolidModel::_crack_count |
|
protectedinherited |
◆ _crack_count_old
const MaterialProperty<RealVectorValue>* SolidModel::_crack_count_old |
|
protectedinherited |
◆ _crack_flags
MaterialProperty<RealVectorValue>* SolidModel::_crack_flags |
|
protectedinherited |
◆ _crack_flags_local
RealVectorValue SolidModel::_crack_flags_local |
|
protectedinherited |
◆ _crack_flags_old
const MaterialProperty<RealVectorValue>* SolidModel::_crack_flags_old |
|
protectedinherited |
◆ _crack_max_strain
MaterialProperty<RealVectorValue>* SolidModel::_crack_max_strain |
|
protectedinherited |
◆ _crack_max_strain_old
const MaterialProperty<RealVectorValue>* SolidModel::_crack_max_strain_old |
|
protectedinherited |
◆ _crack_rotation
MaterialProperty<ColumnMajorMatrix>* SolidModel::_crack_rotation |
|
protectedinherited |
◆ _crack_rotation_old
const MaterialProperty<ColumnMajorMatrix>* SolidModel::_crack_rotation_old |
|
protectedinherited |
◆ _crack_strain
MaterialProperty<RealVectorValue>* SolidModel::_crack_strain |
|
protectedinherited |
◆ _crack_strain_old
const MaterialProperty<RealVectorValue>* SolidModel::_crack_strain_old |
|
protectedinherited |
◆ _cracking_alpha
Real SolidModel::_cracking_alpha |
|
protectedinherited |
◆ _cracking_beta
const Real SolidModel::_cracking_beta |
|
protectedinherited |
◆ _cracking_neg_fraction
const Real SolidModel::_cracking_neg_fraction |
|
protectedinherited |
◆ _cracking_release
◆ _cracking_residual_stress
const Real SolidModel::_cracking_residual_stress |
|
protectedinherited |
◆ _cracking_stress
Real SolidModel::_cracking_stress |
|
protectedinherited |
◆ _cracking_stress_function
const Function* const SolidModel::_cracking_stress_function |
|
protectedinherited |
◆ _current_instantaneous_thermal_expansion_coef
MaterialProperty<Real>* SolidModel::_current_instantaneous_thermal_expansion_coef |
|
protectedinherited |
◆ _d_strain_dT
◆ _d_stress_dT
MaterialProperty<SymmTensor>& SolidModel::_d_stress_dT |
|
protectedinherited |
◆ _dep_matl_props
std::set<std::string> SolidModel::_dep_matl_props |
|
protectedinherited |
◆ _elastic_strain
MaterialProperty<SymmTensor>& SolidModel::_elastic_strain |
|
protectedinherited |
◆ _elastic_strain_old
const MaterialProperty<SymmTensor>& SolidModel::_elastic_strain_old |
|
protectedinherited |
◆ _elasticity_tensor
◆ _element
◆ _Eshelby_tensor
◆ _has_stress_free_temp
bool SolidModel::_has_stress_free_temp |
|
protectedinherited |
◆ _has_temp
const bool SolidModel::_has_temp |
|
protectedinherited |
◆ _J_thermal_term_vec
MaterialProperty<RealVectorValue>* SolidModel::_J_thermal_term_vec |
|
protectedinherited |
◆ _Jacobian_mult
◆ _lambda
◆ _lambda_set
bool SolidModel::_lambda_set |
|
protectedinherited |
◆ _local_elasticity_tensor
◆ _max_cracks
const unsigned int SolidModel::_max_cracks |
|
protectedinherited |
◆ _mean_alpha_function
bool SolidModel::_mean_alpha_function |
|
protectedinherited |
◆ _mechanical_strain_increment
SymmTensor SolidModel::_mechanical_strain_increment |
|
protectedinherited |
◆ _models_to_free
◆ _piecewise_linear_alpha_function
PiecewiseLinear* SolidModel::_piecewise_linear_alpha_function |
|
protectedinherited |
◆ _poissons_ratio
Real SolidModel::_poissons_ratio |
|
protectedinherited |
◆ _poissons_ratio_function
const Function* SolidModel::_poissons_ratio_function |
|
protectedinherited |
◆ _poissons_ratio_set
bool SolidModel::_poissons_ratio_set |
|
protectedinherited |
◆ _principal_strain
ColumnMajorMatrix SolidModel::_principal_strain |
|
protectedinherited |
◆ _ref_temp
Real SolidModel::_ref_temp |
|
protectedinherited |
◆ _SED
MaterialProperty<Real>* SolidModel::_SED |
|
protectedinherited |
◆ _SED_old
const MaterialProperty<Real>* SolidModel::_SED_old |
|
protectedinherited |
◆ _shear_modulus
Real SolidModel::_shear_modulus |
|
protectedinherited |
◆ _shear_modulus_set
bool SolidModel::_shear_modulus_set |
|
protectedinherited |
◆ _step_one
bool& SolidModel::_step_one |
|
protectedinherited |
◆ _step_zero
bool& SolidModel::_step_zero |
|
protectedinherited |
◆ _strain_increment
In most models, this is the mechanical strain increment, but for inelastic models, it has the inelastic component subtracted from it, so it is the elastic strain increment.
Definition at line 151 of file SolidModel.h.
Referenced by SolidModel::applyThermalStrain(), SolidModel::applyVolumetricStrain(), SolidModel::computeConstitutiveModelStress(), SolidModel::computeCrackStrainAndOrientation(), SolidModel::computeProperties(), PLC_LSH::computeStress(), AbaqusCreepMaterial::computeStress(), AbaqusUmatMaterial::computeStress(), and SolidModel::modifyStrainIncrement().
◆ _stress
◆ _stress_free_temp
Real SolidModel::_stress_free_temp |
|
protectedinherited |
◆ _stress_old
◆ _stress_old_prop
const MaterialProperty<SymmTensor>& SolidModel::_stress_old_prop |
|
privateinherited |
◆ _temp_grad
const VariableGradient& SolidModel::_temp_grad |
|
protectedinherited |
◆ _temperature
const VariableValue& SolidModel::_temperature |
|
protectedinherited |
◆ _temperature_old
const VariableValue& SolidModel::_temperature_old |
|
protectedinherited |
◆ _total_strain
MaterialProperty<SymmTensor>& SolidModel::_total_strain |
|
protectedinherited |
◆ _total_strain_increment
◆ _total_strain_old
const MaterialProperty<SymmTensor>& SolidModel::_total_strain_old |
|
protectedinherited |
◆ _volumetric_models
std::map<SubdomainID, std::vector<MooseSharedPointer<VolumetricModel> > > SolidModel::_volumetric_models |
|
protectedinherited |
◆ _youngs_modulus
Real SolidModel::_youngs_modulus |
|
protectedinherited |
◆ _youngs_modulus_function
const Function* SolidModel::_youngs_modulus_function |
|
protectedinherited |
◆ _youngs_modulus_set
bool SolidModel::_youngs_modulus_set |
|
protectedinherited |
The documentation for this class was generated from the following files:
void calculate(unsigned int qp)
Public function that will be called whenever the values for this matrix need to be filled in.
virtual void computeThermalJvec()
std::vector< unsigned int > _active_crack_planes
const bool _compute_JIntegral
void rotateFromLocalToGlobal(const ColumnMajorMatrix &R)
MaterialProperty< Real > * _current_instantaneous_thermal_expansion_coef
virtual void createElasticityTensor()
SymmElasticityTensor * elasticityTensor() const
const MaterialProperty< RealVectorValue > * _crack_strain_old
Elastic(const InputParameters ¶meters)
SymmElasticityTensor * _local_elasticity_tensor
MaterialProperty< SymmTensor > & _d_stress_dT
const PostprocessorValue & _C2222
virtual void crackingStressRotation()
const CRACKING_RELEASE _cracking_release
const VariableValue & _temperature_old
const PostprocessorValue & _C1133
const std::string _compute_method
NonlinearPlaneStrain is a class for large deformation plane strain.
SymmTensor _total_strain_increment
Total strain increment, including mechanical strains and eigenstrains.
bool _constitutive_active
virtual void computeStrainEnergyDensity()
virtual void adjustForCracking(const RealVectorValue &crack_flags)
MaterialProperty< Real > * _SED
void form9x9Rotation(const ColumnMajorMatrix &R_3x3, ColumnMajorMatrix &R_9x9) const
const std::string _appended_property_name
const PostprocessorValue & _C3131
MaterialProperty< RealVectorValue > * _crack_flags
virtual void adjustForCrackingWithShearRetention(const RealVectorValue &crack_flags)
MaterialProperty< RealVectorValue > * _J_thermal_term_vec
virtual unsigned int getNumKnownCrackDirs() const
const unsigned int _max_cracks
const Real _cracking_beta
const bool _compute_InteractionIntegral
SymmTensor _strain_increment
In most models, this is the mechanical strain increment, but for inelastic models,...
bool & _step_zero
Restartable data to check for the zeroth and first time steps for thermal calculations.
std::map< SubdomainID, std::vector< MooseSharedPointer< VolumetricModel > > > _volumetric_models
const Function * _alpha_function
MaterialProperty< SymmElasticityTensor > & _Jacobian_mult
virtual void finalizeStress()
Rotate stress to current configuration.
SymmTensor _mechanical_strain_increment
Mechanical strain increment, which is the total strain increment minus eigenstrains.
const MaterialProperty< SymmTensor > & _stress_old_prop
std::map< SubdomainID, MooseSharedPointer< ConstitutiveModel > > _constitutive_model
const MaterialProperty< RealVectorValue > * _crack_flags_old
std::vector< SubdomainID > _block_id
Moose::CoordinateSystemType _coord_type
MaterialProperty< RealVectorValue > * _crack_count
This class defines a basic set of capabilities any elasticity tensor should have.
NonlinearRZ is the base class for all RZ nonlinear solid mechanics material models.
const VariableGradient & _temp_grad
const PostprocessorValue & _C3333
bool _has_stress_free_temp
const PostprocessorValue & _C1122
virtual void computeEshelby()
MaterialProperty< RealVectorValue > * _crack_strain
virtual void applyVolumetricStrain()
const Function *const _cracking_stress_function
std::set< MooseSharedPointer< ConstitutiveModel > > _models_to_free
virtual Real computeCrackFactor(int i, Real &sigma, Real &flagVal)
virtual bool updateElasticityTensor(SymmElasticityTensor &tensor)
Return true if the elasticity tensor changed.
virtual void computeCurrentInstantaneousThermalExpansionCoefficient()
const PostprocessorValue & _C2323
const MaterialProperty< SymmTensor > & _total_strain_old
virtual void computeConstitutiveModelStress()
Compute the stress (sigma += deltaSigma)
RealVectorValue _crack_flags_local
const PostprocessorValue & _C1212
const PostprocessorValue & _C2233
virtual void elementInit()
Element is the base class for all of this module's solid mechanics element formulations.
MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
virtual void modifyStrainIncrement()
Modify increment for things like thermal strain.
static Real detMatrix(const ColumnMajorMatrix &A)
const MaterialProperty< Real > * _SED_old
const Function * _youngs_modulus_function
const VariableValue & _temperature
virtual void applyThermalStrain()
virtual void computeStress()
Compute the stress (sigma += deltaSigma)
bool _mean_alpha_function
virtual void computeStrain(const unsigned qp, const SymmTensor &total_strain_old, SymmTensor &total_strain_new, SymmTensor &strain_increment)=0
void applyCracksToTensor(SymmTensor &tensor, const RealVectorValue &sigma)
MaterialProperty< ColumnMajorMatrix > * _crack_rotation
virtual Real volumeRatioOld(unsigned) const
virtual void crackingStrainDirections()
Determine cracking directions. Rotate elasticity tensor.
MaterialProperty< RealVectorValue > * _crack_max_strain
MaterialProperty< SymmTensor > & _total_strain
MaterialProperty< RankTwoTensor > * _Eshelby_tensor
std::set< std::string > _dep_matl_props
SolidMechanics::Element * _element
ColumnMajorMatrix _principal_strain
const MaterialProperty< SymmTensor > & _elastic_strain_old
const MaterialProperty< RealVectorValue > * _crack_max_strain_old
virtual void computeDeformationGradient(unsigned int, ColumnMajorMatrix &)
const MaterialProperty< RealVectorValue > * _crack_count_old
MaterialProperty< SymmTensor > & _stress
static void rotateSymmetricTensor(const ColumnMajorMatrix &R, const SymmTensor &T, SymmTensor &result)
const Real _cracking_neg_fraction
virtual void initQpStatefulProperties()
virtual void computePreconditioning()
virtual void finalizeStress(std::vector< SymmTensor * > &)
Rotate stress to current configuration.
Nonlinear3D is the base class for all 3D nonlinear solid mechanics material models.
void computeCrackStrainAndOrientation(ColumnMajorMatrix &principal_strain)
virtual unsigned int getNumKnownCrackDirs() const
MaterialProperty< SymmTensor > & _elastic_strain
void fillFromInputVector(std::vector< Real > input, bool all)
void computeElasticityTensor()
virtual void checkElasticConstants()
const PostprocessorValue & _C1111
const SolidMechanics::Element * element() const
const Real _cracking_residual_stress
static void invertMatrix(const ColumnMajorMatrix &A, ColumnMajorMatrix &Ainv)