19 "Computes and reports the critical time step for the explicit solver.");
20 params.
addParam<MaterialPropertyName>(
21 "density",
"density",
"Name of Material Property defining the density of the material.");
22 params.
addParam<MaterialPropertyName>(
23 "density_scaling",
"Name of material property to add mass scaling in explicit simulations.");
24 params.
addParam<Real>(
"factor", 1.0,
"Factor to mulitply to the critical time step.");
31 _material_density(getMaterialProperty<Real>(
"density")),
32 _density_scaling(parameters.isParamSetByUser(
"density_scaling")
33 ? &getMaterialPropertyByName<Real>(
"density_scaling")
35 _sqrt_effective_stiffness(getMaterialPropertyByName<Real>(
"effective_stiffness")),
36 _factor(getParam<Real>(
"factor")),
37 _critical_time(parameters.isParamValid(
"critical_time"))
45 paramError(
"CriticalTimeStep can only be used with elasticity tensor materials "
46 "that guarantee isotropic tensors.");
registerMooseObject("SolidMechanicsApp", CriticalTimeStep)
const std::vector< double > y
Compute the critical time step for an explicit integration scheme by inferring an effective_stiffness...
const MaterialProperty< Real > & _material_density
Density of the material.
virtual void finalize() override
virtual void execute() override
virtual Real getValue() const override
virtual void initialize() override
const MaterialProperty< Real > * _density_scaling
Added density due to mass scaling (zero if no scaling is selected or applied)
virtual void threadJoin(const UserObject &y) override
CriticalTimeStep(const InputParameters ¶meters)
virtual void initialSetup() override
Real _critical_time
Critical time step for explicit solver.
const MaterialProperty< Real > & _sqrt_effective_stiffness
Square root of Effective stiffness of element.
const Real & _factor
User defined factor to be multiplied to the critical time step.
static InputParameters validParams()
static InputParameters validParams()
const Elem *const & _current_elem
Add-on class that provides the functionality to check if guarantees for material properties are provi...
bool hasGuaranteedMaterialProperty(const MaterialPropertyName &prop, Guarantee guarantee)
void paramError(const std::string ¶m, Args... args) const