# Introduction This folder contains variants of the NuSiF basic solver. The basic solver does not allow obstacles within the domain. All basic solver variants include two test cases for validation: * dcavity - Lid driven cavity * canal - Channel flow # 2D solver variants ## Sequential solver (2D-seq) This is the basic sequential version. Gnuplot result visualization. ## Sequential solver with particle tracing (2D-seq-pt) This version adds particle tracing and streak lines to the sequential basic solver. Gnuplot result visualization. ## Simple MPI parallel solver (2D-mpi-v1) The simplest possible MPI parallelization with domain decomposition in one direction and communication just based on simple send and recv calls. Gnuplot result visualization. ## MPI parallel solver with 2D domain decomposition (2D-mpi-v2) A MPI parallelization with two-dimensional domain decomposition using MPI virtual topologies. Gnuplot result visualization. ## MPI parallel solver using MPI-3 neighborhood collectives (2D-mpi-v3) A MPI parallelization with two-dimensional domain decomposition using neighborhood collective call instead of send and recv calls. Gnuplot result visualization. ## Refactored MPI parallel solver (2D-mpi) The final version of the 2D MPI parallel solver. All MPI calls are contained in a single communication module. The rest of the code does not depend on MPI. This version is prepared to also compile and run without MPI. VTK result visualization. # 3D solver variants ## Sequential solver (3D-seq) This is the basic sequential version. VTK result visualization. ## MPI parallel solver (3D-mpi) A MPI parallel solver with 3D domain decomposition using MPI virtual topologies and neighborhood collectives. All MPI calls are contained in a single communication module. The rest of the code does not depend on MPI. This version is prepared to also compile and run without MPI. VTK result visualization. ## MPI parallel solver with MPI-IO (3D-mpi-io) Identical to the 3D-MPI variant but using MPI-IO for VTK result file output.