Porous Media Module
To use the porous media module, the run control file should appear as follows:
loadModule: porous
{
... standard vars file content
}
Armour Cannon Cady (ACC) Mesh Model
The mesh model based on the work of Armour, Cannon, and Cady [ArCa1968] [Cady1973] (ACC) is one of the available mesh models that can be applied to regions of the domain. The model adds a source term to the momentum equation to account for the effect of the porous media on the flow. The source term is given by the following expressions:
where \(\rho\) is the fluid density, \(\mu\) is the dynamic viscosity of the fluid, and \(v\) is the velocity vector.
These parameters can be specified in the run control file using the names shown in the table below.
Variable |
Description |
Default Value |
---|---|---|
|
Screen surface area to volume ratio |
None |
|
Empirical constant |
None |
|
Empirical constant |
None |
|
Hydraulic pore diameter |
None |
|
Mesh tortuosity factor |
None |
|
Empirical constant |
None |
|
Empirical constant |
None |
|
Screen void fraction |
None |
The ACC model can be selected by specifying ACC
as a mesh model type in the porousScreens
variable
as shown below.
porousScreens: <
mesh1=ACC(a=510235, B=0.000089, BCFD=1000.0, Dp=0.000005, Q=1.3, alpha=3.2, beta=0.19, epsilon=0.245)
>
Numerically Determined Resistance (NDR) Mesh Model
The mesh model is an engineering model with numerically determined resistance (NDR). The model adds a source term to the momentum equation to account for the effect of the porous media on the flow. The source term is given by the following expressions:
These parameters can be specified in the run control file using the names shown in the table below.
Variable |
Description |
Default Value |
---|---|---|
|
Empirical Constant |
None |
|
Screen void fraction |
None |
The NDR model can be selected by specifying NDR
as a mesh model type in the porousScreens
variable
as shown below.
porousScreens: <
NDR(Kq=1742.782, epsilon=0.4)
>
Control File Setup
A porous media set of variables must be defined in the run control file. These definitions are used to specify the locations of the porous media screens and the parameters that define the porous media model used for the porous media regions. The following section shows an example specification of the porous media variables in the run control file.
porousScreens: <
mesh1=ACC(a=510235, B=0.000089, BCFD=1000.0, Dp=0.000005, Q=1.3, alpha=3.2, beta=0.19, epsilon=0.245),
mesh2=NDR(Kq=1742.782, epsilon=0.4),
screens=[
box(center=[5.0,0.5,0.05], axis1=[1.0,0.0,0.0], axis2=[0.0,1.0,0.0], w1=0.1, w2=1.0, w3=0.1, material=mesh2)
]
>
In the above specification of the porousScreens
variable, the mesh1
and mesh2
variables are used to define the
different types of mesh models that can be used in the porous media regions. The screens
variable is used to define the
regions of the domain where the porous media models are applied. The available supported screen geometries are detailed in
the following section.
An additional run control file variable named porositySourceOptions
can be used to specify whether to use an
implicit or explicit source term treatment for the porous media model. The calculation type of the source term can also be
specified to use a standard or conservative approach. The two methods are:
The standard method, which evaluates the source term at the cell center, specified using
standard
.Mencinger’s conservative method which requires a face evaluation of the porosity source term per unit volume, specified using
conservative
.
An example of specifying the source term treatment and the source term computation is shown below.
porositySourceOptions: <implicit, conservative>
The default values for the source term treatment and the source term computation are implicit
and conservative
, respectively.
Screen Geometries
Circular Screen
The circular screen type is specified using the circle
keyword in the screens
variable. The parameters for the
circular screen are the radius, center, and normal vector to the plane of the circular screen. The parameters are shown in
the table below.
Parameter |
Unit |
Description |
---|---|---|
|
m |
Radius of the circular screen. |
|
m |
Center point of the circular screen. |
|
Normal vector to the plane of the circular screen. |
An example of specifying a circular screen is shown below.
circle(radius=1.0, center=[0.0, 0.0, 0.0], normal=[0.0, 1.0, 0.0], material=mesh1)
Cylindrical Screen
The cylindrical screen type is specified using the cylinder
keyword in the screens
variable. The parameters for the
cylindrical screen are the radius, length, center, and axis vector along the length of the cylinder. The parameters are
shown in the table below.
Parameter |
Unit |
Description |
---|---|---|
|
m |
Radius of the cylindrical screen. |
|
m |
Length of the cylindrical screen. |
|
m |
Center point of the cylindrical screen. |
|
Axis vector along the length of the cylinder. |
An example of specifying a cylindrical screen is shown below.
cylinder(radius=1.0, length=1.0, center=[0.0, 0.0, 0.0], axis=[0.0, 1.0, 0.0], material=mesh1)
Box Screen
The box screen type is specified using the box
keyword in the screens
variable. The parameters for the box screen
are the width along the three axes, center, and two axis vectors defining the edges of the box. The parameters are shown in
the table below.
Parameter |
Unit |
Description |
---|---|---|
|
m |
Width of the box along axis1. |
|
m |
Width of the box along axis2. |
|
m |
Width of the box along axis3 (automatically determined by the cross product of axis1 and axis2). |
|
m |
Center point of the box screen. |
|
First axis vector defining one edge of the box. |
|
|
Second axis vector defining another edge of the box perpendicular to axis1. |
An example of specifying a box screen is shown below.
box(center=[0.0, 0.0, 0.0], axis1=[1.0, 0.0, 0.0], axis2=[0.0, 1.0, 0.0], w1=1.0, w2=1.0, w3=1.0, material=mesh1)
Output Variables
The table below shows additional field variables that are available for output in simulations that use the porous
media module. Default variables are output automatically and do not need to be specified in the plot_output
line
in the run control file.
Variable |
Description |
Default |
---|---|---|
|
Screen integer identification |
No |
References