www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PorousFlowDarcyVelocityComponent Class Reference

Computes a component of the Darcy velocity: -k_ij * krel /mu (nabla_j P - w_j) where k_ij is the permeability tensor, krel is the relative permeaility, mu is the fluid viscosity, P is the fluid pressure and w_j is the fluid weight This is measured in m^3 . More...

#include <PorousFlowDarcyVelocityComponent.h>

Inheritance diagram for PorousFlowDarcyVelocityComponent:
[legend]

Public Member Functions

 PorousFlowDarcyVelocityComponent (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeValue ()
 

Protected Attributes

const MaterialProperty< std::vector< Real > > & _relative_permeability
 Relative permeability of each phase. More...
 
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
 Viscosity of each component in each phase. More...
 
const MaterialProperty< RealTensorValue > & _permeability
 Permeability of porous material. More...
 
const MaterialProperty< std::vector< RealGradient > > & _grad_p
 Gradient of the pore pressure in each phase. More...
 
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
 Fluid density for each phase (at the qp) More...
 
const PorousFlowDictator_dictator
 PorousFlow UserObject. More...
 
const unsigned int _ph
 Index of the fluid phase. More...
 
unsigned int _component
 Desired spatial component. More...
 
const RealVectorValue _gravity
 Gravitational acceleration. More...
 

Detailed Description

Computes a component of the Darcy velocity: -k_ij * krel /mu (nabla_j P - w_j) where k_ij is the permeability tensor, krel is the relative permeaility, mu is the fluid viscosity, P is the fluid pressure and w_j is the fluid weight This is measured in m^3 .

s^-1 . m^-2

Definition at line 30 of file PorousFlowDarcyVelocityComponent.h.

Constructor & Destructor Documentation

PorousFlowDarcyVelocityComponent::PorousFlowDarcyVelocityComponent ( const InputParameters &  parameters)

Definition at line 36 of file PorousFlowDarcyVelocityComponent.C.

38  : AuxKernel(parameters),
40  getMaterialProperty<std::vector<Real>>("PorousFlow_relative_permeability_qp")),
41  _fluid_viscosity(getMaterialProperty<std::vector<Real>>("PorousFlow_viscosity_qp")),
42  _permeability(getMaterialProperty<RealTensorValue>("PorousFlow_permeability_qp")),
43  _grad_p(getMaterialProperty<std::vector<RealGradient>>("PorousFlow_grad_porepressure_qp")),
44  _fluid_density_qp(getMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_density_qp")),
45  _dictator(getUserObject<PorousFlowDictator>("PorousFlowDictator")),
46  _ph(getParam<unsigned int>("fluid_phase")),
47  _component(getParam<MooseEnum>("component")),
48  _gravity(getParam<RealVectorValue>("gravity"))
49 {
50  if (_ph >= _dictator.numPhases())
51  mooseError(
52  "The Dictator proclaims that the number of phases in this simulation is ",
54  " whereas you have used the AuxKernel PorousFlowDarcyVelocityComponent with fluid_phase = ",
55  _ph,
56  ". The Dictator is watching you, to ensure your wellbeing.");
57 }
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
const RealVectorValue _gravity
Gravitational acceleration.
unsigned int _component
Desired spatial component.
const PorousFlowDictator & _dictator
PorousFlow UserObject.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
const unsigned int _ph
Index of the fluid phase.
unsigned int numPhases() const
the number of fluid phases
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
Fluid density for each phase (at the qp)

Member Function Documentation

Real PorousFlowDarcyVelocityComponent::computeValue ( )
protectedvirtual

Definition at line 60 of file PorousFlowDarcyVelocityComponent.C.

61 {
62  // note that in the following, _relative_permeaility and _fluid_viscosity are upwinded (nodal)
63  // values
64  return -(_permeability[_qp] * (_grad_p[_qp][_ph] - _fluid_density_qp[_qp][_ph] * _gravity) *
66 }
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
const RealVectorValue _gravity
Gravitational acceleration.
unsigned int _component
Desired spatial component.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
const unsigned int _ph
Index of the fluid phase.
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
Fluid density for each phase (at the qp)

Member Data Documentation

unsigned int PorousFlowDarcyVelocityComponent::_component
protected

Desired spatial component.

Definition at line 60 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().

const PorousFlowDictator& PorousFlowDarcyVelocityComponent::_dictator
protected

PorousFlow UserObject.

Definition at line 54 of file PorousFlowDarcyVelocityComponent.h.

Referenced by PorousFlowDarcyVelocityComponent().

const MaterialProperty<std::vector<Real> >& PorousFlowDarcyVelocityComponent::_fluid_density_qp
protected

Fluid density for each phase (at the qp)

Definition at line 51 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().

const MaterialProperty<std::vector<Real> >& PorousFlowDarcyVelocityComponent::_fluid_viscosity
protected

Viscosity of each component in each phase.

Definition at line 42 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().

const MaterialProperty<std::vector<RealGradient> >& PorousFlowDarcyVelocityComponent::_grad_p
protected

Gradient of the pore pressure in each phase.

Definition at line 48 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().

const RealVectorValue PorousFlowDarcyVelocityComponent::_gravity
protected

Gravitational acceleration.

Definition at line 63 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().

const MaterialProperty<RealTensorValue>& PorousFlowDarcyVelocityComponent::_permeability
protected

Permeability of porous material.

Definition at line 45 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().

const unsigned int PorousFlowDarcyVelocityComponent::_ph
protected

Index of the fluid phase.

Definition at line 57 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue(), and PorousFlowDarcyVelocityComponent().

const MaterialProperty<std::vector<Real> >& PorousFlowDarcyVelocityComponent::_relative_permeability
protected

Relative permeability of each phase.

Definition at line 39 of file PorousFlowDarcyVelocityComponent.h.

Referenced by computeValue().


The documentation for this class was generated from the following files: