www.mooseframework.org
SolidMechImplicitEuler.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
8 #include "SubProblem.h"
9 
10 template <>
11 InputParameters
13 {
14  InputParameters params = validParams<SecondDerivativeImplicitEuler>();
15  params.addParam<Real>("artificial_scaling", "Factor to replace rho/dt^2");
16  params.set<bool>("use_displaced_mesh") = true;
17  return params;
18 }
19 
20 SolidMechImplicitEuler::SolidMechImplicitEuler(const InputParameters & parameters)
21  : SecondDerivativeImplicitEuler(parameters),
22  _density(getMaterialProperty<Real>("density")),
23  _artificial_scaling_set(parameters.isParamValid("artificial_scaling")),
24  _artificial_scaling(_artificial_scaling_set ? getParam<Real>("artificial_scaling") : 1)
25 {
26 }
27 
28 Real
30 {
32 }
33 
34 Real
36 {
38 }
39 
40 Real
42 {
43  Real factor(_artificial_scaling);
45  {
46  factor *= _dt * _dt / _density[_qp];
47  }
48  return factor;
49 }
const MaterialProperty< Real > & _density
InputParameters validParams< SecondDerivativeImplicitEuler >()
SolidMechImplicitEuler(const InputParameters &parameters)
InputParameters validParams< SolidMechImplicitEuler >()