This contains two programs which share a number of functions. The first is a parallel mesh partitioner for Gmsh meshes and the second is an parallel incompressible flow solver. The flow solver is slow due to the poor usage of the pARMS library in the code, but could be readily improved, given the time. Gmsh 2.5.0 or greater is required for properly viewing the partitioned meshes and fields.
The pre-processor partitions both boundary and domain elements so that PDEs can be solved over both regions. Also elements and vertices are re-indexed such that the indices are continuous on the boundary then on the domain.
The flow through a duct, below, shows the pressure field in two of four partitions.
A serial incompressible flow solver including the Spalart-Allmaras turbulence model. This code has been used for testing shape optimization algorithms. If the reverse mode sensitivity code is generated, using TAPENADE v3.6, the objective functions (pressure loss, etc) can be computed w.r.t. the mesh vertex co-ordinates.
An incompressible two-phase isothermal flow and spray solver, implementing the spray by transporting moments of the underlying droplet size distribution. Collisions, break-up and interphase drag are accounted for. The underlying droplet size distribution is reconstructed using the Gamma distribution, though others are available (maximum entropy, cubic splines). The Ph.D Thesis details the algorithms implemented.