https://mooseframework.inl.gov
DarcyFlux.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
17 {
20  "fluid_weight",
21  "Fluid weight (gravity*density) as a vector pointing downwards (usually "
22  "measured in kg.m^-2.s^-2 = Pa/m). Eg '0 0 -10000'");
23  params.addRequiredParam<Real>("fluid_viscosity",
24  "Fluid dynamic viscosity (usually measured in Pa.s)");
25  params.addClassDescription("Darcy flux. nabla_i (k_ij/mu (nabla_j P - w_j)), where k_ij is the "
26  "permeability tensor, mu is the fluid viscosity, P is the fluid "
27  "pressure, and w_j is the fluid weight");
28  return params;
29 }
30 
32  : Kernel(parameters),
33  _fluid_weight(getParam<RealVectorValue>("fluid_weight")),
34  _fluid_viscosity(getParam<Real>("fluid_viscosity")),
35  _permeability(getMaterialProperty<RealTensorValue>("permeability"))
36 {
37 }
38 
39 Real
41 {
42  return _grad_test[_i][_qp] * (_permeability[_qp] * (_grad_u[_qp] - _fluid_weight)) /
44 }
45 
46 Real
48 {
50 }
const VariableGradient & _grad_u
static InputParameters validParams()
const VariablePhiGradient & _grad_phi
registerMooseObject("RichardsApp", DarcyFlux)
Kernel = grad(permeability*(grad(pressure) - weight)) This is mass flow according to the Darcy equati...
Definition: DarcyFlux.h:20
void addRequiredParam(const std::string &name, const std::string &doc_string)
DarcyFlux(const InputParameters &parameters)
Definition: DarcyFlux.C:31
TensorValue< Real > RealTensorValue
const MaterialProperty< RealTensorValue > & _permeability
Material permeability.
Definition: DarcyFlux.h:39
unsigned int _i
virtual Real computeQpJacobian()
Definition: DarcyFlux.C:47
unsigned int _j
Real _fluid_viscosity
fluid dynamic viscosity
Definition: DarcyFlux.h:36
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const VariableTestGradient & _grad_test
void addClassDescription(const std::string &doc_string)
RealVectorValue _fluid_weight
fluid weight (gravity*density) as a vector pointing downwards, eg &#39;0 0 -10000&#39;
Definition: DarcyFlux.h:33
virtual Real computeQpResidual()
Definition: DarcyFlux.C:40
static InputParameters validParams()
Definition: DarcyFlux.C:16
unsigned int _qp