ADAM

A physics-agnostic Fortran SDK for adaptive grids, and its solvers, from a laptop to GPU clusters.

Status
active
Licence
MIT / LGPLv3
Source
github.com/szaghi/adam
Documentation
szaghi.github.io/adam/

ADAM (Accelerated fluid Dynamics on Adaptive Mesh refinement grids) is a modern Fortran library for block-structured adaptive grids, with a CPU backend (MPI, OpenMP) and a GPU backend (OpenACC with nvfortran, or OpenMP offloading with amdflang). Solvers are built on it by supplying their equations.

Methods

Block-structured AMR (Morton-ordered octree/quadtree)Immersed boundariesWENO reconstructionRunge-Kutta integrationFLAIL elliptic solversParallel I/O

Parallelism

MPIOpenMPOpenACC (nvfortran)OpenMP offloading (amdflang)