Update 3.1 Code basics authored by Udo Ziegler's avatar Udo Ziegler
...@@ -94,7 +94,7 @@ clusters based on the Message Passing Interface (MPI). The underlying ...@@ -94,7 +94,7 @@ clusters based on the Message Passing Interface (MPI). The underlying
concepts of parallelism and load balancing are described in some more concepts of parallelism and load balancing are described in some more
detail . detail .
#### Adaptive mesh refinement #### Adaptive mesh simulations
NIRVANA features the possibility of multi-scale simulations by applying NIRVANA features the possibility of multi-scale simulations by applying
the technique of Adaptive Mesh Refinement (AMR). AMR works in all the technique of Adaptive Mesh Refinement (AMR). AMR works in all
...@@ -388,7 +388,7 @@ cell-centered. ...@@ -388,7 +388,7 @@ cell-centered.
| location | `g->` | definition: cylindrical | definition: spherical | | location | `g->` | definition: cylindrical | definition: spherical |
|:------------------------------|:-------------|:--------------------------------------------------------------------------------|:--------------------------------------------------------------------------------| |:------------------------------|:-------------|:--------------------------------------------------------------------------------|:--------------------------------------------------------------------------------|
| cell-centroid x | `xc[ix]` | *z*<sub>`ix`+ 1/2</sub> | 3*Δ* <sub>`ix`</sub>*r*<sup>4</sup>/(4*Δ*<sub>`ix`</sub>*r*<sup>3</sup>) | | cell-centroid x | `xc[ix]` | *z*<sub>`ix`+1/2</sub> | 3*Δ*<sub>`ix`</sub>*r*<sup>4</sup>/(4*Δ*<sub>`ix`</sub>*r*<sup>3</sup>) |
| cell-centroid y | `yc[iy]` | 2*Δ*<sub>`iy`</sub>*R*<sup>3</sup>/(3*Δ*<sub>`iy`</sub>*R*<sup>2</sup>) | *Δ*<sub>`iy`</sub>(*θ*cos *θ* − sin *θ*)/*Δ*<sub>`iy`</sub>cos *θ* | | cell-centroid y | `yc[iy]` | 2*Δ*<sub>`iy`</sub>*R*<sup>3</sup>/(3*Δ*<sub>`iy`</sub>*R*<sup>2</sup>) | *Δ*<sub>`iy`</sub>(*θ*cos *θ* − sin *θ*)/*Δ*<sub>`iy`</sub>cos *θ* |
| *xy*/*xz*-face-centroid x | `xf[ix]` | *z*<sub>`ix`+1/2</sub> | 2*Δ*<sub>`ix`</sub>*r*<sup>3</sup>/(3*Δ*<sub>`ix`</sub>*r*<sup>2</sup>) | | *xy*/*xz*-face-centroid x | `xf[ix]` | *z*<sub>`ix`+1/2</sub> | 2*Δ*<sub>`ix`</sub>*r*<sup>3</sup>/(3*Δ*<sub>`ix`</sub>*r*<sup>2</sup>) |
| *yx*-face-centroid y | (≡) `yc[iy]` | 2*Δ*<sub>`iy`</sub>*R*<sup>3</sup>/(3*Δ*<sub>`iy`</sub>*R*<sup>2</sup>) | *Δ*<sub>`iy`</sub>(*θ*cos *θ* − sin *θ*)/*Δ*<sub>`iy`</sub>cos *θ* | | *yx*-face-centroid y | (≡) `yc[iy]` | 2*Δ*<sub>`iy`</sub>*R*<sup>3</sup>/(3*Δ*<sub>`iy`</sub>*R*<sup>2</sup>) | *Δ*<sub>`iy`</sub>(*θ*cos *θ* − sin *θ*)/*Δ*<sub>`iy`</sub>cos *θ* |
...@@ -399,7 +399,7 @@ are identical to their cell/face-centered coordinates.* ...@@ -399,7 +399,7 @@ are identical to their cell/face-centered coordinates.*
*Note 6: In Cartesian geometry all cell/face-centroid coordinates are *Note 6: In Cartesian geometry all cell/face-centroid coordinates are
identical to their cell/face-centered counterparts.* identical to their cell/face-centered counterparts.*
### Adaptive mesh refinement ## Adaptive mesh refinement
The mesh refinement algorithm relies on the oct-tree data structure The mesh refinement algorithm relies on the oct-tree data structure
`_G0` (of type `*GRD`) which represents a hierarchy of nested generic `_G0` (of type `*GRD`) which represents a hierarchy of nested generic
...@@ -487,7 +487,7 @@ criteria which are ...@@ -487,7 +487,7 @@ criteria which are
user-specific threshold with the reciprocal value giving the minimum user-specific threshold with the reciprocal value giving the minimum
number of grid cells the Field length should be resolved. number of grid cells the Field length should be resolved.
### Parallelism and load balancing ## Parallelism and load balancing
The NIRVANA code is parallelized making use of the MPI library. The code The NIRVANA code is parallelized making use of the MPI library. The code
infrastructure provides routines for mesh partitioning in order to infrastructure provides routines for mesh partitioning in order to
... ...
......