www.mooseframework.org
Gravity.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 "Gravity.h"
11 #include "Function.h"
12 
13 registerMooseObject("TensorMechanicsApp", Gravity);
14 
16 
17 InputParameters
19 {
20  InputParameters params = Kernel::validParams();
21  params.addClassDescription("Apply gravity. Value is in units of acceleration.");
22  params.addParam<bool>("use_displaced_mesh", true, "Displaced mesh defaults to true");
23  params.addRequiredParam<Real>(
24  "value", "Value multiplied against the residual, e.g. gravitational acceleration");
25  params.addParam<FunctionName>(
26  "function", "1", "A function that describes the gravitational force");
27  params.addParam<Real>("alpha", 0.0, "alpha parameter required for HHT time integration scheme");
28  return params;
29 }
30 
31 Gravity::Gravity(const InputParameters & parameters)
32  : Kernel(parameters),
33  _density(getMaterialProperty<Real>("density")),
34  _value(getParam<Real>("value")),
35  _function(getFunction("function")),
36  _alpha(getParam<Real>("alpha"))
37 {
38 }
39 
40 Real
42 {
43  Real factor = _value * _function.value(_t + _alpha * _dt, _q_point[_qp]);
44  return _density[_qp] * _test[_i][_qp] * -factor;
45 }
Gravity
Gravity computes the body force (force/volume) given the acceleration of gravity (value) and the dens...
Definition: Gravity.h:24
Gravity::Gravity
Gravity(const InputParameters &parameters)
Definition: Gravity.C:31
Gravity::computeQpResidual
virtual Real computeQpResidual()
Definition: Gravity.C:41
Gravity::_density
const MaterialProperty< Real > & _density
Definition: Gravity.h:34
Gravity::_function
const Function & _function
Definition: Gravity.h:36
Gravity::_value
const Real _value
Definition: Gravity.h:35
registerMooseObject
registerMooseObject("TensorMechanicsApp", Gravity)
defineLegacyParams
defineLegacyParams(Gravity)
Gravity.h
Gravity::validParams
static InputParameters validParams()
Definition: Gravity.C:18
validParams
InputParameters validParams()
Gravity::_alpha
const Real _alpha
Definition: Gravity.h:39