Afivo is a framework for simulations with adaptive mesh refinement (AMR) on quadtree (2D) and octree (3D) grids. The framework comes with a geometric multigrid solver, shared-memory (OpenMP) parallelism and it supports output in Silo and VTK file formats. Afivo can be used to efficiently simulate AMR problems with up to about 108 unknowns on desktops, workstations or single compute nodes. For larger problems, existing distributed-memory frameworks are better suited. The framework has no built-in functionality for specific physics applications, so users have to implement their own numerical methods. The included multigrid solver can be used to efficiently solve elliptic partial differential equations such as Poisson's equation. Afivo's design was kept simple, which in combination with the shared-memory parallelism facilitates modification and experimentation with AMR algorithms. The framework was already used to perform 3D simulations of streamer discharges, which required tens of millions of cells.

Program summary:

Program Title: Afivo

Program Files doi: http://dx.doi.org/10.17632/5y43rjdmxd.1

Licensing provisions: GPLv3

Programming language: Fortran 2011

External routines/libraries: Silo (LLNL)

Nature of problem: Performing multiscale simulations, especially those requiring a fast elliptic solver.

Solution method: Provide a framework for parallel simulations on adaptively refined quadtree/octree grids, including a geometric multigrid solver.

Unusual features: The framework uses shared-memory parallelism (OpenMP) instead of MPI.

Additional Metadata
Keywords AMR, Framework, Multigrid, Octree
Persistent URL dx.doi.org/10.1016/j.cpc.2018.06.018
Journal Computer Physics Communications
Citation
Teunissen, H.J, & Ebert, U. M. (2018). Afivo: A framework for quadtree/octree AMR with shared-memory parallelization and geometric multigrid methods. Computer Physics Communications. doi:10.1016/j.cpc.2018.06.018