# OpenFOAM: MODELLING A POROUS MEMBRANE

## OpenFOAM: MODELLING A POROUS MEMBRANE

UNDER CONSTRUCTION 2022-03-03: require experimental data for the permeability of the cover material TopTex.

OpenFOAM version: 9

CASE: clamp_06, case_06_empty_clamp

Solver: clampPimpleFoam-2

This post builds on two previous posts in which two heat equations were added to the pimpleFoam solver: one for the fluid phase, and one for the solid phase. That said, this post can probably be taken independently from those two. More important is to understand the context in which this post is written:

• primary audience = the author themself (not a CFD/ OpenFOAM pro);
• modelling goals = a functional model (possibly not the most efficient model);
• model attributes of note = potentially need to flip inlets and outlets

This last point is probably the most important for anyone looking for guidance in the development of their own model which includes a porous membrane. Reading around, it is often suggested that using a porous baffle is the most appropriate and efficient method. It does seem that porous baffles are efficient. The problem on the horizon of this project is that there are plans to have the inlet and outlet swap periodically during the simulation. Going from the assumption that this is possible, it would mean that the baffles would also need to be modified at each of these steps – from what has been read, baffles are unidirectional. The other issue with this unidirectionality of baffles is that the membrane included in this model covers the porous region on both sides, so on one side, the flow is open air-membrane-porous zone, while on the other side, it’s porous zone-membrane-open air. So the baffle would need to be split. Finding this split would be very difficult given it moves in the unsteady simulation.

If any of this seems incorrect, please be in touch!

## GEOMETRY

Issues with the meshing notwithstanding, the yellow region (left image) is that which is to be turned into the porous membrane. In the mesh, it can be seen that this is two cells think. The cells are around 50mm wide each. In reality, this region will be anything from ca. 1mm thick, through to ca. 300mm thick. The region on the inside of the yellow region is the porous region. The region on the outside is the open air.

There are five cell sets within the cover. From the way the mesh was defined in the blockMeshDict, they ended up with the names cover_27 to cover_31. These regions are defined in a topoSetDict to become a cell zone set.

To build the mesh, run `blockMesh` > `topoSet` > `setFields`. A `checkMesh` should probably be added in there somewhere too.

The setFieldsDict file hasn’t been changed since previous posts. This has previously been developed to define both the porous region and the porosity of the different regions, which are components of the governing equations. This development is described in the second part of the development of the solver. These fields need to be set for the solver to make sense.

## SETTING POROUS MEMBRANE PROPERTIES

The porous zone on the inside the cover has an explicit porosity source. This means that in the momentum equation, the source term actually does something. Momentum will be impacted by the parameters defined in this source term, with the Darcy-Forehheimer model used (so need to know D and F parameter values), and the D and F parameters defined in the CASE/constant/fvOptions file. The same will be done for this new porous membrane zone.

So what should the D and F values be? And how should they be modified to reflect that the mesh elements are not actually the same size as the porous membrane in reality?

#### PERMEABILITY OF SUGAR BEET COVER TYPES

Whatever it is, it is lower than for the beet material that makes up the porous zone. The different covers of interest include

• a polypropelyne fleece known as TopTex
• straw
• plastic
• none

“None” is easy. D and F in the porous cover cell zone equal 0 and 0.

“Plastic” you’d think that this would also be pretty easy. 0.025mm thick LDPE…

“Straw”

“TopTex”. TenCate, the manufacturer of TopTex, provided the technical data they already had for sugar beet TopTex: it is 1.1mm thick, 110g/m2, but had unknown air permeability. Fortunately, TenCate has also generously run the relevant ISO standard tests on the material, just for this project. Testing of an old sample of the material with RiSe in Möndal using the same ISO standards is also underway.

From the data provided by TenCate, the D and F coefficients are calculated as 1.463 e08 and 1.375 e03 respectively.

#### THERMAL PROPERTIES

For now, it seems OK to assume that the thermal properties of all but straw are not significant.

### CONVERTING THICKNESSES

For OpenFOAM, dealing with the difference in the actual thicknesses of the material and the thickness of cover section of the mesh is as straightforward as it could be. It is simply to multiply the D and F coefficients of the ratio of the thicknesses. So, a 1.1mm thick material modeled as 100mm thick will be to multiple the D and F coefficients by 1.1/100 = 0.011. When the experimental D and F numbers from the data provided by TenCate are converted like this, values of 1.609 e07 and 1.512 e02 should be used for TopTex. For a 150 mm model cover thickness, the values for TopTex are 1.073 e07 and 1.008 e02 respectively.

We are going to verify this with a simple model, but that mathematics makes sense.

This conversion is added to the fvOptions file:

``````porosity2
{
type            explicitPorositySource;
active          yes;

explicitPorositySourceCoeffs
{

selectionMode   cellZone;
cellZone        cover_zone;

type           DarcyForchheimer;

D 16090000;  // D and F for a fabric of 1.1mm thickness. x 1.1 / 100
F 151.2;      // 1.1 is the thickness of TopTex. 100 is the thickness of the mesh

DarcyForchheimerCoeffs
{
d (\$D \$D \$D);
f (\$F \$F \$F);

coordinateSystem
{
type  cartesian;
origin  (0 0 0);
coordinateRotation
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
}
}
}``````

### TEST RUN

A test run using these D-F values and D = F = 0.1 for the porous clamp/ sugar beet area was completed. It looks like it works like it should, although the higher velocity at the bottom of the empty clamp area is a little odd to my mind.

This site uses Akismet to reduce spam. Learn how your comment data is processed.