OSHUN  beta
Arbitrary Order Spherical-Harmonic 1D-3P Vlasov-Fokker-Planck-Maxwell code
input.h
Go to the documentation of this file.
1 
11 #ifndef DECL_IMPORT_H
12 #define DECL_IMPORT_H
13 
14 
15 
16 //**************************************************************
17 //--------------------------------------------------------------
18 namespace Input{
19 //**************************************************************
20 //--------------------------------------------------------------
21  class Input_List {
22  public:
23  Input_List();
24 
25 //--------------------------------------------------------------
26 // declaration of input list variables (input deck)
27 //--------------------------------------------------------------
29 
30  size_t NnodesX;
31 
32  size_t numsp;
33 
34  size_t l0, m0, nump, Nx;
35  double xmin, xmax;
36 
37 
38  std::vector< double > pmax;
39  double clf_dp;
40 
41 
42 // Algorithms
44  bool implicit_E;
45  bool implicit_B;
46  bool collisions;
49 
51  int bndX;
53  double t_stop;
55 
56 // Output
57  bool o_EHist;
61  bool o_Vsq, o_Qx, o_Qy, o_Qz;
62  bool o_vNx, o_vNy, o_vNz;
63  bool o_Jx, o_Jy, o_Jz;
66  bool o_Ux, o_Uy, o_Uz, o_Z, o_ni, o_Ti;
68  size_t numpx, nump1, nump2, nump3;
69 
70 // Electron-ion collisions
72 
73 // Electron-electron collisions
74  size_t RB_D_itmax;
76  double small_dt;
77  double smaller_dt;
79 
80 
81 // Hydro parameters
84 
86 
88 
89  bool MX_cooling;
90 
92 
93 
94 
95 
96  double pth_ref;
97 
98 // ----------------------------------------------------------------------
99 // ----------------------------------------------------------------------
101 
102  std::vector<std::string> dens_profile_str;
103  std::vector<std::string> temp_profile_str;
104  std::vector<std::string> f10x_profile_str;
105  std::vector<std::string> f20x_profile_str;
106  std::vector<std::string> f_pedestal;
107 
111  std::string hydro_Z_profile_str;
112 
113 
114 // ----------------------------------------------------------------------
116 //
120  double I_0, lambda_0;
121 
124  std::string ex_time_profile_str;
125  std::string ey_time_profile_str;
126  std::string ez_time_profile_str;
127  std::string bx_time_profile_str;
128  std::string by_time_profile_str;
129  std::string bz_time_profile_str;
130 
131  std::string ex_profile_str;
132  std::string ey_profile_str;
133  std::string ez_profile_str;
134  std::string bx_profile_str;
135  std::string by_profile_str;
136  std::string bz_profile_str;
137 
138  std::vector< std::string > ex_wave_profile_str;
139  std::vector< std::string > ey_wave_profile_str;
140  std::vector< std::string > ez_wave_profile_str;
141  std::vector< std::string > bx_wave_profile_str;
142  std::vector< std::string > by_wave_profile_str;
143  std::vector< std::string > bz_wave_profile_str;
144  std::vector< std::string > wave_time_envelope_str;
145  std::vector< double > trav_wave_rise;
146  std::vector< double > trav_wave_flat;
147  std::vector< double > trav_wave_fall;
148  std::vector< double > trav_wave_center;
149 
150 // ----------------------------------------------------------------------
151 // ----------------------------------------------------------------------
152 
153  std::vector< std::string > oTags;
154  std::vector<double> qs;
155  std::vector<double> mass;
156  std::vector<size_t> ls;
157  std::vector<size_t> ms;
158  std::vector<size_t> ps;
159  std::vector<double> pth;
160 
161  std::vector<size_t> Npx;
162  std::vector<size_t> Npy;
163  std::vector<size_t> Npz;
164 
165 
166  std::vector<size_t> NxGlobal;
167  std::vector<size_t> NxLocalnobnd;
168  std::vector<size_t> NxLocal;
169 
170  std::vector<double> xminGlobal;
171  std::vector<double> xmaxGlobal;
172  std::vector<double> xminLocal;
173  std::vector<double> xmaxLocal;
174  std::vector<double> globdx;
175 
176  };
177 
178 //--------------------------------------------------------------
179  Input_List& List();
180 
181 }
182 //--------------------------------------------------------------
183 //**************************************************************
184 
185 #endif
std::string intensity_profile_str
Definition: input.h:122
double clf_dp
Definition: input.h:39
std::vector< size_t > Npx
Definition: input.h:161
std::vector< double > xmaxLocal
Definition: input.h:173
std::vector< std::string > ez_wave_profile_str
Definition: input.h:140
std::vector< std::string > wave_time_envelope_str
Definition: input.h:144
bool o_Temperature
Definition: input.h:64
std::vector< size_t > NxLocal
Definition: input.h:168
std::vector< std::string > bz_wave_profile_str
Definition: input.h:143
double smaller_dt
Definition: input.h:77
std::string bx_time_profile_str
Definition: input.h:127
size_t n_outsteps
Definition: input.h:52
std::vector< double > trav_wave_center
Definition: input.h:148
std::string hydro_dens_profile_str
Definition: input.h:108
bool MX_cooling
Definition: input.h:89
double xmax
Definition: input.h:35
std::string bz_profile_str
Definition: input.h:136
bool flm_collisions
Definition: input.h:48
size_t nump2
Definition: input.h:68
std::string by_profile_str
Definition: input.h:135
std::string ex_time_profile_str
Definition: input.h:124
bool hydromotion
Definition: input.h:82
bool implicit_B
Definition: input.h:45
bool isthisarestart
Definition: input.h:28
std::string ex_profile_str
Definition: input.h:131
double lnLambda
Definition: input.h:71
double t_stop
Definition: input.h:53
std::vector< double > xminLocal
Definition: input.h:172
std::vector< std::string > ex_wave_profile_str
Definition: input.h:138
std::vector< size_t > ps
Definition: input.h:158
std::vector< double > trav_wave_rise
Definition: input.h:145
std::vector< double > qs
Definition: input.h:154
bool ext_fields
External fields.
Definition: input.h:117
std::vector< double > xmaxGlobal
Definition: input.h:171
std::vector< std::string > temp_profile_str
Definition: input.h:103
std::string intensity_time_profile_str
Definition: input.h:123
std::string ey_time_profile_str
Definition: input.h:125
std::vector< size_t > NxGlobal
Definition: input.h:166
std::vector< double > mass
Definition: input.h:155
int f00_implicitorexplicit
Definition: input.h:47
double hydrocharge
Definition: input.h:83
std::vector< size_t > ls
Definition: input.h:156
std::string hydro_temp_profile_str
Definition: input.h:109
std::vector< size_t > Npy
Definition: input.h:162
std::vector< double > xminGlobal
Definition: input.h:170
std::string ez_time_profile_str
Definition: input.h:126
bool only_output
Definition: input.h:67
std::vector< std::string > f_pedestal
Definition: input.h:106
bool o_p2p1x1
Definition: input.h:58
bool trav_wave
Definition: input.h:117
std::string ey_profile_str
Definition: input.h:132
size_t Nx
Definition: input.h:34
bool o_EHist
Definition: input.h:57
bool implicit_E
Definition: input.h:44
std::vector< double > trav_wave_flat
Definition: input.h:146
std::vector< double > trav_wave_fall
Definition: input.h:147
size_t nump
Definition: input.h:34
bool o_f10x1
Definition: input.h:64
std::vector< size_t > ms
Definition: input.h:157
std::vector< std::string > by_wave_profile_str
Definition: input.h:142
bool o_f20x1
Definition: input.h:64
bool collisions
Definition: input.h:46
size_t l0
Definition: input.h:34
std::string hydro_vel_profile_str
Definition: input.h:110
std::vector< size_t > NxLocalnobnd
Definition: input.h:167
size_t nump3
Definition: input.h:68
double small_dt
Definition: input.h:76
double super_gaussian_m
Definition: input.h:91
int restart_time
Definition: input.h:54
std::string ez_profile_str
Definition: input.h:133
bool o_f11x1
Definition: input.h:64
bool init_f2
Definition: input.h:87
double RB_D_tolerance
Definition: input.h:75
size_t numpx
Definition: input.h:68
std::vector< double > pmax
Definition: input.h:38
bool o_p1p2p3
Definition: input.h:58
double xmin
Definition: input.h:35
std::vector< std::string > f10x_profile_str
Definition: input.h:104
double hydromass
Definition: input.h:83
size_t m0
Definition: input.h:34
int polarization_direction
Definition: input.h:85
std::vector< double > globdx
Definition: input.h:174
bool if_tridiagonal
Definition: input.h:43
size_t NnodesX
Definition: input.h:30
size_t nump1
Definition: input.h:68
std::vector< std::string > bx_wave_profile_str
Definition: input.h:141
bool o_fl0x1
Definition: input.h:64
bool o_Pressure
Definition: input.h:64
std::vector< std::string > f20x_profile_str
Definition: input.h:105
std::string hydro_Z_profile_str
Definition: input.h:111
size_t RB_D_itmax
Definition: input.h:74
double I_0
Definition: input.h:120
Input_List & List()
Definition: input.cpp:1585
std::string bx_profile_str
Definition: input.h:134
double pth_ref
Definition: input.h:96
bool init_f1
Definition: input.h:87
double density_np
Definition: input.h:71
std::vector< double > pth
Definition: input.h:159
std::vector< std::string > ey_wave_profile_str
Definition: input.h:139
std::vector< std::string > dens_profile_str
Initialization.
Definition: input.h:102
std::vector< std::string > oTags
Definition: input.h:153
std::string bz_time_profile_str
Definition: input.h:129
size_t numsp
Definition: input.h:32
Definition: input.h:18
int BoundaryCells
Definition: input.h:50
std::vector< size_t > Npz
Definition: input.h:163
size_t n_distoutsteps
Definition: input.h:52
std::string by_time_profile_str
Definition: input.h:128
int n_restarts
Definition: input.h:54
int NB_algorithms
Definition: input.h:78
double lambda_0
Definition: input.h:120
bool IB_heating
Definition: input.h:119