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:

\[Kl = 2.0 \cdot \left(\frac{B}{BCFD}\right) \cdot alpha \cdot Q \cdot \left(\frac{\mu}{\rho}\right) \cdot a^2\]
\[Kq = 2.0 \cdot \left(\frac{B}{BCFD}\right) \cdot beta \cdot Q \cdot \frac{1}{Dp}\]
\[\text{SourceTerm} = \left( \frac{\rho}{2 \cdot \epsilon^2} \cdot (Kl + Kq \cdot \lVert v \rVert) \right) \cdot v\]

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.

Armour, Cannon, and Cady (ACC) Model Source Term Tunable Parameters

Variable

Description

Default Value

a

Screen surface area to volume ratio

None

B

Empirical constant

None

BCFD

Empirical constant

None

Dp

Hydraulic pore diameter

None

Q

Mesh tortuosity factor

None

alpha

Empirical constant

None

beta

Empirical constant

None

epsilon

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:

\[\text{SourceTerm} = \left( \frac{0.5 \cdot \rho \cdot \lVert v \rVert \cdot Kq}{\epsilon^2} \right) \cdot v\]

These parameters can be specified in the run control file using the names shown in the table below.

Numerically Determined Resistance (NDR) Model Source Term Tunable Parameters

Variable

Description

Default Value

Kq

Empirical Constant

None

epsilon

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

radius

m

Radius of the circular screen.

center

m

Center point of the circular screen.

normal

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

radius

m

Radius of the cylindrical screen.

length

m

Length of the cylindrical screen.

center

m

Center point of the cylindrical screen.

axis

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

w1

m

Width of the box along axis1.

w2

m

Width of the box along axis2.

w3

m

Width of the box along axis3 (automatically determined by the cross product of axis1 and axis2).

center

m

Center point of the box screen.

axis1

First axis vector defining one edge of the box.

axis2

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.

Field Variable Output for Porous Media Flows

Variable

Description

Default

screenNumber

Screen integer identification

No

References

[ArCa1968]
    1. Armour, J. N. Cannon, Fluid flow through woven screens 1968.

[Cady1973]
    1. Cady, Study of Thermodynamic Vent and Screen Baffle Integration for Orbital Storage and Transfer of Liquid Hydrogen, 1973.