https://mooseframework.inl.gov
FVPorousFlowDispersiveFlux.h
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 #pragma once
11 
12 #include "FVFluxKernel.h"
13 #include "RankTwoTensor.h"
15 
16 class PorousFlowDictator;
17 
23 {
24 public:
27 
28 protected:
29  virtual ADReal computeQpResidual() override;
30 
34  const unsigned int _num_phases;
36  const unsigned int _fluid_component;
37 
40 
44 
48 
53 
57 
62 
66 
70 
74 
78 
80  const std::vector<Real> _disp_long;
81 
83  const std::vector<Real> _disp_trans;
84 };
FVPorousFlowDispersiveFlux(const InputParameters &params)
const ADMaterialProperty< std::vector< Real > > & _viscosity_neighbor
const PorousFlowDictator & _dictator
UserObject that holds information (number of phases, components, etc)
const ADMaterialProperty< Real > & _porosity
Porosity.
const ADMaterialProperty< std::vector< Real > > & _pressure_neighbor
const ADMaterialProperty< std::vector< RealGradient > > & _grad_p
const std::vector< Real > _disp_trans
Transverse dispersivity for each phase.
const ADMaterialProperty< std::vector< Real > > & _density
Fluid density.
const ADMaterialProperty< std::vector< Real > > & _relperm_neighbor
const ADRankTwoTensor _identity_tensor
Dispersive flux of component k in fluid phase alpha.
const unsigned int _num_phases
Number of fluid phases present.
const ADMaterialProperty< RealTensorValue > & _permeability
Permeability.
const ADMaterialProperty< std::vector< std::vector< Real > > > & _mass_fractions
Mass fraction of fluid components in fluid phases.
const ADMaterialProperty< std::vector< Real > > & _pressure
Fluid pressure.
const ADMaterialProperty< std::vector< Real > > & _tortuosity_neighbor
virtual ADReal computeQpResidual() override
const ADMaterialProperty< RealTensorValue > & _permeability_neighbor
const ADMaterialProperty< Real > & _porosity_neighbor
const MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff
Diffusion coefficients of component k in fluid phase alpha.
const ADMaterialProperty< std::vector< Real > > & _tortuosity
Tortuosity tau_0 * tau_{alpha} for fluid phase alpha.
const ADMaterialProperty< std::vector< std::vector< Real > > > & _mass_fractions_neighbor
const ADMaterialProperty< std::vector< Real > > & _viscosity
Fluid viscosity.
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
static InputParameters validParams()
const MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff_neighbor
const std::vector< Real > _disp_long
Longitudinal dispersivity for each phase.
const RealVectorValue & _gravity
Gravity vector.
const ADMaterialProperty< std::vector< std::vector< RealGradient > > > & _grad_mass_frac
const unsigned int _fluid_component
Index of the fluid component this kernel applies to.
const ADMaterialProperty< std::vector< Real > > & _relperm
Relative permeability.