www.mooseframework.org
DarcyFlux.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 "DarcyFlux.h"
11 #include "Material.h"
12 
13 registerMooseObject("RichardsApp", DarcyFlux);
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<Kernel>();
20  params.addRequiredParam<RealVectorValue>(
21  "fluid_weight",
22  "Fluid weight (gravity*density) as a vector pointing downwards (usually "
23  "measured in kg.m^-2.s^-2 = Pa/m). Eg '0 0 -10000'");
24  params.addRequiredParam<Real>("fluid_viscosity",
25  "Fluid dynamic viscosity (usually measured in Pa.s)");
26  params.addClassDescription("Darcy flux. nabla_i (k_ij/mu (nabla_j P - w_j)), where k_ij is the "
27  "permeability tensor, mu is the fluid viscosity, P is the fluid "
28  "pressure, and w_j is the fluid weight");
29  return params;
30 }
31 
32 DarcyFlux::DarcyFlux(const InputParameters & parameters)
33  : Kernel(parameters),
34  _fluid_weight(getParam<RealVectorValue>("fluid_weight")),
35  _fluid_viscosity(getParam<Real>("fluid_viscosity")),
36  _permeability(getMaterialProperty<RealTensorValue>("permeability"))
37 {
38 }
39 
40 Real
42 {
43  return _grad_test[_i][_qp] * (_permeability[_qp] * (_grad_u[_qp] - _fluid_weight)) /
45 }
46 
47 Real
49 {
50  return _grad_test[_i][_qp] * (_permeability[_qp] * _grad_phi[_j][_qp]) / _fluid_viscosity;
51 }
registerMooseObject
registerMooseObject("RichardsApp", DarcyFlux)
DarcyFlux
Kernel = grad(permeability*(grad(pressure) - weight)) This is mass flow according to the Darcy equati...
Definition: DarcyFlux.h:24
DarcyFlux::computeQpResidual
virtual Real computeQpResidual()
Definition: DarcyFlux.C:41
DarcyFlux::DarcyFlux
DarcyFlux(const InputParameters &parameters)
Definition: DarcyFlux.C:32
DarcyFlux.h
DarcyFlux::computeQpJacobian
virtual Real computeQpJacobian()
Definition: DarcyFlux.C:48
DarcyFlux::_fluid_weight
RealVectorValue _fluid_weight
fluid weight (gravity*density) as a vector pointing downwards, eg '0 0 -10000'
Definition: DarcyFlux.h:35
DarcyFlux::_permeability
const MaterialProperty< RealTensorValue > & _permeability
Material permeability.
Definition: DarcyFlux.h:41
DarcyFlux::_fluid_viscosity
Real _fluid_viscosity
fluid dynamic viscosity
Definition: DarcyFlux.h:38
validParams< DarcyFlux >
InputParameters validParams< DarcyFlux >()
Definition: DarcyFlux.C:17