View Issue Details

IDProjectCategoryView StatusLast Update
0003701OpenFOAMBugpublic2021-08-03 21:38
Reportertime-traderAssigned Tohenry 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionsuspended 
PlatformLinuxOSUbuntuOS Version20.04 LTS
Product Version8 
Fixed in Version 
Summary0003701: porousSimpleFoam solver results are highly sensitive to the mesh size at the porous media boundary
DescriptionThe behavior is most likely due to the interpolation of pressure values to the faces of the porous zone.

The error on pressure drop is proportional to the size of Cells at the porous zone boundary. In case of Forchheimer flow:
ΔPerror ≈ 0.5* rho * fx * dx_cell*ux^2

Where:
dx_cell = size of the cells at the porous zone boundary in the flow direction
fx = Forchheimer coefficient in the flow direction
ux = flow speed
Steps To Reproduce1. User a rather coarse mesh at the boundary of the porous zone.
2. Use standard settings in fvSchemes
ie.

grad Schemes
{
default Gauss linear;
}

and

interpolationSchemes
{
    default linear;
}

3. Run a porousSimpleFoam solver
Additional InformationAttached is a simple benchmark test, with several hex meshes generated by blockMesh, to demonstrate the behavior.
With the thickness of the porous media of 0.5 [m] and fx = 20 [m^(-1)], the expected value of pressure drop:
 ΔP = 0.5*1[kg/m^3]* (20 [m^(-1)] *0.5 [m]) *(10[m/s])^2 = 500 [Pa]

The value of pressure drop from porousSimpleFoam:
with 5 cells in flow direction, regular mesh size of 0.1[m] : 455 [Pa]
with cells size in flow direction of 0.1[m] at boundaries and 30 cells of 0.01[m] inside the porous medium: 471 [Pa]
with cells size in flow direction of 0.01[m] at the boundaries and 3 cells of 0.16 inside the porous medium 494 [Pa]
with 5 cells in flow direction, regular mesh size of 0.1[m] and cellLimited interpolation scheme for p : 495 [Pa]

Therefore, it was possible to obtain the results more in line with the analytical prediction with following strategies:
1. Decrease the size of cells at the boundary (only the boundary refinement is necessary).
or, alternatively:
2. Limit the extrapolation on pressure gradient:
gradSchemes
{
    default Gauss linear;
    grad(p) cellLimited Gauss linear 1;
}
and introduce the cubic interpolation scheme:
interpolationSchemes
{
    default cubic;
}
TagsNo tags attached.

Activities

time-trader

2021-07-29 12:35

reporter  

BenchmarkCase.zip (91,924 bytes)

henry

2021-07-29 12:48

manager   ~0012117

It is not clear if you need anything from us on this. If you would like to fund development of the porous media implementation please contact us directly.

henry

2021-08-03 21:38

manager   ~0012118

Waiting for response

Issue History

Date Modified Username Field Change
2021-07-29 12:35 time-trader New Issue
2021-07-29 12:35 time-trader File Added: BenchmarkCase.zip
2021-07-29 12:48 henry Note Added: 0012117
2021-08-03 21:38 henry Assigned To => henry
2021-08-03 21:38 henry Status new => closed
2021-08-03 21:38 henry Resolution open => suspended
2021-08-03 21:38 henry Note Added: 0012118