The most fundamental consideration in CFD is how one treats a continuous fluid in a discretized fashion on a computer. One method is to discretize the spatial domain into small cells to form a volume mesh or grid, and then apply a suitable algorithm to solve the equations of motion (Euler equations for inviscid, and Navier-Stokes equations for viscid flow). In addition, such a mesh can be either irregular (for instance consisting of triangles in 2D, or pyramidal solids in 3D) or regular; the distinguishing characteristic of the former is that each cell must be stored separately in memory. Lastly, if the problem is highly dynamic and occupies a wide range of scales, the grid itself can be dynamically modified in time, as in adaptive mesh refinement methods.
If one chooses not to proceed with a mesh-based method, a number of alternatives exist, notably :
* smoothed particle hydrodynamics, a Lagrangian method of solving fluid problems,
* Spectral methods, a technique where the equations are projected onto basis functions like the spherical harmonics and Chebyshev polynomials
* Lattice Boltzmann methods, which simulate an equivalent mesoscopic system on a Cartesian grid, instead of solving the macroscopic system (or the real microscopic physics).
In all of these approaches the same basic procedure is followed.
1. The geometry (physical bounds) of the problem is defined.
2. The volume occupied by the fluid is divided into discrete cells (the mesh).
3. The physical modelling is defined - for example, the equations of motions + enthalpy + species conservation
4. Boundary conditions are defined. This involves specifying the fluid behaviour and properties at the boundaries of the problem. For transient problems, the initial conditions are also defined.
5. The equations are solved iteratively as a steady-state or transient.
6. Analysis and visualization of the resulting solution.