menu

OpenFOAM Solvers

OpenFOAM as a very well developed, widely used and open-source CFD platform, provides a reliable environment for further developments. In most of my developments, OpenFOAM is used as the base for further development of applied CFD tools and widgets. A wide range of developments, from specific solvers for separation engineering such as membraneFoam and adsorpFoam to more generic solvers such as porousFoam and multiPhaseFoam have been developed by me. Part of my developments are released as open-source codes (check bottom) and some other are described and introduced in conference and journal publications.

Some of developments are provided here, feel free to download them and use them (By using these codes, the user acknowledges and agrees to the terms of use - see bellow). The published developments, mostly include:

  • The source code for the solver
  • Needed/added libraries
  • Instructions to compile (if needed - in the form of Allwmake)
  • Examples how to set up the case

Interested to know more about my developments or want to cooperate with me simply contact me.

Disclaimer: This offering is not approved or endorsed by ESI® Group, ESI-OpenCFD® or the OpenFOAM® Foundation, the producer of the OpenFOAM® software and owner of the OpenFOAM® trademark.

adsorpFoam

keyboard_arrow_down

Description:

adsorpFoam solver was specifically developed to handle adsorption phenomena, where heat and mass transfer occurs between gas and solid materials in multiple regions (fluid and solid). The solver applies distinct methodologies for each of the two areas; for the fluid area, it employs the Navier-Stokes equations in conjunction with the continuity equation to determine the interconnected pressure and velocity field of the fluid implicitly. Following that, heat and mass conservation equations are used explicitly to calculate the temperature and mass fractions of species within the fluid. Conversely, for the solid side, the energy conservation equation is resolved to determine the temperature field within the solid particles. Since adsorption is a surface phenomenon, no mass conservation equation is employed for the solid area. Finally, the two regions are coupled explicitly through a shared boundary condition located at the adsorption active surface.

Sample Simulation: adsorptionBed

Features:

  • Multi region based solver
  • Adsorption boundary auto detection
  • Parallel ready
  • Adsorption properties dictionary
  • Multi-specie adsorption (different adsorption rates on different adsorbents)
  • Multi-adsorbent support
  • Multi order kinetics

Developer:

  • Bahram Haddadi

OpenFOAM Compatibility:

  • OpenFOAM® 2.3.0

Base Solver:

  • chtMultiRegionFoam

License:

  • GPL

Relevant Publications:

Citation: Haddadi, B., Jordan, C., Harasek, M. (2014), TU Wien. adsorpFoam [OpenFOAM based solver for simulation of gas-solid adsorption systems]. Retrieved from www.fluiddynamics.at/downloads/openfoam-solvers

Download

membraneFoam

keyboard_arrow_down

Description:

membraneFoam employs a multi-region technique to model various compartments of a membrane module, such as retentate and permeate, as separate regions. These regions are interconnected using the membrane boundary. The algorithm can manage mass and heat transfer through the membrane boundary for any number of components (species). Each region can possess its own thermo-physical properties, turbulence models, and other characteristics. The solver is designed in a modular fashion, making it relatively simple to expand the available models. The solver is highly adaptable and can be utilized in 1D or 3D membrane modeling, depending on the desired outcomes.

Sample Simulation: membrane

Features:

  • Modeling trans-membrane flux
  • Multi-region approach
  • Reaction and multi-specie
  • Parallel ready
  • Library based models implementation:
    • Activity model
    • Diffusion model
    • Permeance model
    • Membrane model
  • Implemented gas permeation, osmosis and pervaporation models
  • Membrane properties IO dictionary
  • Steady-state and transient
  • One-dimensional modeling support
  • Examples, including 1D setup

Developer:

  • Bahram Haddadi

OpenFOAM Compatibility:

  • OpenFOAM® 4.0

Base Solver:

  • chtMultiRegionFoam

License:

  • GPL

Relevant Publications:

Citation: Haddadi, B., Jordan, C., Harasek, M. (2017), TU Wien. membranceFoam [OpenFOAM based solver for simulation of membrane separation systems]. Retrieved from www.fluiddynamics.at/downloads/openfoam-solvers

Download

multiPhaseFoam

keyboard_arrow_down

Description:

multiPhaseFoam solver is a computational tool for simulating mass transfer between phases using a volume of fluid approach (VoF) that enables the analysis of multi-component fluid systems, where mass transfer takes place between different phases. The solver employs a volume of fluid approach, which is a widely-used technique for modeling multi-phase flows. It tracks the interface between the fluid phases in every computational cell and calculates the mass transfer between them. The solver can simulate various types of mass transfer mechanisms such as diffusion, convection, and chemical reactions. It can also handle complex geometries and different boundary conditions. The solver is capable of modeling a wide range of applications, such as separation processes, mixing, and reaction engineering.

Sample Simulation: bubbles

Features:

  • VoF based multiphase mass transfer
  • Phase properties calculated based on the multi specie mixture for each phase
  • Reactions implemented
  • Multiphase support
  • Library based mass transfer models:
    • Interface area calculation
    • Equilibrium calculated
    • Kinetics calculation
  • Parallel ready
  • Dynamic mesh support

Developer:

  • Bahram Haddadi

OpenFOAM Compatibility:

  • OpenFOAM® 5.x

Base Solver:

  • interFoam

License:

  • GPL

Citation: Haddadi, B., Jordan, C., Harasek, M. (2018), TU Wien. multiPhaseFoam [OpenFOAM based solver for VoF simulation of multiphase systems including mass transfer between phases]. Retrieved from www.fluiddynamics.at/downloads/openfoam-solvers

Download

porousFoam

keyboard_arrow_down

Description:

porousFoam is a computational tool that enables the analysis of fluid flow in porous materials. The solver is based on the Navier-Stokes equations, which are modified to account for the presence of a porous medium. The solver can handle various types of porous media, including packed beds, fibrous media, and porous membranes. The solver uses a numerical discretization method to solve the governing equations and simulate the fluid flow through the porous material. The solver can also take into account heat transfer. The solver is particularly useful for simulating fluid flow in porous media used in industrial applications such as filtration, catalysis, and thermal management.

Sample Simulation: porous

Features:

  • Incompressible and compressible flow through porous media
  • Physical velocity
  • Two field energy for solid and fluid
  • Turbulence model for porous media
  • Implicit porous source term
  • Solid-fluid heat transfer mechanism

Developer:

  • Bahram Haddadi

OpenFOAM Compatibility:

  • OpenFOAM® 2.3.0

Base Solver:

  • rhoPimpleFoam

License:

  • GPL

Citation: Haddadi, B., Jordan, C., Harasek, M. (2015), TU Wien. porousFoam [OpenFOAM based solver for simulation of flow through porous media]. Retrieved from www.fluiddynamics.at/downloads/openfoam-solvers

Download

blockCoupledFoam

keyboard_arrow_down

Description:

The coupledMatrix is a library originally implemented to foam-extend, which I ported to OpenFOAM 2.3.0 to be used for implicit coupling of regions with common boudaries (e.g. fluid and porous regions). It uses a block-coupled approach, where different regions of the simulation domain are treated separately and then coupled implicitly together through a common boundary and a single set of equations is solved for all the regions. This library provides a modular implementation making it relatively simple to modify and extend.

As a sample application the blockCoupledFoam solver using the mentioned library was developed to implicitly couple two regions. In this development pressure and velocity fields between the two regions were coupled through a common boundary and after the discretization a single set of equations for each of the properties was solved. The solver is based on the multi-region approach with an implicit coupling in between the regions.

Sample Simulation: blockCoupled

Features:

  • Ported coupledMatrix library from foam-extend
  • coupledLduMatrix for solving coupled equations and regions
  • RegionCoupling for implicit coupling of regions
  • Sample solver for coupling U-p over two regions

Developer:

  • Bahram Haddadi

OpenFOAM Compatibility:

  • OpenFOAM® 2.3.0

Base Solver:

  • pisoFoam, chtMultiRegionFoam

License:

  • GPL

Citation: Haddadi, B., Jordan, C., Harasek, M. (2015), TU Wien. blockCoupledFoam [Ported library from foam-exted and sample solver to simulate coupled regions in OpenFOAM]. Retrieved from www.fluiddynamics.at/downloads/openfoam-solvers

Download

Terms of use:

This offering is not approved or endorsed by ESI® Group, ESI-OpenCFD® or the OpenFOAM® Foundation, the producer of the OpenFOAM® software and owner of the OpenFOAM® trademark.

The codes provided herein are provided "as is" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose.

The author of the codes, as well as any contributors, shall not be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of these codes, even if advised of the possibility of such damage.

Furthermore, the author and contributors of the codes do not guarantee that the codes provided herein are free of errors or defects or that they will function without interruption. The user assumes all risk associated with the use of these codes, and in no event shall the author or contributors of the codes be liable for any damages arising from the use of the codes, including but not limited to loss of data or profits.

By using these codes, the user acknowledges and agrees to the terms of this liability note and assumes all responsibility and risk for the use of the codes.