LEAP is a Computational Fluid Dynamics (CFD) code developed by Prof. Mohamed Houssem Kasbaoui at Arizona State University. LEAP is designed to deliver robust and efficient algorithms for CFD applications involving laminar and turbulent single-phase/multiphase flows. -- https://kasbaoui.bitbucket.io
Find us on…
LEAP is a state-of-the-art, highly scalable, Computational Fluid Dynamics (CFD) code developed by Prof. Mohamed Houssem Kasbaoui at Arizona State University. LEAP is designed to deliver robust and efficient algorithms for CFD applications involving laminar and turbulent single-phase/multiphase flows. The code is built bottom-up to leverage MPI parallelization and modern FORTRAN features (Object Oriented Programing, data polymorphism and code-reusability).
LEAP is a modern CFD package that offers the following advantages:
Flexible, Reusable, and Extendable Data Structures: Data structures are implemented with reusability and scalability in mind thanks to polymorphism and object oriented capabilities of Fortran 2018 and later standards. LEAP offers many data structures that make it easy to build solvers and postprocessing tools. Among the main data structures:
solver_obj
) allows users to easily define a new solver, implement any PDE using the provided finite-volume/difference schemes (up to 6th order), advance the solution in time, and perform IO in single or double precision. There is no limit on how many different solvers can be implemented or any requirement on the equations to be solved.eulerian_obj
) may be used to represent field quantities such as velocity field, pressure field, etc. The module leapEulerian defines a suite of derived types and procedures that allow one to very easily define and work with new fields. Cumbersome operations like allocation and parallel communications (for ghostcells and others) happen under the hood.lagrangian_obj
) may be used to represent lagrangian quantities such as tracers, inertial particles, immersed boundary markers. Abstract derived types are defined in the module leapLagrangian and can be easily extended to represent whatever Lagrangian quantity one desires. Here too, users may not need to code cumbersome operations like parallel communications, interpolations, and I/O. Users can focus on implementing their physics instead.There is a multitude of other data structures available in LEAP. For an exhaustive list refer to the source code or the documentation.
High-Performance and Portable I/O:
By default, LEAP reads/writes files in the HDF5 file format, the gold standard for open-source, high-performance, and portable file format in scientific computing. HDF5 files can be explored using tools such as h5dump
provided with HDF5 distributions. LEAP uses the H5HUT library to write The HDF5 files. These files can also be ingested by popular scientific visualization software such as VisIt or ParaView. In addition, LEAP can output files in the SILO file format. This is the preferred I/O driver for files intended for visualization using VisIt/ParaView. Additional I/O drivers can be implemented upon request.
Solvers currently implemented in LEAP:
leap/cases
directory:leap/cases
directory:In addition to providing the solvers above, LEAP can be called as an external library to provide the following features:
Refer to the User Guide for additional information.
LEAP is currently under development. More features will be made available over time.
LEAP users are kindly asked to cite the following publications in their academic work:
LEAP requires a compiler compatible with Fortran 2018, such as Gfortran 13x and higher.
The following libraries are required to run LEAP:
Refer to the User Guide for further help.
Documentation and instructions on how to use LEAP are available online here: https://kasbaoui.bitbucket.io/leap.
Documentation is generated by the automatic documentation generator FORD. To generate a local copy, navigate to the doc folder and create the documentation as following:
cd /PATH/TO/LEAP/doc
ford leap-doc.md
You will find the documentation under /PATH/TO/LEAP/doc/html/index.html
.
If you need support with compiling, running, developing applications based on LEAP, or if you need to report bugs contact Prof. Kasbaoui (houssem.kasbaoui@asu.edu).
LEAP is distributed open-source under GPLv3 license. See LICENSE.md.