Go to the documentation of this file.
20 params.addClassDescription(
21 "Computes and reports the critical time step for the explicit solver.");
22 params.addParam<MaterialPropertyName>(
24 "Name of Material Property or a constant real number defining the density of the material.");
25 params.addParam<Real>(
"factor", 1.0,
"Factor to mulitply to the critical time step.");
30 : ElementPostprocessor(parameters),
32 _material_density(getMaterialPropertyByName<Real>(
"density")),
33 _effective_stiffness(getMaterialPropertyByName<Real>(
"effective_stiffness")),
34 _factor(getParam<Real>(
"factor")),
35 _critical_time(parameters.isParamValid(
"critical_time"))
43 paramError(
"CriticalTimeStep can only be used with elasticity tensor materials "
44 "that guarantee isotropic tensors.");
virtual void initialSetup() override
static InputParameters validParams()
virtual void finalize() override
virtual void execute() override
virtual void threadJoin(const UserObject &y) override
const Real & _factor
User defined factor to be multiplied to the critical time step.
Real _critical_time
Critical time step for explicit solver.
const MaterialProperty< Real > & _effective_stiffness
Effective stiffness of element: function of material properties and element size.
Add-on class that provides the functionality to check if guarantees for material properties are provi...
InputParameters validParams()
bool hasGuaranteedMaterialProperty(const MaterialPropertyName &prop, Guarantee guarantee)
const MaterialProperty< Real > & _material_density
Density of the material.
virtual Real getValue() override
CriticalTimeStep(const InputParameters ¶meters)
registerMooseObject("TensorMechanicsApp", CriticalTimeStep)
virtual void initialize() override
defineLegacyParams(CriticalTimeStep)