Provide periodic boundary conditions.
This thorn provides periodic boundary conditions that are independent of PUGH, i.e. they work with both PUGH and Carpet. They use the new boundary condition scheme, so that no changes to existing code and only small changes to existing parameter files are necessary. Currently, thorn Periodic works in single patch mode only.
Make sure that the other symmetry thorns (e.g. CartGrid3D) do not provide symmetry boundary conditions for the same boundaries as Periodic. Then activate thorn Periodic and thorn Slab. Set the parameters Periodic::periodic* according to your wishes.
This thorn (and thorn Slab) are available in the TAT arrangement.
The following lines come from a WaveToy simulation with Carpet:
driver::global_nx = 19 driver::global_ny = 26 driver::global_nz = 34 driver::ghost_size = 2 grid::type = byrange grid::xmin = -5.4 grid::ymin = -7.2 grid::zmin = -9.6 grid::xmax = 5.4 grid::ymax = 7.8 grid::zmax = 10.2 grid::domain = full periodic::periodic = yes
check_boundaries | Scope: private | BOOLEAN |
Description: Check the boundaries for poison
| ||
Default: no | ||
periodic | Scope: private | BOOLEAN |
Description: Periodic boundary conditions
| ||
Default: no | ||
periodic_x | Scope: private | BOOLEAN |
Description: Periodic boundary conditions in x-direction
| ||
Default: no | ||
periodic_y | Scope: private | BOOLEAN |
Description: Periodic boundary conditions in y-direction
| ||
Default: no | ||
periodic_z | Scope: private | BOOLEAN |
Description: Periodic boundary conditions in z-direction
| ||
Default: no | ||
poison_boundaries | Scope: private | BOOLEAN |
Description: Fill the symmetry boundary with a poison value before the symmetry is applied
| ||
Default: no | ||
poison_value | Scope: private | INT |
Description: Integer value (0..255) used to poison new timelevels (with memset)
| ||
Range | Default: 254 | |
0:255 | Must fit into a byte. Use 0 for zero, 255 for nan, and e.g. 113 for a large value.
| |
verbose | Scope: private | BOOLEAN |
Description: Produce screen output while applying boundary conditions
| ||
Default: no | ||
Implements:
periodic
Uses header:
Slab.h
Provides:
Periodic_ApplyVI to
Periodic_ApplyVN to
Periodic_ApplyGI to
Periodic_ApplyGN to
This section lists all the variables which are assigned storage by thorn CactusNumerical/Periodic. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.
NONE
SymmetryRegister
periodic_registerbc
register periodic boundary conditions
Language: | c | |
Type: | function | |
BoundaryConditions
periodic_applybc
apply periodic boundary conditions
Language: | c | |
Type: | function | |