Author: Dr. Sharad N . Pachpute
Watch the YouTube video on CFD Modeling of Porous Media in ANSYS FLUENT
What is Porous Media and its Applications?
 Porous media refers to materials or structures that have interconnected voids, pores, or cavities within a solid matrix. These voids can range in size from nanometers to millimeters or even larger.
 Porous media are commonly found in various natural and engineered systems and play a significant role in fields such as fluid dynamics, heat transfer, geology, biology, and engineering.
Types of Porous Media
Porous media can be categorized into different types based on their structure and characteristics:
 Natural Porous Media:
 Many natural materials exhibit porous characteristics, such as rocks, soils, sand, and sediment.
 Geological formations like aquifers, where water is stored and flows, are examples of natural porous media.
 Artificial Porous Media:
 These are materials intentionally created with a porous structure for specific purposes, like filtration, catalysis, and insulation.
 Examples include foam materials, ceramics, and certain types of engineered materials.
Application of Porous Media
Porous media play a crucial role in various processes:
 Fluid Flow:
 Porous media influence how fluids (liquids or gases) flow through them due to their permeability and porosity.
 This has applications in groundwater flow, oil reservoir engineering, and more.
 The behavior of fluids within porous media is typically described using mathematical models based on Darcy’s law, Forchheimer’s equation, and other equations that relate pressure, velocity, porosity, and permeability
 Heat Transfer:
 The presence of pores affects heat transfer processes such as conduction, convection, and radiation.
 Applications include insulation materials, heat exchangers, and cooling systems.
 Filtration and Separation:
 Porous media can act as filters by allowing the passage of some substances while blocking others.
 Applications range from water purification to industrial processes.
 Chemical Reactions:
 Porous structures are used in catalytic processes, where reactants flow through the pores and interact with catalytic surfaces, enhancing reaction rates.
 Biological Systems:
 Porous media are found in biological tissues, bones, and cellular structures, affecting transport processes like nutrient exchange and fluid movement.
 Acoustics and Sound Absorption:
 Porous materials can absorb sound waves due to the complex interaction between air and solid phases within the pores.
 Computational simulations, as well as experimental techniques, are commonly used to study and understand the behavior of fluids and other substances within porous media.
Governing Equations for Porous Media
 Porous media is modeled by attenuating the time derivative and by adding a sink term to the NavierStokes equations.
 The value of γ should be between 0 and 1, where the latter is a complete porosity.
 The source term in the above equation, Sii, consists of two parts, a viscous loss term, and an inertial loss term,
 Therese terms are creating a pressure drop that is proportional to the velocity and velocity squared, respectively
 This equation is known as the DarcyForchheimer equation. In the case of simple homogeneous porous media, it becomes
where D_{ij} and F_{ij} are represented as the scalars D and F. These source terms can also be modeled as a power law of the velocity magnitude, i.e
Darcy’s Law:
 Darcy’s law relates the superficial fluid velocity to the pressure gradient in porous media.
 It assumes that the flow is slow enough for inertia effects to be negligible.
 The law is given by
Where, u is the superficial velocity of the fluid through the porous media.

 μ is the dynamic viscosity of the fluid.
 K is the intrinsic permeability tensor of the porous media.
 ∇P is the pressure gradient.
 ρ is the fluid density.
 g is the gravitational acceleration
Forchheimer Equation
 The Forchheimer equation extends Darcy’s law to account for the effects of inertial resistance in highflow velocity situations.
 It includes an additional term proportional to the square of the velocity
 These equations describe the fluid flow behavior within porous media.
 When implemented in a computational fluid dynamics (CFD) simulation, they allow you to predict how the fluid will behave as it moves through the porous structure.
 Keep in mind that accurate modeling might require additional terms or modifications depending on the specific characteristics of the porous media and the flow conditions.
Simplified DarcyForchheimer Equation
μ ∇²u + ρu ∇u = ∇p + ρg + β(1 – ε)u
In this equation:

μ
is the dynamic viscosity of the fluid.u
is the fluid velocity vector.ρ
is the fluid density.∇²u
is the Laplacian of velocity.∇u
is the gradient of velocity.p
is the fluid pressure.g
is the acceleration due to gravity.β
is the Forchheimer coefficient (accounts for inertial effects).ε
is the porosity of the porous medium. The DarcyForchheimer equation incorporates both the Darcy term (
μ ∇²u
) which accounts for viscous resistance and the Forchheimer term (β(1  ε)u
) which accounts for inertial resistance. The inertial term becomes more significant as flow velocity increases, introducing nonlinearity into the equation.  It’s important to note that this equation is a simplified model and assumes certain conditions such as steadystate flow, incompressible fluid, and isotropic porous media. Depending on the specific situation and assumptions, additional terms or modifications might be needed to accurately capture the behavior of flow through porous media. The choice of porous media model and equation might vary based on the level of detail required and the specific goals of your simulation.
Modeling of Porous Media
 Explicit Porous Modeling:
 You can model explicitly if you know the details of 3D models and fluid regions.
 You must model all fluid gaps in the solid region
 This method is difficult
 Implicit Porous Modeling:
 The following equations and numerical sets in FLUENT or OpenFOAM are given only for implicit modeling of the porous medium.
 We do not account for the features of fluid flows in porous gaps in solids.
 This is a simplest way of modeling porous blocks in CFD solvers
CFD Modeling in FLUENT for Porous Media Model
 ANSYS FLUENT is one of the popular CFD solvers used for numerical simulation of a variety of engineering problems
 Governing equations and model setup are explained below. However, the basic set up like the selection of turbulent flow and heat transfer is the same for porous media flows.
 A basic set of CFD simulations is explained in the previous steps. A difference only in cell zone conditions for media modeling
Governing Equation
 FLUENT numerically solves the standard energy transport equation in porous media regions with modifications to the conduction (diffusion) flux and the transient terms only.
 In the porous medium, the conduction flux uses an effective conductivity and the transient term includes the thermal inertia of the solid region on the medium:
 Porous media are modeled by the addition of a momentum source term to the standard fluid flow equations. The source term is composed of two parts
 Darcy Loss (viscous Term)
 Inertial Loss
 You can also model source term based on a power law of the velocity magnitude if you know mathematical power law with coefficient
Effective Conductivity (viscous Diffusivity)
 The equation for effective thermal conductivity (Keff) in the porous medium is given below
 it is computed in this solver by the volume average of the fluid conductivity and the solid conductivity
 The fluid thermal conductivity kf and the solid thermal conductivity Ks can be computed via userdefined functions.
 Note: The anisotropic effective thermal conductivity can also be specified via userdefined functions.
 In this case, the isotropic contributions from the fluid, γKf, are added to the diagonal elements of the solid anisotropic thermal conductivity matrix
Steps in CFD Modeling in FLUENT
 Modeling porous media in a CFD solver (ANSYS FLUENT ) involves simulating fluid flow through a medium with a complex structure of interconnected voids and solid matrix.
 Here are the general steps to perform a Computational Fluid Dynamics (CFD) simulation of porous media using ANSYS FLUENT:
Geometry and Meshing:
 Import or create the porous media geometry in ANSYS Design Modeler or other CAD software.
 Create the porous region by specifying the solid matrix and voids.
 Generate a suitable mesh. You might use structured or unstructured meshing techniques. Ensure finer mesh resolution near the porous region for accurate results.
Physics Setup:
 Set up the fluid properties (density, viscosity, etc.) and boundary conditions (inlet, outlet, walls, etc.) for the surrounding fluid.
 Define the porous media properties, which include porosity, permeability, and inertial resistance coefficients.
 Specify the fluidsolid interaction parameters, such as Forchheimer’s coefficients, which account for nonDarcy flow effects.
Solver Setup:
 Choose a solver type, often the PressureBased solver for incompressible flows.
 Define solution controls, such as convergence criteria, time step, and maximum iterations.
 Configure turbulence modeling if relevant (kepsilon, komega, etc.).
Boundary Conditions:
 Define fluid properties (density, viscosity, etc.) and boundary conditions (inlet, outlet, walls) for the fluid.
 Decide on the turbulence model if applicable (e.g., kepsilon, komega).
 For porous media, you may need to set specific conditions at the porous surface (velocity inlet or pressure outlet, depending on the scenario).
 Porous media properties like porosity
 Permeability
 inertial resistance coefficients
Turbulence Model
 If you are using one of the turbulence models, you can suppress the effect of turbulence in a porous region by setting the turbulent contribution to viscosity, μt, equal to zero for laminar flow .
 When you choose this option, the CFD solver will transport the inlet turbulence quantities through the medium, but their effect on the fluid mixing and momentum will be ignored.
Defining the Porous Zone
 In Cell Zone Conditions select porous media
 To use either a superficial or physical velocity in the porous medium simulation.
 Note the velocity is set to Superficial Velocity in the default setup
Define the coordinate System
 Cartesian
 Curvilinear
 Conical
 To use a conical coordinate system (e.g., for an annular, conical filter element),
 Define Cone Half Angle (the angle between the cone’s axis and its surface,
 To use a cylindrical coordinate system, set the Cone Half Angle to 0.
 Specify the Cone Axis Vector and Point on Cone Axis. The cone axis is specified as being in the direction of the Cone Axis Vector (unit vector), and passing through the Point on Cone Axis.
 The cone axis may or may not pass through the origin of the coordinate system.
Define the direction vectors.
 To use a Cartesian coordinate system, simply specify the Direction1 Vector and, for 3D, the Direction2 Vector. The unspecified direction will be determined as described above. These direction vectors correspond to the principle axes of the porous media.
 For some CFD problems in which the principal (x,y,z) axes of the porous medium are not aligned with the coordinate axes of the domain, you may not know a priori the direction vectors of the porous medium.
 In such cases, the plane tool in 3D (or the line tool in 2D) can help you to determine these direction vectors.
Define the Parameter for Viscous and Inertial Resistance
 Define the porous media zone and specify its properties like porosity and permeability.
 Choose the appropriate porous media model. FLUENT provides various options, including the DarcyForchheimer model.
 Define the porous region or zones in your domain.
 Specify the porous media model you want to use (e.g., DarcyForchheimer, Ergun equation).
 Input properties like porosity, permeability, and inertial coefficients
Simulation and Postprocessing
 Solution and Convergence:
 Run the simulation and monitor convergence. Inspect residuals and other convergence indicators.
 Adjust solver settings and relaxation factors as needed to achieve convergence.
 PostProcessing:
 Analyze simulation results using FLUENT’s postprocessing tools.
 Visualize flow patterns, pressure distribution, and any other variables of interest.
 Extract quantitative data, such as pressure drop across the porous media.
 Validation and Sensitivity Analysis:
 Compare simulation results with experimental or theoretical data to validate the model.
 Perform sensitivity analyses by varying porous media properties to understand their impact on the simulation outcome.
 Iterate and Refine:
 If necessary, refine the mesh, adjust boundary conditions, or modify model parameters based on the validation and sensitivity analysis results.
 Repeat the simulation and postprocessing steps until satisfactory agreement is achieved.
Porous Media Modeling in OpenFOAM
 A basic understanding of OpenFOAM is given in the previous post. CFD engineers or researchers must refer source code and tutorials in OpenFOAM libraries
Source Code
 The porous media source files in OpenFOAM2.1.1
 Thes are located in the following directory:
$FOAM_SRC/finiteVolume/cfdTools/general/porousMedia/
 The porousMedia folder contains the following files:
• porousZones.H
• porousZones.C
• porousZone.H
• porousZone.C
• porousZonesTemplates.C
• porousZoneTemplates.C
 Implementation of governing equation in OpenFOAM
Solver in OpenFOAM
 rhoPorousSimpleFoam solver, which is based on the rhoSimpleFoam solver as the name indicates.
 It is a steadystate solver for turbulent flow of compressible fluids with implicit or explicit porosity treatment. The implicit porosity solver is supposed to be more robust and is needed if the resistances are large, heavily anisotropic or not aligned with the global coordinates.
 The rhoPorousSimpleFoam solver is located in the following directory: $FOAM_SOLVERS/compressible/rhoPorousSimpleFoam
$FOAM_SOLVERS/compressible/rhoPorousSimpleFoam
 There we find a Make folder and the following files:
• rhoPorousSimpleFoam.C
• initConvergenceCheck.H
• convergenceCheck.H
• createFields.H
• UEqn.H
• pEqn.H
• hEqn.H
Tutorials on Porous Media in Open FOAM
 There are two tutorials using rhoPorousSimpleFoam included in OpenFoam2.1
 They are located in the following directory: $FOAM_TUTORIALS/rhoPorousSimpleFoam
 The following examples are shown below for porous zone modeling in OpenFOAM
Steps for Porous media modeling in OpenFOAM
 Modeling flow through porous media in OpenFOAM involves utilizing its capabilities to simulate complex fluid flow phenomena in porous structures.
 OpenFOAM provides various solvers and tools to handle such simulations. Here’s an overview of the steps to perform porous media modeling in OpenFOAM:
 Geometry and Meshing:
 Create or import the geometry of your porous media in a suitable format (STL, OpenFOAM’s native format, etc.).
 Generate a mesh that accurately represents the porous structure. This might involve structured, unstructured, or even adaptive meshing techniques.
 Fluid and Porous Media Properties:
 Define the fluid properties (density, viscosity) and boundary conditions for the surrounding fluid.
 Specify the properties of the porous media, including porosity, permeability, and inertial coefficients.
 Solver Selection:
 Choose an appropriate solver for your simulation. OpenFOAM offers solvers like simpleFoam, pisoFoam, and more advanced options like interFoam for multiphase flows.
 Boundary Conditions:
 Apply suitable boundary conditions at inlet, outlet, and other relevant surfaces.
 For porous media, set up the conditions at the porous interface to reflect the desired flow behavior.
 Porous Media Model:
 Select the porous media model that fits your case. OpenFOAM provides several options like DarcyForchheimer, Ergun, and more. You might also customize the model based on your requirements.
 Solver Setup:
 Configure solver settings, time stepping, convergence criteria, and numerical discretization schemes.
 Specify the porous media properties and model parameters in your solver setup.
 Solution Initialization:
 Initialize the solution using appropriate methods, such as zero initialization, previous solution, or other suitable methods.
 Solution and Convergence:
 Run the simulation and monitor the convergence. Check residuals and adjust solver settings if needed.
 Utilize OpenFOAM’s builtin postprocessing tools to track the progress of the solution.
 PostProcessing:
 Visualize and analyze simulation results using OpenFOAM’s postprocessing utilities.
 Extract data on velocity, pressure, and other variables within the porous media.
 Validation and Optimization:
 Validate your results by comparing them to experimental data or theoretical predictions.
 Perform sensitivity analyses or optimization studies by varying porous media properties and other parameters.
 Documentation and Reporting:
 Document your simulation setup, assumptions, and results thoroughly.
 Create comprehensive reports detailing the methodology, findings, and insights from your simulation.
Conclusion
 Each case can have specific requirements or considerations, so it’s important to refer to ANSYS FLUENT documentation and literature related to porous media simulations for more detailed guidance.
 OpenFOAM is a highly versatile and customizable tool, and the steps may vary depending on the specific solver, porous media model, and geometry you’re working with.
 Refer to OpenFOAM’s documentation, forums, and literature related to porous media simulations for more specific guidance and examples.
Reference:
 Jacob, Modeling of Phenomenon of Flow in Porous Media, Springer (2018)
 Chalmers University, Open FOAM for Porous Media Modeling:
 ANSYS FLUENT guide for porus Media modeling
 Open FOAM source code for porosity