NuSiF-Solver/BasicSolver
2024-03-05 23:18:32 +01:00
..
2D-mpi Working 2D-mpi for enhanced solver 2023-10-09 16:56:43 +02:00
2D-mpi-v1 Incomplete 2D-seq multigrid 2024-01-08 22:32:30 +01:00
2D-mpi-v2 Implemented Function pointer for SOR, RB and RBA variants 2023-07-14 21:50:38 +02:00
2D-mpi-v3 Working 2D-mpi for enhanced solver 2023-10-09 16:56:43 +02:00
2D-mpi-v3-multigrid 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
2D-seq 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
2D-seq-multigrid 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
3D-mpi 3D MPI Multigrid port complete and tested 2024-03-05 23:18:32 +01:00
3D-mpi-io 2D-MPI Multigrid complete and tested 2024-03-05 21:45:17 +01:00
3D-mpi-multigrid 3D MPI Multigrid port complete and tested 2024-03-05 23:18:32 +01:00
3D-seq 3D Seq MultiGrid complete 2024-01-27 20:04:54 +01:00
3D-seq-multigrid 3D MPI Multigrid port complete and tested 2024-03-05 23:18:32 +01:00
README.md Cleanup and add MPI-IO starting point 2023-02-05 08:02:01 +01:00

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.