List of free/opensource codes

=====Flow solvers=====



Channelflow is a software system for numerical analysis of the incompressible Navier-Stokes flow in rectangular geometries, written in C++. The core engine of channelflow is a spectral CFD algorithm for integrating the Navier-Stokes equations. This engine drives a number of higher-level algorithms that (for example) compute equilibria, traveling waves, and periodic orbits of Navier-Stokes. Channelflow provides these algorithms in an easy-to-use, flexible, and intelligible form by using relatively modern software design.

=====Surface Grid generators=====


Type: Triangles


TriAero is the Triangulated Aerodynamics Suite; a collection of Open Source Free Software programs intended to perform simplified aerodynamics calculations over unstructured 3D bodies. TriAero uses the GTS library to work with triangulated surfaces. The source code is available free of charge under the Free Software GPL license

=====Grid generators=====


Type: Unstructured grid


Gmsh is an automatic 3D finite element grid generator with a build-in CAD engine and post-processor. Its design goal is to provide a simple meshing tool for academic problems with parametric input and advanced visualization capabilities.

Gmsh is built around four modules: geometry, mesh, solver and post-processing. The specification of any input to these modules is done either interactively using the graphical user interface or in ASCII text files using Gmsh's own scripting language. 


Type: Cartesian grids


PARAMESH is a package of Fortran 90 subroutines designed to provide an application developer with an easy route to extend an existing serial code which uses a logically cartesian structured mesh into a parallel code with adaptive mesh refinement(AMR).

Alternatively, in its simplest use, and with minimal effort, it can operate as a domain decomposition tool for users who want to parallelize their serial codes, but who do not wish to use adaptivity.

The package builds a hierarchy of sub-grids to cover the computational domain, with spatial resolution varying to satisfy the demands of the application. These sub-grid blocks form the nodes of a tree data-structure (quad-tree in 2D or oct-tree in 3D). Each grid block has a logically cartesian mesh.

The package supports 1, 2 and 3D models. 


Type: Unstructured, hybrid grids


ENGRID is an open-source mesh generation software with CFD applications in mind. ENGRID uses the NETGEN library for tetrahedral grid generation and  prismatic boundary layer grids. Internally, ENGRID uses the VTK data structures as well as the *.vtu file format. To create grids for OpenFOAM, the Gmsh format can be used. Gmsh is also an excellent open-source tool to create surface triangulations for ENGRID.

=====Grid partitioners=====



MGRIDGEN is a serial library written entirely in ANSI C that implements (serial) algorithms for obtaining a sequence of successive coarse grids that are well-suited for geometric multigrid methods. The quality of the elements of the coarse grids is optimized using a multilevel framework. It is portable on most Unix systems that have an ANSI C compiler.

PARMGRIDGEN is is an MPI-based parallel library that is based on the serial package MGRIDGEN. PARMGRIDGEN extends the functionality provided by MGRIDGEN and it is especially suited for large scale numerical simulations. It is written entirely in ANSI C and MPI and is portable on most parallel computers that support MPI.