Commit 3f30a03c authored by Jannis Teunissen's avatar Jannis Teunissen

Update documentation (add 1D, clean up)

parent ba2231f9
# Afivo
Afivo (which stands for *Adaptive Finite Volume Octree*) is a framework for
parallel simulations on adaptively refined quadtree and octree grids.
parallel simulations on adaptively refined quadtree/octree grids in 1D, 2D and
3D.
Documentation is available at [teunissen.net/afivo](http://teunissen.net/afivo).
@article{Malag_n_Romero_2020,
title = {On the Emergence Mechanism of Carrot Sprites},
volume = {47},
ISSN = {1944-8007},
url = {http://dx.doi.org/10.1029/2019GL085776},
DOI = {10.1029/2019gl085776},
number = {1},
journal = {Geophysical Research Letters},
publisher = {American Geophysical Union (AGU)},
author = {Malagón‐Romero, A. and Teunissen, J. and Stenbaek‐Nielsen, H.
C. and McHarg, M. G. and Ebert, U. and Luque, A.},
year = {2020},
month = {Jan}
}
@article{Bagheri_2019,
title = {The effect of the stochasticity of photoionization on 3D
streamer simulations},
volume = {28},
ISSN = {1361-6595},
url = {http://dx.doi.org/10.1088/1361-6595/ab1331},
DOI = {10.1088/1361-6595/ab1331},
number = {4},
journal = {Plasma Sources Science and Technology},
publisher = {IOP Publishing},
author = {Bagheri, B and Teunissen, J},
year = {2019},
month = {Apr},
pages = {045013}
}
@article{Bagheri_2018,
title = {Comparison of six simulation codes for positive streamers in
air},
volume = {27},
ISSN = {1361-6595},
url = {http://dx.doi.org/10.1088/1361-6595/aad768},
DOI = {10.1088/1361-6595/aad768},
number = {9},
journal = {Plasma Sources Science and Technology},
publisher = {IOP Publishing},
author = {Bagheri, B and Teunissen, J and Ebert, U and Becker, M M and
Chen, S and Ducasse, O and Eichwald, O and Loffhagen, D and
Luque, A and Mihailova, D and et al.},
@article{afivo_paper,
title = {Afivo: A framework for quadtree/octree AMR with shared-memory
parallelization and geometric multigrid methods},
volume = {233},
ISSN = {0010-4655},
url = {http://dx.doi.org/10.1016/j.cpc.2018.06.018},
DOI = {10.1016/j.cpc.2018.06.018},
journal = {Computer Physics Communications},
publisher = {Elsevier BV},
author = {Teunissen, Jannis and Ebert, Ute},
year = {2018},
month = {Sep},
pages = {095002}
month = {Dec},
pages = {156–166}
}
@article{afivo_streamer_paper,
......@@ -63,21 +29,6 @@
pages = {474001}
}
@article{afivo_paper,
title = {Afivo: A framework for quadtree/octree AMR with shared-memory
parallelization and geometric multigrid methods},
volume = {233},
ISSN = {0010-4655},
url = {http://dx.doi.org/10.1016/j.cpc.2018.06.018},
DOI = {10.1016/j.cpc.2018.06.018},
journal = {Computer Physics Communications},
publisher = {Elsevier BV},
author = {Teunissen, Jannis and Ebert, Ute},
year = {2018},
month = {Dec},
pages = {156–166}
}
@article{Nijdam_Teunissen_2016,
title = {The role of free electrons in the guiding of positive
streamers},
......@@ -128,3 +79,86 @@
year = {2000},
publisher = {Elsevier Science}
}
@article{Li_2020b,
title = {A computational study of negative surface discharges:
Characteristics of surface streamers and surface charges},
volume = {27},
ISSN = {1558-4135},
url = {http://dx.doi.org/10.1109/TDEI.2020.008880},
DOI = {10.1109/tdei.2020.008880},
number = {4},
journal = {IEEE Transactions on Dielectrics and Electrical Insulation},
publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
author = {Li, Xiaoran and Sun, Anbang and Teunissen, Jannis},
year = {2020},
month = {Aug},
pages = {1178–1186}
}
@article{Li_2020,
title = {A computational study of positive streamers interacting with
dielectrics},
volume = {29},
ISSN = {1361-6595},
url = {http://dx.doi.org/10.1088/1361-6595/ab8f75},
DOI = {10.1088/1361-6595/ab8f75},
number = {6},
journal = {Plasma Sources Science and Technology},
publisher = {IOP Publishing},
author = {Li, Xiaoran and Sun, Anbang and Zhang, Guanjun and Teunissen,
Jannis},
year = {2020},
month = {Jun},
pages = {065004}
}
@article{Malag_n_Romero_2020,
title = {On the Emergence Mechanism of Carrot Sprites},
volume = {47},
ISSN = {1944-8007},
url = {http://dx.doi.org/10.1029/2019GL085776},
DOI = {10.1029/2019gl085776},
number = {1},
journal = {Geophysical Research Letters},
publisher = {American Geophysical Union (AGU)},
author = {Malagón‐Romero, A. and Teunissen, J. and Stenbaek‐Nielsen, H.
C. and McHarg, M. G. and Ebert, U. and Luque, A.},
year = {2020},
month = {Jan}
}
@article{Bagheri_2019,
title = {The effect of the stochasticity of photoionization on 3D
streamer simulations},
volume = {28},
ISSN = {1361-6595},
url = {http://dx.doi.org/10.1088/1361-6595/ab1331},
DOI = {10.1088/1361-6595/ab1331},
number = {4},
journal = {Plasma Sources Science and Technology},
publisher = {IOP Publishing},
author = {Bagheri, B and Teunissen, J},
year = {2019},
month = {Apr},
pages = {045013}
}
@article{Bagheri_2018,
title = {Comparison of six simulation codes for positive streamers in
air},
volume = {27},
ISSN = {1361-6595},
url = {http://dx.doi.org/10.1088/1361-6595/aad768},
DOI = {10.1088/1361-6595/aad768},
number = {9},
journal = {Plasma Sources Science and Technology},
publisher = {IOP Publishing},
author = {Bagheri, B and Teunissen, J and Ebert, U and Becker, M M and
Chen, S and Ducasse, O and Eichwald, O and Loffhagen, D and
Luque, A and Mihailova, D and et al.},
year = {2018},
month = {Sep},
pages = {095002}
}
# Introduction to Afivo
[TOC]
# What is Afivo? {#what-is-afivo}
Afivo is a framework for simulations on adaptively
refined [quadtree and octree](@ref documentation/quadtree_octree.md) grids.
Because Afivo has no built-in support for specific physics applications a user
has to write his/her own numerical methods. Some key features/characteristics of
the framework are:
* Adaptively refined quadtree and octree grids
* OpenMP parallelization
* Geometric multigrid routines
* Flexible handling of refinement and physical boundaries
* Written in modern Fortran
* Fully open source
* Application-independent
* Silo and VTK unstructured output
The motivation for developing Afivo is discussed in \cite afivo_paper. In
summary, the main reason was to provide a relatively simple framework that can
easily be modified.
# For which problems can Afivo be used? {#which-problems}
Afivo can be used to simulate physical systems exhibiting *multiscale* features,
e.g. features that appear at different spatial and temporal scales. Numerical
simulations of such systems benefit from Afivo's adaptive mesh refinement (AMR),
especially if a high-resolution mesh is only required in a small fraction of the
total volume.
# What is included? {#included-functionality}
Afivo provides general functionality for parallel simulations with adaptive mesh
refinement:
* It can adjust the refinement according to user-supplied information
* It stores cell-centered and face-centered variables
* It provides routines to perform restriction and prolongation (to convert fine
grid values to coarse ones and vice versa)
* It can fill so-called *ghost cells*, which allow the user to perform
computations as on a uniform grid
* It can (help) solve elliptic partial differential equations with the built-in
multigrid methods
* It can write output in Silo and VTK format, which can directly be visualized
with tools such
as [Visit](https://wci.llnl.gov/simulation/computer-codes/visit/)
See the **Modules** page for all included modules.
......@@ -2,7 +2,6 @@
# General information
* [Introduction to Afivo](documentation/afivo_introduction.md)
* [Quadtree and octree grids](documentation/quadtree_octree.md)
* [Important data structures](documentation/data_structures.md)
* [Source code structure](documentation/source_code.md)
......
......@@ -2,8 +2,9 @@
# Introduction
In Afivo so-called [quadtree](https://en.wikipedia.org/wiki/Quadtree) (2D)
or [octree](https://en.wikipedia.org/wiki/Octree) (3D) grids are used.
In Afivo so-called [quadtree](https://en.wikipedia.org/wiki/Quadtree) (2D) or
[octree](https://en.wikipedia.org/wiki/Octree) (3D) grids are used, as well as
their 1D equivalent.
# Quadtree grids
......@@ -20,17 +21,15 @@ illustrated above. In Afivo so-called *proper nesting* or *2:1 balance* is
ensured, which means that neighboring boxes differ by at most one refinement
level.
# Octree grids
# Octree and 1D grids
Octrees are the 3D equivalent of quadtrees. When a box is refined, it is covered
by eight children instead of four in 2D. Some of the other differences are
summarized in the table below.
by eight children instead of four in 2D. The 1D equivalent of such trees is also
supported in Afivo. Properties of such trees are summarized in the table below.
Property | Quadtree | Octree
Property | 1D tree | Quadtree | Octree
---|---|---
Children of a box | 4 | 8
Number of corners | 4 | 8
Number of faces | 0 | 6
Number of edges | 4 | 12
Children of a box | 2 | 4 | 8
Number of corners | 0 | 4 | 8
Number of faces | 2 | 4 | 6
Number of edges | 0 | 0 | 12
# Afivo
# Introduction to Afivo
This is the documentation for **Afivo**, which is a framework for simulations on
adaptively
refined [quadtree and octree grids](@ref documentation/quadtree_octree.md).
Have a look at the @ref doc-contents to get started with Afivo.
[TOC]
![Snapshot of a simulation performed with Afivo](branch_view.png)
**Papers in which this code has been used**
# What is Afivo? {#what-is-afivo}
Afivo is a framework for simulations on adaptively
refined [quadtree and octree](@ref documentation/quadtree_octree.md) grids.
Because Afivo has no built-in support for specific physics applications a user
has to write his/her own numerical methods. Some key features/characteristics of
the framework are:
* Adaptively refined quadtree and octree grids
* OpenMP parallelization
* Geometric multigrid routines
* Flexible handling of refinement and physical boundaries
* Written in modern Fortran
* Fully open source
* Application-independent
* Silo and VTK unstructured output
The motivation for developing Afivo is discussed in \cite afivo_paper. In
summary, the main reason was to provide a relatively simple framework that can
easily be modified.
# For which problems can Afivo be used? {#which-problems}
Afivo can be used to simulate physical systems exhibiting *multiscale* features,
e.g. features that appear at different spatial and temporal scales. Numerical
simulations of such systems benefit from Afivo's adaptive mesh refinement (AMR),
especially if a high-resolution mesh is only required in a small fraction of the
total volume.
# What is included? {#included-functionality}
Afivo provides general functionality for parallel simulations with adaptive mesh
refinement:
* It can adjust the refinement according to user-supplied information
* It stores cell-centered and face-centered variables
* It provides routines to perform restriction and prolongation (to convert fine
grid values to coarse ones and vice versa)
* It can fill so-called *ghost cells*, which allow the user to perform
computations as on a uniform grid
* It can (help) solve elliptic partial differential equations with the built-in
multigrid methods
* It can write output in Silo and VTK format, which can directly be visualized
with tools such
as [Visit](https://wci.llnl.gov/simulation/computer-codes/visit/)
See the <a href="namespaces.html">Modules</a> page for all included modules.
Have a look at the @ref doc-contents to get started with Afivo.
# Relevant publications {#publications}
* \cite afivo_paper Paper describing Afivo
* \cite Nijdam_Teunissen_2016 Paper in which Afivo was first used
* \cite afivo_streamer_paper Paper describing a streamer simulation code based on Afivo
* \cite Bagheri_2019 \cite Bagheri_2018 \cite Malag_n_Romero_2020
* \cite Nijdam_Teunissen_2016 Paper in which Afivo was first used
* Papers in which Afivo was used: \cite Bagheri_2019 \cite Bagheri_2018 \cite Malag_n_Romero_2020 \cite Li_2020 \cite Li_2020b
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment