  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 $10^{8}$ 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.
