www.mooseframework.org
NSGravityPower.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 "NSGravityPower.h"
11 
12 registerMooseObject("NavierStokesApp", NSGravityPower);
13 
16 {
18  params.addClassDescription("This class computes the momentum contributed by gravity.");
19  params.addRequiredCoupledVar("momentum", "");
20  params.addRequiredParam<Real>("acceleration", "The body force vector component.");
21  return params;
22 }
23 
25  : Kernel(parameters),
26  _momentum_var(coupled("momentum")),
27  _momentum(coupledValue("momentum")),
28  _acceleration(getParam<Real>("acceleration"))
29 {
30 }
31 
32 Real
34 {
35  // -(rho * U * g) * phi
36  return -_momentum[_qp] * _acceleration * _test[_i][_qp];
37 }
38 
39 Real
41 {
42  return 0.0;
43 }
44 
45 Real
47 {
48  if (jvar == _momentum_var)
49  return -_phi[_j][_qp] * _acceleration * _test[_i][_qp];
50 
51  return 0.0;
52 }
static InputParameters validParams()
registerMooseObject("NavierStokesApp", NSGravityPower)
virtual Real computeQpResidual()
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
const VariableTestValue & _test
const Real _acceleration
unsigned int _i
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
unsigned int _momentum_var
NSGravityPower(const InputParameters &parameters)
unsigned int _j
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
void addClassDescription(const std::string &doc_string)
virtual Real computeQpJacobian()
const VariablePhiValue & _phi
unsigned int _qp
const VariableValue & _momentum