Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
parameters.h
1 //
2 // Created by milinda on 7/25/17.
8 //
9 
10 #ifndef SFCSORTBENCH_PARAMETERS_H
11 #define SFCSORTBENCH_PARAMETERS_H
12 
13 #include <string.h>
14 #include <iostream>
15 
16 
17 
18 
19 namespace nlsm
20 {
21 
23  static const unsigned int NLSM_ELE_ORDER=4;
24 
26  static const unsigned int NLSM_NUM_VARS=2;
27 
28  /***@brief number of RK45 stages*/
29  static const unsigned int NLSM_RK45_STAGES=6;
30 
31  /***@brief number of RK4 stages*/
32  static const unsigned int NLSM_RK4_STAGES=4;
33 
35  static const unsigned int NLSM_RK3_STAGES=3;
36 
38  static const double NLSM_SAFETY_FAC=0.8;
39 
41  static const unsigned int NLSM_NUM_VARS_INTENL=(NLSM_RK45_STAGES+1)*NLSM_NUM_VARS;
42 
44  extern double NLSM_COMPD_MIN[3];
46  extern double NLSM_COMPD_MAX[3];
47 
49  extern double NLSM_CFL_FACTOR;
50 
51 
53  extern double NLSM_OCTREE_MIN[3];
55  extern double NLSM_OCTREE_MAX[3];
56 
58  extern unsigned int NLSM_IO_OUTPUT_FREQ;
59 
61  extern unsigned int NLSM_TIME_STEP_OUTPUT_FREQ;
62 
64  extern unsigned int NLSM_REMESH_TEST_FREQ;
65 
67  extern unsigned int NLSM_CHECKPT_FREQ;
68 
70  extern unsigned int NLSM_RESTORE_SOLVER;
71 
73  extern unsigned int NLSM_ENABLE_BLOCK_ADAPTIVITY;
74 
76  extern std::string NLSM_VTU_FILE_PREFIX;
77 
79  extern std::string NLSM_CHKPT_FILE_PREFIX;
80 
82  extern std::string NLSM_PROFILE_FILE_PREFIX;
83 
85  extern unsigned int NLSM_NUM_REFINE_VARS;
86 
88  extern unsigned int NLSM_REFINE_VARIABLE_INDICES[NLSM_NUM_VARS];
89 
91  extern unsigned int NLSM_NUM_EVOL_VARS_VTU_OUTPUT;
92 
94  extern unsigned int NLSM_VTU_OUTPUT_EVOL_INDICES[NLSM_NUM_VARS];
95 
97  extern double NLSM_IO_OUTPUT_GAP;
98 
100  extern unsigned int NLSM_DENDRO_GRAIN_SZ;
101 
103  extern double NLSM_DENDRO_AMR_FAC;
104 
106  extern double NLSM_WAVELET_TOL;
108  extern double NLSM_LOAD_IMB_TOL;
110  extern unsigned int NLSM_SPLIT_FIX;
111 
113  extern unsigned int NLSM_ASYNC_COMM_K;
114 
115 
117  extern double NLSM_RK45_TIME_BEGIN;
119  extern double NLSM_RK45_TIME_END;
121  extern double NLSM_RK45_TIME_STEP_SIZE;
122 
124  extern double NLSM_RK45_DESIRED_TOL;
125 
127  extern unsigned int NLSM_ID_TYPE;
128 
130  extern double NLSM_GRID_MIN_X;
131 
133  extern double NLSM_GRID_MAX_X;
134 
136  extern double NLSM_GRID_MIN_Y;
137 
139  extern double NLSM_GRID_MAX_Y;
140 
142  extern double NLSM_GRID_MIN_Z;
143 
145  extern double NLSM_GRID_MAX_Z;
146 
148  extern double NLSM_BLK_MIN_X;
149 
151  extern double NLSM_BLK_MIN_Y;
152 
154  extern double NLSM_BLK_MIN_Z;
155 
157  extern double NLSM_BLK_MAX_X;
158 
160  extern double NLSM_BLK_MAX_Y;
161 
163  extern double NLSM_BLK_MAX_Z;
164 
166  extern unsigned int NLSM_DIM;
167 
169  extern unsigned int NLSM_MAXDEPTH;
170 
172  extern double KO_DISS_SIGMA;
173 
175  extern double KO_DISS_SIGMA;
176 
177 
178 
180  extern double NLSM_ID_AMP1;
181 
183  extern double NLSM_ID_AMP2;
184 
186  extern double NLSM_ID_DELTA1;
187 
189  extern double NLSM_ID_DELTA2;
190 
192  extern double NLSM_ID_XC1;
193  extern double NLSM_ID_YC1;
194  extern double NLSM_ID_ZC1;
195 
197  extern double NLSM_ID_XC2;
198  extern double NLSM_ID_YC2;
199  extern double NLSM_ID_ZC2;
200 
202  extern double NLSM_ID_EPSX1;
203 
205  extern double NLSM_ID_EPSY1;
206 
208  extern double NLSM_ID_EPSX2;
209 
211  extern double NLSM_ID_EPSY2;
212 
214  extern double NLSM_ID_R1;
215 
217  extern double NLSM_ID_R2;
218 
220  extern double NLSM_ID_NU1;
221 
223  extern double NLSM_ID_NU2;
224 
226  extern double NLSM_ID_OMEGA;
227 
228 }
229 
230 #endif //SFCSORTBENCH_PARAMETERS_H
double NLSM_CFL_FACTOR
CFL stability number number (specifies how dt=NLSM_CFL_FACTOR*dx)
Definition: parameters.cpp:43
std::string NLSM_PROFILE_FILE_PREFIX
file prefix to write profile info.
Definition: parameters.cpp:36
double NLSM_ID_DELTA1
: Initial data Gaussian width
Definition: parameters.cpp:84
double NLSM_ID_NU2
: Initial data Gaussian nu
Definition: parameters.cpp:99
double NLSM_RK45_TIME_STEP_SIZE
rk time step size.
Definition: parameters.cpp:67
double NLSM_IO_OUTPUT_GAP
solution output gap (instead of freq. we can use to output the solution if currentTime > lastIOOutput...
Definition: parameters.cpp:17
unsigned int NLSM_ASYNC_COMM_K
: async. communication at a time. (upper bound shoud be NLSM_NUM_VARS)
Definition: parameters.cpp:23
double NLSM_BLK_MIN_Y
physical coordinates for the blk adaptive x_min
Definition: parameters.cpp:53
unsigned int NLSM_TIME_STEP_OUTPUT_FREQ
timestep norms out put freq.
Definition: parameters.cpp:15
std::string NLSM_VTU_FILE_PREFIX
file prefix for VTU
Definition: parameters.cpp:34
double NLSM_RK45_DESIRED_TOL
Definition: parameters.cpp:27
unsigned int NLSM_VTU_OUTPUT_EVOL_INDICES[NLSM_NUM_VARS]
evolution variable IDs written to vtu files
Definition: parameters.cpp:80
std::string NLSM_CHKPT_FILE_PREFIX
file prefix for write check point
Definition: parameters.cpp:35
unsigned int NLSM_DENDRO_GRAIN_SZ
prefered grain sz to use when selecting active npes
Definition: parameters.cpp:72
unsigned int NLSM_REMESH_TEST_FREQ
remesh test frequency
Definition: parameters.cpp:16
double NLSM_GRID_MAX_X
physical coordinates for grid, x_max
Definition: parameters.cpp:46
unsigned int NLSM_RESTORE_SOLVER
restore the solver from check point if set to 1.
Definition: parameters.cpp:31
double NLSM_ID_EPSY1
: Initial data Gaussian elliptic y factor
Definition: parameters.cpp:93
double NLSM_ID_OMEGA
: Initial data Gaussian Omega
Definition: parameters.cpp:100
This file contains all the parameters related to NLSM simulation.
Definition: nlsm.py:1
unsigned int NLSM_NUM_EVOL_VARS_VTU_OUTPUT
number of evolution variables written to vtu files
Definition: parameters.cpp:79
double NLSM_ID_AMP2
: Initial data Gaussian amplitude
Definition: parameters.cpp:83
double NLSM_GRID_MAX_Y
physical coordinates for grid, y_max
Definition: parameters.cpp:48
unsigned int NLSM_DIM
: dimension of the grid
Definition: parameters.cpp:39
double NLSM_WAVELET_TOL
wavelet tolerance value.
Definition: parameters.cpp:19
double NLSM_ID_R1
: Initial data Gaussian R
Definition: parameters.cpp:96
double NLSM_RK45_TIME_END
simulation end time
Definition: parameters.cpp:25
unsigned int NLSM_ENABLE_BLOCK_ADAPTIVITY
use the block adaptivity and disable the AMR
Definition: parameters.cpp:32
double NLSM_ID_R2
: Initial data Gaussian R
Definition: parameters.cpp:97
double NLSM_BLK_MAX_Y
physical coordinates for the blk adaptive x_min
Definition: parameters.cpp:57
double NLSM_GRID_MIN_Y
physical coordinates for grid, y_min
Definition: parameters.cpp:47
double NLSM_ID_AMP1
: Initial data Gaussian amplitude
Definition: parameters.cpp:82
double NLSM_BLK_MIN_X
physical coordinates for the blk adaptive x_min
Definition: parameters.cpp:52
double NLSM_ID_DELTA2
: Initial data Gaussian width
Definition: parameters.cpp:85
unsigned int NLSM_SPLIT_FIX
: Splitter fix value
Definition: parameters.cpp:22
double NLSM_OCTREE_MAX[3]
max coords of the OCTREE
Definition: parameters.cpp:64
double NLSM_GRID_MIN_Z
physical coordinates for grid, z_min
Definition: parameters.cpp:49
double NLSM_ID_EPSX1
: Initial data Gaussian elliptic x factor
Definition: parameters.cpp:92
unsigned int NLSM_MAXDEPTH
: max refinement level
Definition: parameters.cpp:40
double KO_DISS_SIGMA
: Kreiss-Oliger dissipation
Definition: parameters.h:175
unsigned int NLSM_REFINE_VARIABLE_INDICES[NLSM_NUM_VARS]
indices of refine var ids
Definition: parameters.cpp:77
unsigned int NLSM_CHECKPT_FREQ
checkpoint store frequency
Definition: parameters.cpp:30
unsigned int NLSM_NUM_REFINE_VARS
number of refine variables
Definition: parameters.cpp:76
unsigned int NLSM_ID_TYPE
BBH initial data type.
Definition: parameters.cpp:42
double NLSM_DENDRO_AMR_FAC
AMR coarsening factor (we coarsen if tol<NLSM_DENDRO_AMR_FAC*NLSM_WAVELET_TOL)
Definition: parameters.cpp:74
double NLSM_GRID_MAX_Z
physical coordinates for grid, z_max
Definition: parameters.cpp:50
double NLSM_ID_EPSX2
: Initial data Gaussian elliptic x factor
Definition: parameters.cpp:94
double NLSM_RK45_TIME_BEGIN
simulation begin time.
Definition: parameters.cpp:24
unsigned int NLSM_IO_OUTPUT_FREQ
solution output frequency
Definition: parameters.cpp:14
double NLSM_LOAD_IMB_TOL
load-imbalance tolerance value.
Definition: parameters.cpp:21
double NLSM_ID_NU1
: Initial data Gaussian nu
Definition: parameters.cpp:98
double NLSM_BLK_MAX_Z
physical coordinates for the blk adaptive x_min
Definition: parameters.cpp:58
double NLSM_BLK_MIN_Z
physical coordinates for the blk adaptive x_min
Definition: parameters.cpp:54
double NLSM_BLK_MAX_X
physical coordinates for the blk adaptive x_min
Definition: parameters.cpp:56
double NLSM_GRID_MIN_X
physical coordinates for grid, x_min
Definition: parameters.cpp:45
double NLSM_OCTREE_MIN[3]
min coords of the OCTREE
Definition: parameters.cpp:63
double NLSM_ID_XC2
: Initial data Gaussian x offset
Definition: parameters.cpp:89
double NLSM_ID_EPSY2
: Initial data Gaussian elliptic y factor
Definition: parameters.cpp:95
double NLSM_ID_XC1
: Initial data Gaussian x offset
Definition: parameters.cpp:86
double NLSM_COMPD_MIN[3]
min bh domain add these to the parameter file.
Definition: parameters.cpp:60
double NLSM_COMPD_MAX[3]
min bh domain
Definition: parameters.cpp:61