www.mooseframework.org
SolidMechImplicitEuler.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "SolidMechImplicitEuler.h"
11 #include "SubProblem.h"
12 
13 registerMooseObjectDeprecated("SolidMechanicsApp", SolidMechImplicitEuler, "07/30/2020 24:00");
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<SecondDerivativeImplicitEuler>();
20  params.addParam<Real>("artificial_scaling", "Factor to replace rho/dt^2");
21  params.set<bool>("use_displaced_mesh") = true;
22  return params;
23 }
24 
25 SolidMechImplicitEuler::SolidMechImplicitEuler(const InputParameters & parameters)
26  : SecondDerivativeImplicitEuler(parameters),
27  _density(getMaterialProperty<Real>("density")),
28  _artificial_scaling_set(parameters.isParamValid("artificial_scaling")),
29  _artificial_scaling(_artificial_scaling_set ? getParam<Real>("artificial_scaling") : 1)
30 {
31  mooseDeprecated(name(), ": SolidMechImplicitEuler is deprecated. \
32  The solid_mechanics module will be removed from MOOSE on July 31, 2020. \
33  Please update your input files to utilize the tensor_mechanics equivalents of \
34  models based on solid_mechanics. A detailed migration guide that was developed \
35  for BISON, but which is generally applicable to any MOOSE model is available at: \
36  https://mooseframework.org/bison/tutorials/mechanics_conversion/overview.html");
37 }
38 
39 Real
41 {
43 }
44 
45 Real
47 {
49 }
50 
51 Real
53 {
54  Real factor(_artificial_scaling);
56  {
57  factor *= _dt * _dt / _density[_qp];
58  }
59  return factor;
60 }
SecondDerivativeImplicitEuler::computeQpResidual
virtual Real computeQpResidual()
Definition: SecondDerivativeImplicitEuler.C:27
validParams< SolidMechImplicitEuler >
InputParameters validParams< SolidMechImplicitEuler >()
Definition: SolidMechImplicitEuler.C:17
SecondDerivativeImplicitEuler::computeQpJacobian
virtual Real computeQpJacobian()
Definition: SecondDerivativeImplicitEuler.C:33
SolidMechImplicitEuler::scaling
virtual Real scaling()
Definition: SolidMechImplicitEuler.C:52
SolidMechImplicitEuler::computeQpResidual
virtual Real computeQpResidual()
Definition: SolidMechImplicitEuler.C:40
SolidMechImplicitEuler
Definition: SolidMechImplicitEuler.h:21
validParams< SecondDerivativeImplicitEuler >
InputParameters validParams< SecondDerivativeImplicitEuler >()
Definition: SecondDerivativeImplicitEuler.C:15
SolidMechImplicitEuler::_density
const MaterialProperty< Real > & _density
Definition: SolidMechImplicitEuler.h:34
SolidMechImplicitEuler::_artificial_scaling_set
const bool _artificial_scaling_set
Definition: SolidMechImplicitEuler.h:35
SolidMechImplicitEuler::SolidMechImplicitEuler
SolidMechImplicitEuler(const InputParameters &parameters)
Definition: SolidMechImplicitEuler.C:25
SecondDerivativeImplicitEuler
Definition: SecondDerivativeImplicitEuler.h:20
name
const std::string name
Definition: Setup.h:21
SolidMechImplicitEuler::computeQpJacobian
virtual Real computeQpJacobian()
Definition: SolidMechImplicitEuler.C:46
SolidMechImplicitEuler::_artificial_scaling
const Real _artificial_scaling
Definition: SolidMechImplicitEuler.h:36
SolidMechImplicitEuler.h
registerMooseObjectDeprecated
registerMooseObjectDeprecated("SolidMechanicsApp", SolidMechImplicitEuler, "07/30/2020 24:00")