Computational Fluid Dynamics (CFD) Simulations are composed
of two main stages which may be coupled: discretization of the flow control
volume using a grid generator and simulating the flow field using a flow
solver. In the current work, the entire process of CFD simulation is covered.
Starting from the initial definition of the geometry, developing a Cartesian
grid generator, and an accompanying flow solver, continuing with parallelizing
the flow solver to enable large scale simulations, and finalizing with dynamic
load balancing to achieve maximum efficiency. Algorithms for Cartesian grid
generation were developed. Among the algorithms, a new inside-out approach
where the grid is generated using the local convex hull (in a grid cell that is
cut by the geometry), followed by the projection of the hull onto the cell
boundaries. A complementing algorithm for local refinement is also implemented.
In addition, an algorithm for immersing a fine grid in a coarse grid, in a
fashion that keeps the Cartesian nature of both grids, is also developed. The
Cartesian grid generator is accompanied by a finite volume Navier-Stokes flow
solver. The flow solver uses the HLLC scheme, an advanced upwind scheme for the
evaluation of the convective fluxes. The flow solver is validated using several
test cases for inviscid and viscous flows, and is compared to experimental
data. The versatility of the whole process is demonstrated by simulating the
flows about a multi-element airfoil and a staggered bi-plane configuration. The
HLLC scheme is inherently imbalanced in the sense that the computational load
is