OSHUN  beta
Arbitrary Order Spherical-Harmonic 1D-3P Vlasov-Fokker-Planck-Maxwell code
Input::Input_List Class Reference

#include <input.h>

Public Member Functions

 Input_List ()
 

Data Fields

bool isthisarestart
 
size_t NnodesX
 
size_t numsp
 
size_t l0
 
size_t m0
 
size_t nump
 
size_t Nx
 
double xmin
 
double xmax
 
std::vector< double > pmax
 
double clf_dp
 
bool if_tridiagonal
 
bool implicit_E
 
bool implicit_B
 
bool collisions
 
int f00_implicitorexplicit
 
bool flm_collisions
 
int BoundaryCells
 
int bndX
 
size_t n_outsteps
 
size_t n_distoutsteps
 
double t_stop
 
int restart_time
 
int n_restarts
 
bool o_EHist
 
bool o_Ex
 
bool o_Ey
 
bool o_Ez
 
bool o_Bx
 
bool o_By
 
bool o_Bz
 
bool o_x1x2
 
bool o_pth
 
bool o_p2p1x1
 
bool o_p1p2p3
 
bool o_G
 
bool o_Px
 
bool o_PxPx
 
bool o_Py
 
bool o_PxPy
 
bool o_PyPy
 
bool o_Pz
 
bool o_PxPz
 
bool o_PyPz
 
bool o_PzPz
 
bool o_Vx
 
bool o_VxVx
 
bool o_Vy
 
bool o_VxVy
 
bool o_VyVy
 
bool o_VxVz
 
bool o_VyVz
 
bool o_VzVz
 
bool o_Vsq
 
bool o_Qx
 
bool o_Qy
 
bool o_Qz
 
bool o_vNx
 
bool o_vNy
 
bool o_vNz
 
bool o_Jx
 
bool o_Jy
 
bool o_Jz
 
bool o_Pressure
 
bool o_Temperature
 
bool o_ND
 
bool o_Nu
 
bool o_p1x1
 
bool o_f0x1
 
bool o_f10x1
 
bool o_f11x1
 
bool o_f20x1
 
bool o_fl0x1
 
bool o_Ux
 
bool o_Uy
 
bool o_Uz
 
bool o_Z
 
bool o_ni
 
bool o_Ti
 
bool only_output
 
size_t numpx
 
size_t nump1
 
size_t nump2
 
size_t nump3
 
double lnLambda
 
double density_np
 
size_t RB_D_itmax
 
double RB_D_tolerance
 
double small_dt
 
double smaller_dt
 
int NB_algorithms
 
bool hydromotion
 
double hydromass
 
double hydrocharge
 
int polarization_direction
 
bool init_f1
 
bool init_f2
 
bool MX_cooling
 
double super_gaussian_m
 
double pth_ref
 
std::vector< std::string > dens_profile_str
 Initialization. More...
 
std::vector< std::string > temp_profile_str
 
std::vector< std::string > f10x_profile_str
 
std::vector< std::string > f20x_profile_str
 
std::vector< std::string > f_pedestal
 
std::string hydro_dens_profile_str
 
std::string hydro_temp_profile_str
 
std::string hydro_vel_profile_str
 
std::string hydro_Z_profile_str
 
bool ext_fields
 External fields. More...
 
bool trav_wave
 
int num_waves
 
bool IB_heating
 
double I_0
 
double lambda_0
 
std::string intensity_profile_str
 
std::string intensity_time_profile_str
 
std::string ex_time_profile_str
 
std::string ey_time_profile_str
 
std::string ez_time_profile_str
 
std::string bx_time_profile_str
 
std::string by_time_profile_str
 
std::string bz_time_profile_str
 
std::string ex_profile_str
 
std::string ey_profile_str
 
std::string ez_profile_str
 
std::string bx_profile_str
 
std::string by_profile_str
 
std::string bz_profile_str
 
std::vector< std::string > ex_wave_profile_str
 
std::vector< std::string > ey_wave_profile_str
 
std::vector< std::string > ez_wave_profile_str
 
std::vector< std::string > bx_wave_profile_str
 
std::vector< std::string > by_wave_profile_str
 
std::vector< std::string > bz_wave_profile_str
 
std::vector< std::string > wave_time_envelope_str
 
std::vector< double > trav_wave_rise
 
std::vector< double > trav_wave_flat
 
std::vector< double > trav_wave_fall
 
std::vector< double > trav_wave_center
 
std::vector< std::string > oTags
 
std::vector< double > qs
 
std::vector< double > mass
 
std::vector< size_t > ls
 
std::vector< size_t > ms
 
std::vector< size_t > ps
 
std::vector< double > pth
 
std::vector< size_t > Npx
 
std::vector< size_t > Npy
 
std::vector< size_t > Npz
 
std::vector< size_t > NxGlobal
 
std::vector< size_t > NxLocalnobnd
 
std::vector< size_t > NxLocal
 
std::vector< double > xminGlobal
 
std::vector< double > xmaxGlobal
 
std::vector< double > xminLocal
 
std::vector< double > xmaxLocal
 
std::vector< double > globdx
 

Detailed Description

Definition at line 21 of file input.h.

Constructor & Destructor Documentation

◆ Input_List()

Input::Input_List::Input_List ( )

Definition at line 29 of file input.cpp.

References bndX, BoundaryCells, bx_profile_str, bx_time_profile_str, bx_wave_profile_str, by_profile_str, by_time_profile_str, by_wave_profile_str, bz_profile_str, bz_time_profile_str, bz_wave_profile_str, clf_dp, dens_profile_str, density_np, ex_profile_str, ex_time_profile_str, ex_wave_profile_str, ext_fields, ey_profile_str, ey_time_profile_str, ey_wave_profile_str, ez_profile_str, ez_time_profile_str, ez_wave_profile_str, f00_implicitorexplicit, f10x_profile_str, f20x_profile_str, f_pedestal, flm_collisions, globdx, hydro_dens_profile_str, hydro_temp_profile_str, hydro_vel_profile_str, hydro_Z_profile_str, hydrocharge, hydromass, hydromotion, I_0, IB_heating, if_tridiagonal, implicit_B, implicit_E, init_f1, init_f2, intensity_profile_str, intensity_time_profile_str, isthisarestart, lambda_0, lnLambda, ls, mass, ms, MX_cooling, n_distoutsteps, n_outsteps, n_restarts, NB_algorithms, NnodesX, Npx, Npy, Npz, num_waves, nump1, nump2, nump3, numpx, numsp, Nx, NxGlobal, NxLocal, NxLocalnobnd, o_Bx, o_By, o_Bz, o_EHist, o_Ex, o_Ey, o_Ez, o_f0x1, o_f10x1, o_f11x1, o_f20x1, o_fl0x1, o_G, o_Jx, o_Jy, o_Jz, o_ND, o_ni, o_Nu, o_p1p2p3, o_p1x1, o_p2p1x1, o_Pressure, o_pth, o_Px, o_PxPx, o_PxPy, o_PxPz, o_Py, o_PyPy, o_PyPz, o_Pz, o_PzPz, o_Qx, o_Qy, o_Qz, o_Temperature, o_Ti, o_Ux, o_Uy, o_Uz, o_vNx, o_vNy, o_vNz, o_Vsq, o_Vx, o_VxVx, o_VxVy, o_VxVz, o_Vy, o_VyVy, o_VyVz, o_VzVz, o_x1x2, o_Z, only_output, oTags, pmax, polarization_direction, ps, pth_ref, qs, RB_D_itmax, RB_D_tolerance, restart_time, small_dt, smaller_dt, super_gaussian_m, t_stop, temp_profile_str, trav_wave, trav_wave_center, trav_wave_fall, trav_wave_flat, trav_wave_rise, wave_time_envelope_str, xmax, xmaxGlobal, xmaxLocal, xmin, xminGlobal, and xminLocal.

29  :
30  isthisarestart(0),
31  NnodesX(4),
32  numsp(1),
33  l0(6),
34  m0(4),
35  nump(96),
36  Nx(32),
37  xmin(-1000.0),
38  xmax(1000.0),
39  clf_dp(1.0),
40  if_tridiagonal(1),
41  implicit_E(1),
42  implicit_B(0),
43  collisions(1),
45  flm_collisions(0),
46  BoundaryCells(3),
47  bndX(0),
48  n_outsteps(1000),
49  n_distoutsteps(100),
50  t_stop(8000),
51  restart_time(10000.0),
52  n_restarts(100),
53 
54 // Output
55  o_EHist(0),
56  o_Ex(0), o_Ey(0), o_Ez(0), o_Bx(0), o_By(0), o_Bz(0), o_x1x2(0), o_pth(0), o_p2p1x1(0), o_p1p2p3(0),
57  o_G(0), o_Px(0), o_PxPx(0), o_Py(0), o_PxPy(0), o_PyPy(0), o_Pz(0), o_PxPz(0), o_PyPz(0), o_PzPz(0),
58  o_Vx(0), o_VxVx(0), o_Vy(0), o_VxVy(0), o_VyVy(0), o_VxVz(0), o_VyVz(0), o_VzVz(0),
59  o_Vsq(0), o_Qx(0), o_Qy(0), o_Qz(0),
60  o_vNx(0), o_vNy(0), o_vNz(0),
61  o_Jx(0), o_Jy(0), o_Jz(0),
62  o_Pressure(0), o_Temperature(0), o_ND(0), o_Nu(0), o_p1x1(0), o_f0x1(0), o_f10x1(0), o_f11x1(0), o_f20x1(0), o_fl0x1(0),
63  o_Ux(0), o_Uy(0), o_Uz(0), o_Z(0), o_ni(0), o_Ti(0),
64 
65  numpx(96), nump1(96), nump2(96), nump3(96),
66 
67 // Electron-ion collisions
68  density_np(1.0e21),
69 
70 // Electron-electron collisions
71  RB_D_itmax(100),
72  RB_D_tolerance(1e-12),
73  small_dt(1e-1),
74  smaller_dt(1e-5),
75  NB_algorithms(4),
76 
77 
78 // Hydro parameters
79  hydromotion(0),
80  hydromass(100), hydrocharge(79),
82  init_f1(0), init_f2(0),
83  MX_cooling(0),
84  super_gaussian_m(2.0),
85 
86  pth_ref(0.025),
87 
88 
89  hydro_dens_profile_str("cst{0.0}"),
90  hydro_temp_profile_str("cst{0.0}"),
91  hydro_vel_profile_str("cst{0.0}"),
92  hydro_Z_profile_str("cst{0.0}"),
93 
94 
95 // ----------------------------------------------------------------------
97 //
99  IB_heating(0),
100  I_0(0.0), lambda_0(0.351),
101 
102  intensity_profile_str("cst{0.0}"),
103  intensity_time_profile_str("cst{0.0}"),
104  ex_time_profile_str("cst{0.0}"),
105  ey_time_profile_str("cst{0.0}"),
106  ez_time_profile_str("cst{0.0}"),
107  bx_time_profile_str("cst{0.0}"),
108  by_time_profile_str("cst{0.0}"),
109  bz_time_profile_str("cst{0.0}"),
110  ex_profile_str("cst{0.0}"),
111  ey_profile_str("cst{0.0}"),
112  ez_profile_str("cst{0.0}"),
113  bx_profile_str("cst{0.0}"),
114  by_profile_str("cst{0.0}"),
115  bz_profile_str("cst{0.0}")
116  // ex_wave_profile_str("cst{0.0}"),
117  // ey_wave_profile_str("cst{0.0}"),
118  // ez_wave_profile_str("cst{0.0}"),
119  // bx_wave_profile_str("cst{0.0}"),
120  // by_wave_profile_str("cst{0.0}"),
121  // bz_wave_profile_str("cst{0.0}"),
122  // wave_time_envelope_str("cst{0.0}")
123 
124 // ----------------------------------------------------------------------
125 // ----------------------------------------------------------------------
126  // std::vector< double > pmax;
127 // ----------------------------------------------------------------------
128 // ----------------------------------------------------------------------
130 
131  // std::vector<std::string> dens_profile_str;
132  // std::vector<std::string> temp_profile_str;
133  // std::vector<std::string> f10x_profile_str;
134  // std::vector<std::string> f20x_profile_str;
135  // std::vector<std::string> f_pedestal;
136 
137  // std::vector<double> qs;
138  // std::vector<double> mass;
139  // std::vector<size_t> ls;
140  // std::vector<size_t> ms;
141  // std::vector<size_t> ps;
142  // std::vector<double> pth;
143 
144  // std::vector<size_t> Npx;
145  // std::vector<size_t> Npy;
146  // std::vector<size_t> Npz;
147 
148 
149  // std::vector<size_t> NxGlobal;
150  // std::vector<size_t> NxLocalnobnd;
151  // std::vector<size_t> NxLocal;
152 
153  // std::vector<double> xminGlobal,
154  // std::vector<double> xmaxGlobal,
155  // std::vector<double> xminLocal,
156  // std::vector<double> xmaxLocal,
157  // std::vector<double> globdx
158  {
159 //--------------------------------------------------------------
160 // The constructor for the input_list structure
161 //--------------------------------------------------------------
162 
163  std::ifstream deckfile("inputdeck");
164  std::string deckstring, deckequalssign, deckstringbool;
165  double deckreal;
166  size_t tempint;
167 
168 
169  if (deckfile.is_open()) {
170 
171  while (deckfile >> deckstring) {
172 
173  if (deckstring == "if_restart") {
174  deckfile >> deckequalssign;
175  if(deckequalssign != "=") {
176  std::cout << "Error reading " << deckstring << std::endl;
177  exit(1);
178  }
179  deckfile >> deckstringbool;
180  isthisarestart = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
181  }
182 
183  if (deckstring == "n_restarts") {
184  deckfile >> deckequalssign;
185  if(deckequalssign != "=") {
186  std::cout << "Error reading " << deckstring << std::endl;
187  exit(1);
188  }
189  deckfile >> n_restarts;
190  }
191 
192  if (deckstring == "restart_time") {
193  deckfile >> deckequalssign;
194  if(deckequalssign != "=") {
195  std::cout << "Error reading " << deckstring << std::endl;
196  exit(1);
197  }
198  deckfile >> restart_time;
199  }
200 
201  if (deckstring == "NnodesX") {
202  deckfile >> deckequalssign;
203  if(deckequalssign != "=") {
204  std::cout << "Error reading " << deckstring << std::endl;
205  exit(1);
206  }
207  deckfile >> NnodesX;
208  }
209 
210  if (deckstring == "numsp") {
211  deckfile >> deckequalssign;
212  if(deckequalssign != "=") {
213  std::cout << "Error reading " << deckstring << std::endl;
214  exit(1);
215  }
216  deckfile >> numsp;
217  }
218  if (deckstring == "l0") {
219  deckfile >> deckequalssign;
220  if(deckequalssign != "=") {
221  std::cout << "Error reading " << deckstring << std::endl;
222  exit(1);
223  }
224  for (size_t s(0);s<numsp;++s)
225  {
226  deckfile >> tempint;
227  ls.push_back(tempint);
228  // std::cout<< "l0 = " << tempint << "\n";
229  }
230  }
231  if (deckstring == "m0") {
232  deckfile >> deckequalssign;
233  if(deckequalssign != "=") {
234  std::cout << "Error reading " << deckstring << std::endl;
235  exit(1);
236  }
237  for (size_t s(0);s<numsp;++s)
238  {
239  deckfile >> tempint;
240  ms.push_back(tempint);
241  // std::cout<< "m0 = " << tempint << "\n";
242  }
243  }
244  if (deckstring == "nump") {
245  deckfile >> deckequalssign;
246  if(deckequalssign != "=") {
247  std::cout << "Error reading " << deckstring << std::endl;
248  exit(1);
249  }
250  for (size_t s(0);s<numsp;++s)
251  {
252  deckfile >> tempint;
253  ps.push_back(tempint);
254  Npx.push_back(2*tempint+1);
255  Npy.push_back(2*tempint+1);
256  Npz.push_back(2*tempint+1);
257  // std::cout<< "nump = " << tempint << "\n";
258  }
259  }
260  if (deckstring == "pmax") {
261  deckfile >> deckequalssign;
262  if(deckequalssign != "=") {
263  std::cout << "Error reading " << deckstring << std::endl;
264  exit(1);
265  }
266  // deckfile >> deckreal;
267  // TWICE HERE FOR TWO SPECIES -- SHOULD BE CHANGED
268  for (size_t s(0);s<numsp;++s)
269  {
270  deckfile >> deckreal;
271  pmax.push_back(deckreal);
272  // std::cout<< "pmax = " << deckreal << "\n";
273  }
274  }
275  if (deckstring == "charge") {
276  deckfile >> deckequalssign;
277  if(deckequalssign != "=") {
278  std::cout << "Error reading " << deckstring << std::endl;
279  exit(1);
280  }
281  for (size_t s(0);s<numsp;++s)
282  {
283  deckfile >> deckreal;
284  qs.push_back(-1.0*deckreal);
285  // std::cout<< "q = " << deckreal << "\n";
286  }
287  }
288  if (deckstring == "mass") {
289  deckfile >> deckequalssign;
290  if(deckequalssign != "=") {
291  std::cout << "Error reading " << deckstring << std::endl;
292  exit(1);
293  }
294  for (size_t s(0);s<numsp;++s)
295  {
296  deckfile >> deckreal;
297  mass.push_back(deckreal);
298  // std::cout<< "mass = " << deckreal << "\n";
299  }
300  }
301  if (deckstring == "Nx") {
302  deckfile >> deckequalssign;
303  if(deckequalssign != "=") {
304  std::cout << "Error reading " << deckstring << std::endl;
305  exit(1);
306  }
307  deckfile >> Nx;
308  NxGlobal.push_back(Nx);
309  }
310 
311  if (deckstring == "xmin") {
312  deckfile >> deckequalssign;
313  if(deckequalssign != "=") {
314  std::cout << "Error reading " << deckstring << std::endl;
315  exit(1);
316  }
317  deckfile >> xmin;
318  xminGlobal.push_back(xmin);
319  }
320  if (deckstring == "xmax") {
321  deckfile >> deckequalssign;
322  if(deckequalssign != "=") {
323  std::cout << "Error reading " << deckstring << std::endl;
324  exit(1);
325  }
326  deckfile >> xmax;
327  xmaxGlobal.push_back(xmax);
328  }
329  if (deckstring == "clf_dp") {
330  deckfile >> deckequalssign;
331  if(deckequalssign != "=") {
332  std::cout << "Error reading " << deckstring << std::endl;
333  exit(1);
334  }
335  deckfile >> clf_dp;
336  }
337  if (deckstring == "hydro") {
338  deckfile >> deckequalssign;
339  if(deckequalssign != "=") {
340  std::cout << "Error reading " << deckstring << std::endl;
341  exit(1);
342  }
343  deckfile >> deckstringbool;
344  hydromotion = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
345 
346  }
347  if (deckstring == "hydroatomicmass") {
348  deckfile >> deckequalssign;
349  if(deckequalssign != "=") {
350  std::cout << "Error reading " << deckstring << std::endl;
351  exit(1);
352  }
353  deckfile >> hydromass;
354  hydromass *= 1836;
355  }
356  if (deckstring == "hydrocharge") {
357  deckfile >> deckequalssign;
358  if(deckequalssign != "=") {
359  std::cout << "Error reading " << deckstring << std::endl;
360  exit(1);
361  }
362  deckfile >> hydrocharge;
363  }
364  if (deckstring == "ext_fields") {
365  deckfile >> deckequalssign;
366  if(deckequalssign != "=") {
367  std::cout << "Error reading " << deckstring << std::endl;
368  exit(1);
369  }
370  deckfile >> deckstringbool;
371  ext_fields = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
372 
373  }
374  if (deckstring == "traveling_wave") {
375  deckfile >> deckequalssign;
376  if(deckequalssign != "=") {
377  std::cout << "Error reading " << deckstring << std::endl;
378  exit(1);
379  }
380  deckfile >> deckstringbool;
381  trav_wave = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
382  }
383  if (deckstring == "num_waves") {
384  deckfile >> deckequalssign;
385  if(deckequalssign != "=") {
386  std::cout << "Error reading " << deckstring << std::endl;
387  exit(1);
388  }
389  deckfile >> num_waves;
390  }
391  if (deckstring == "small_dt") {
392  deckfile >> deckequalssign;
393  if(deckequalssign != "=") {
394  std::cout << "Error reading " << deckstring << std::endl;
395  exit(1);
396  }
397  deckfile >> small_dt;
398  }
399  if (deckstring == "smaller_dt") {
400  deckfile >> deckequalssign;
401  if(deckequalssign != "=") {
402  std::cout << "Error reading " << deckstring << std::endl;
403  exit(1);
404  }
405  deckfile >> smaller_dt;
406  }
407  if (deckstring == "Rosenbluth_D_tolerance") {
408  deckfile >> deckequalssign;
409  if(deckequalssign != "=") {
410  std::cout << "Error reading " << deckstring << std::endl;
411  exit(1);
412  }
413  deckfile >> RB_D_tolerance;
414  }
415  if (deckstring == "Rosenbluth_D_maximum_iterations") {
416  deckfile >> deckequalssign;
417  if(deckequalssign != "=") {
418  std::cout << "Error reading " << deckstring << std::endl;
419  exit(1);
420  }
421  deckfile >> RB_D_itmax;
422  }
423  if (deckstring == "NB_algorithms") {
424  deckfile >> deckequalssign;
425  if(deckequalssign != "=") {
426  std::cout << "Error reading " << deckstring << std::endl;
427  exit(1);
428  }
429  deckfile >> NB_algorithms;
430  }
431  if (deckstring == "assume_tridiagonal_flm_collisions") {
432  deckfile >> deckequalssign;
433  if(deckequalssign != "=") {
434  std::cout << "Error reading " << deckstring << std::endl;
435  exit(1);
436  }
437  deckfile >> deckstringbool;
438  if_tridiagonal = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
439  }
440  if (deckstring == "implicit_E") {
441  deckfile >> deckequalssign;
442  if(deckequalssign != "=") {
443  std::cout << "Error reading " << deckstring << std::endl;
444  exit(1);
445  }
446  deckfile >> deckstringbool;
447  implicit_E = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
448  }
449  if (deckstring == "implicit_B_push") {
450  deckfile >> deckequalssign;
451  if(deckequalssign != "=") {
452  std::cout << "Error reading " << deckstring << std::endl;
453  exit(1);
454  }
455  deckfile >> deckstringbool;
456  implicit_B = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
457  }
458  if (deckstring == "collisions_switch") {
459  deckfile >> deckequalssign;
460  if(deckequalssign != "=") {
461  std::cout << "Error reading " << deckstring << std::endl;
462  exit(1);
463  }
464  deckfile >> deckstringbool;
465  collisions = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
466  }
467  if (deckstring == "f00_collisions") {
468  deckfile >> deckequalssign;
469  if(deckequalssign != "=") {
470  std::cout << "Error reading " << deckstring << std::endl;
471  exit(1);
472  }
473  deckfile >> deckstringbool;
474  if (deckstringbool[0] == 'i' || deckstringbool[0] == 'I'){
476  }
477  else if (deckstringbool[0] == 'e' || deckstringbool[0] == 'E'){
479  }
480  if (deckstringbool[0] == 'f' || deckstringbool[0] == 'F'){
482  }
483  }
484  if (deckstring == "flm_collisions") {
485  deckfile >> deckequalssign;
486  if(deckequalssign != "=") {
487  std::cout << "Error reading " << deckstring << std::endl;
488  exit(1);
489  }
490  deckfile >> deckstringbool;
491  flm_collisions = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
492  }
493  if (deckstring == "MX_cooling") {
494  deckfile >> deckequalssign;
495  if(deckequalssign != "=") {
496  std::cout << "Error reading " << deckstring << std::endl;
497  exit(1);
498  }
499  deckfile >> deckstringbool;
500  MX_cooling = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
501  }
502 
503 
504 
505  if (deckstring == "t_stop") {
506  deckfile >> deckequalssign;
507  if(deckequalssign != "=") {
508  std::cout << "Error reading " << deckstring << std::endl;
509  exit(1);
510  }
511  deckfile >> t_stop;
512  }
513  if (deckstring == "n_outsteps") {
514  deckfile >> deckequalssign;
515  if(deckequalssign != "=") {
516  std::cout << "Error reading " << deckstring << std::endl;
517  exit(1);
518  }
519  deckfile >> n_outsteps;
520  // if (fmod(t_stop,n_outsteps) != 0){
521  // std::cout << "\n Need n_outsteps to be a n integer divisor of t_stop i.e. remainder (t_stop / n_outsteps) = 0 \n";
522  // exit(1);
523  // }
524  }
525 
526  if (deckstring == "n_distoutsteps") {
527  deckfile >> deckequalssign;
528  if(deckequalssign != "=") {
529  std::cout << "Error reading " << deckstring << std::endl;
530  exit(1);
531  }
532  deckfile >> n_distoutsteps;
533  // if (fmod(t_stop,n_distoutsteps) != 0){
534  // std::cout << "\n Need n_distoutsteps to be a n integer divisor of t_stop i.e. remainder (t_stop / n_distoutsteps) = 0 \n";
535  // exit(1);
536  // }
537  }
538 
539  if (deckstring == "bndX") {
540  deckfile >> deckequalssign;
541  if(deckequalssign != "=") {
542  std::cout << "Error reading " << deckstring << std::endl;
543  exit(1);
544  }
545  deckfile >> bndX;
546  }
547  if (deckstring == "o_EHist") {
548  deckfile >> deckequalssign;
549  if(deckequalssign != "=") {
550  std::cout << "Error reading " << deckstring << std::endl;
551  exit(1);
552  }
553  deckfile >> deckstringbool;
554  o_EHist = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
555  }
556  if (deckstring == "o_Ex") {
557  deckfile >> deckequalssign;
558  if(deckequalssign != "=") {
559  std::cout << "Error reading " << deckstring << std::endl;
560  exit(1);
561  }
562  deckfile >> deckstringbool;
563  o_Ex = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
564  }
565  if (deckstring == "o_Ey") {
566  deckfile >> deckequalssign;
567  if(deckequalssign != "=") {
568  std::cout << "Error reading " << deckstring << std::endl;
569  exit(1);
570  }
571  deckfile >> deckstringbool;
572  o_Ey = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
573  }
574  if (deckstring == "o_Ez") {
575  deckfile >> deckequalssign;
576  if(deckequalssign != "=") {
577  std::cout << "Error reading " << deckstring << std::endl;
578  exit(1);
579  }
580  deckfile >> deckstringbool;
581  o_Ez = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
582  }
583  if (deckstring == "o_Bx") {
584  deckfile >> deckequalssign;
585  if(deckequalssign != "=") {
586  std::cout << "Error reading " << deckstring << std::endl;
587  exit(1);
588  }
589  deckfile >> deckstringbool;
590  o_Bx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
591  }
592  if (deckstring == "o_By") {
593  deckfile >> deckequalssign;
594  if(deckequalssign != "=") {
595  std::cout << "Error reading " << deckstring << std::endl;
596  exit(1);
597  }
598  deckfile >> deckstringbool;
599  o_By = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
600  }
601  if (deckstring == "o_Bz") {
602  deckfile >> deckequalssign;
603  if(deckequalssign != "=") {
604  std::cout << "Error reading " << deckstring << std::endl;
605  exit(1);
606  }
607  deckfile >> deckstringbool;
608  o_Bz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
609  }
610  if (deckstring == "o_x1x2") {
611  deckfile >> deckequalssign;
612  if(deckequalssign != "=") {
613  std::cout << "Error reading " << deckstring << std::endl;
614  exit(1);
615  }
616  deckfile >> deckstringbool;
617  o_x1x2 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
618  }
619  if (deckstring == "o_pth") {
620  deckfile >> deckequalssign;
621  if(deckequalssign != "=") {
622  std::cout << "Error reading " << deckstring << std::endl;
623  exit(1);
624  }
625  deckfile >> deckstringbool;
626  o_pth = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
627  }
628  if (deckstring == "o_G") {
629  deckfile >> deckequalssign;
630  if(deckequalssign != "=") {
631  std::cout << "Error reading " << deckstring << std::endl;
632  exit(1);
633  }
634  deckfile >> deckstringbool;
635  o_G = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
636  }
637  if (deckstring == "o_Px") {
638  deckfile >> deckequalssign;
639  if(deckequalssign != "=") {
640  std::cout << "Error reading " << deckstring << std::endl;
641  exit(1);
642  }
643  deckfile >> deckstringbool;
644  o_Px = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
645  }
646  if (deckstring == "o_PxPx") {
647  deckfile >> deckequalssign;
648  if(deckequalssign != "=") {
649  std::cout << "Error reading " << deckstring << std::endl;
650  exit(1);
651  }
652  deckfile >> deckstringbool;
653  o_PxPx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
654  }
655  if (deckstring == "o_Py") {
656  deckfile >> deckequalssign;
657  if(deckequalssign != "=") {
658  std::cout << "Error reading " << deckstring << std::endl;
659  exit(1);
660  }
661  deckfile >> deckstringbool;
662  o_Py = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
663  }
664  if (deckstring == "o_PxPy") {
665  deckfile >> deckequalssign;
666  if(deckequalssign != "=") {
667  std::cout << "Error reading " << deckstring << std::endl;
668  exit(1);
669  }
670  deckfile >> deckstringbool;
671  o_PxPy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
672  }
673  if (deckstring == "o_PyPy") {
674  deckfile >> deckequalssign;
675  if(deckequalssign != "=") {
676  std::cout << "Error reading " << deckstring << std::endl;
677  exit(1);
678  }
679  deckfile >> deckstringbool;
680  o_PyPy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
681  }
682  if (deckstring == "o_Pz") {
683  deckfile >> deckequalssign;
684  if(deckequalssign != "=") {
685  std::cout << "Error reading " << deckstring << std::endl;
686  exit(1);
687  }
688  deckfile >> deckstringbool;
689  o_Pz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
690  }
691  if (deckstring == "o_PxPz") {
692  deckfile >> deckequalssign;
693  if(deckequalssign != "=") {
694  std::cout << "Error reading " << deckstring << std::endl;
695  exit(1);
696  }
697  deckfile >> deckstringbool;
698  o_PxPz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
699  }
700  if (deckstring == "o_PyPz") {
701  deckfile >> deckequalssign;
702  if(deckequalssign != "=") {
703  std::cout << "Error reading " << deckstring << std::endl;
704  exit(1);
705  }
706  deckfile >> deckstringbool;
707  o_PyPz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
708  }
709  if (deckstring == "o_PzPz") {
710  deckfile >> deckequalssign;
711  if(deckequalssign != "=") {
712  std::cout << "Error reading " << deckstring << std::endl;
713  exit(1);
714  }
715  deckfile >> deckstringbool;
716  o_PzPz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
717  }
718  if (deckstring == "o_Jx") {
719  deckfile >> deckequalssign;
720  if(deckequalssign != "=") {
721  std::cout << "Error reading " << deckstring << std::endl;
722  exit(1);
723  }
724  deckfile >> deckstringbool;
725  o_Jx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
726  }
727  if (deckstring == "o_Jy") {
728  deckfile >> deckequalssign;
729  if(deckequalssign != "=") {
730  std::cout << "Error reading " << deckstring << std::endl;
731  exit(1);
732  }
733  deckfile >> deckstringbool;
734  o_Jy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
735  }
736  if (deckstring == "o_Jz") {
737  deckfile >> deckequalssign;
738  if(deckequalssign != "=") {
739  std::cout << "Error reading " << deckstring << std::endl;
740  exit(1);
741  }
742  deckfile >> deckstringbool;
743  o_Jz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
744  }
745  if (deckstring == "o_vNx") {
746  deckfile >> deckequalssign;
747  if(deckequalssign != "=") {
748  std::cout << "Error reading " << deckstring << std::endl;
749  exit(1);
750  }
751  deckfile >> deckstringbool;
752  o_vNx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
753  }
754  if (deckstring == "o_vNy") {
755  deckfile >> deckequalssign;
756  if(deckequalssign != "=") {
757  std::cout << "Error reading " << deckstring << std::endl;
758  exit(1);
759  }
760  deckfile >> deckstringbool;
761  o_vNy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
762  }
763  if (deckstring == "o_vNz") {
764  deckfile >> deckequalssign;
765  if(deckequalssign != "=") {
766  std::cout << "Error reading " << deckstring << std::endl;
767  exit(1);
768  }
769  deckfile >> deckstringbool;
770  o_vNz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
771  }
772  if (deckstring == "o_Vx") {
773  deckfile >> deckequalssign;
774  if(deckequalssign != "=") {
775  std::cout << "Error reading " << deckstring << std::endl;
776  exit(1);
777  }
778  deckfile >> deckstringbool;
779  o_Vx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
780  }
781  if (deckstring == "o_VxVx") {
782  deckfile >> deckequalssign;
783  if(deckequalssign != "=") {
784  std::cout << "Error reading " << deckstring << std::endl;
785  exit(1);
786  }
787  deckfile >> deckstringbool;
788  o_VxVx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
789  }
790  if (deckstring == "o_Vy") {
791  deckfile >> deckequalssign;
792  if(deckequalssign != "=") {
793  std::cout << "Error reading " << deckstring << std::endl;
794  exit(1);
795  }
796  deckfile >> deckstringbool;
797  o_Vy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
798  }
799  if (deckstring == "o_VxVy") {
800  deckfile >> deckequalssign;
801  if(deckequalssign != "=") {
802  std::cout << "Error reading " << deckstring << std::endl;
803  exit(1);
804  }
805  deckfile >> deckstringbool;
806  o_VxVy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
807  }
808  if (deckstring == "o_VyVy") {
809  deckfile >> deckequalssign;
810  if(deckequalssign != "=") {
811  std::cout << "Error reading " << deckstring << std::endl;
812  exit(1);
813  }
814  deckfile >> deckstringbool;
815  o_VyVy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
816  }
817  if (deckstring == "o_VxVz") {
818  deckfile >> deckequalssign;
819  if(deckequalssign != "=") {
820  std::cout << "Error reading " << deckstring << std::endl;
821  exit(1);
822  }
823  deckfile >> deckstringbool;
824  o_VxVz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
825  }
826  if (deckstring == "o_VyVz") {
827  deckfile >> deckequalssign;
828  if(deckequalssign != "=") {
829  std::cout << "Error reading " << deckstring << std::endl;
830  exit(1);
831  }
832  deckfile >> deckstringbool;
833  o_VyVz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
834  }
835  if (deckstring == "o_VzVz") {
836  deckfile >> deckequalssign;
837  if(deckequalssign != "=") {
838  std::cout << "Error reading " << deckstring << std::endl;
839  exit(1);
840  }
841  deckfile >> deckstringbool;
842  o_VzVz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
843  }
844  if (deckstring == "o_Vsq") {
845  deckfile >> deckequalssign;
846  if(deckequalssign != "=") {
847  std::cout << "Error reading " << deckstring << std::endl;
848  exit(1);
849  }
850  deckfile >> deckstringbool;
851  o_Vsq = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
852  }
853  if (deckstring == "o_Qx") {
854  deckfile >> deckequalssign;
855  if(deckequalssign != "=") {
856  std::cout << "Error reading " << deckstring << std::endl;
857  exit(1);
858  }
859  deckfile >> deckstringbool;
860  o_Qx = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
861  }
862  if (deckstring == "o_Qy") {
863  deckfile >> deckequalssign;
864  if(deckequalssign != "=") {
865  std::cout << "Error reading " << deckstring << std::endl;
866  exit(1);
867  }
868  deckfile >> deckstringbool;
869  o_Qy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
870  }
871  if (deckstring == "o_Qz") {
872  deckfile >> deckequalssign;
873  if(deckequalssign != "=") {
874  std::cout << "Error reading " << deckstring << std::endl;
875  exit(1);
876  }
877  deckfile >> deckstringbool;
878  o_Qz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
879  }
880  if (deckstring == "o_Temperature") {
881  deckfile >> deckequalssign;
882  if(deckequalssign != "=") {
883  std::cout << "Error reading " << deckstring << std::endl;
884  exit(1);
885  }
886  deckfile >> deckstringbool;
887  o_Temperature = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
888  }
889  if (deckstring == "o_Pressure") {
890  deckfile >> deckequalssign;
891  if(deckequalssign != "=") {
892  std::cout << "Error reading " << deckstring << std::endl;
893  exit(1);
894  }
895  deckfile >> deckstringbool;
896  o_Pressure = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
897  }
898  if (deckstring == "o_ND") {
899  deckfile >> deckequalssign;
900  if(deckequalssign != "=") {
901  std::cout << "Error reading " << deckstring << std::endl;
902  exit(1);
903  }
904  deckfile >> deckstringbool;
905  o_ND = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
906  }
907  if (deckstring == "o_Nu") {
908  deckfile >> deckequalssign;
909  if(deckequalssign != "=") {
910  std::cout << "Error reading " << deckstring << std::endl;
911  exit(1);
912  }
913  deckfile >> deckstringbool;
914  o_Nu = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
915  }
916  if (deckstring == "o_p1x1") {
917  deckfile >> deckequalssign;
918  if(deckequalssign != "=") {
919  std::cout << "Error reading " << deckstring << std::endl;
920  exit(1);
921  }
922  deckfile >> deckstringbool;
923  o_p1x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
924  }
925  if (deckstring == "o_f0x1") {
926  deckfile >> deckequalssign;
927  if(deckequalssign != "=") {
928  std::cout << "Error reading " << deckstring << std::endl;
929  exit(1);
930  }
931  deckfile >> deckstringbool;
932  o_f0x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
933  }
934  if (deckstring == "o_f10x1") {
935  deckfile >> deckequalssign;
936  if(deckequalssign != "=") {
937  std::cout << "Error reading " << deckstring << std::endl;
938  exit(1);
939  }
940  deckfile >> deckstringbool;
941  o_f10x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
942  }
943  if (deckstring == "o_f11x1") {
944  deckfile >> deckequalssign;
945  if(deckequalssign != "=") {
946  std::cout << "Error reading " << deckstring << std::endl;
947  exit(1);
948  }
949  deckfile >> deckstringbool;
950  o_f11x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
951  }
952  if (deckstring == "o_f20x1") {
953  deckfile >> deckequalssign;
954  if(deckequalssign != "=") {
955  std::cout << "Error reading " << deckstring << std::endl;
956  exit(1);
957  }
958  deckfile >> deckstringbool;
959  o_f20x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
960  }
961  if (deckstring == "o_fl0x1") {
962  deckfile >> deckequalssign;
963  if(deckequalssign != "=") {
964  std::cout << "Error reading " << deckstring << std::endl;
965  exit(1);
966  }
967  deckfile >> deckstringbool;
968  o_fl0x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
969  }
970  if (deckstring == "o_p2p1x1") {
971  deckfile >> deckequalssign;
972  if(deckequalssign != "=") {
973  std::cout << "Error reading " << deckstring << std::endl;
974  exit(1);
975  }
976  deckfile >> deckstringbool;
977  o_p2p1x1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
978  }
979  if (deckstring == "o_p1p2p3") {
980  deckfile >> deckequalssign;
981  if(deckequalssign != "=") {
982  std::cout << "Error reading " << deckstring << std::endl;
983  exit(1);
984  }
985  deckfile >> deckstringbool;
986  o_p1p2p3 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
987  }
988  if (deckstring == "o_Ux") {
989  deckfile >> deckequalssign;
990  if(deckequalssign != "=") {
991  std::cout << "Error reading " << deckstring << std::endl;
992  exit(1);
993  }
994  deckfile >> deckstringbool;
995  o_Ux = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
996  }
997  if (deckstring == "o_Uy") {
998  deckfile >> deckequalssign;
999  if(deckequalssign != "=") {
1000  std::cout << "Error reading " << deckstring << std::endl;
1001  exit(1);
1002  }
1003  deckfile >> deckstringbool;
1004  o_Uy = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1005  }
1006  if (deckstring == "o_Uz") {
1007  deckfile >> deckequalssign;
1008  if(deckequalssign != "=") {
1009  std::cout << "Error reading " << deckstring << std::endl;
1010  exit(1);
1011  }
1012  deckfile >> deckstringbool;
1013  o_Uz = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1014  }
1015  if (deckstring == "o_Z") {
1016  deckfile >> deckequalssign;
1017  if(deckequalssign != "=") {
1018  std::cout << "Error reading " << deckstring << std::endl;
1019  exit(1);
1020  }
1021  deckfile >> deckstringbool;
1022  o_Z = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1023  }
1024  if (deckstring == "o_ni") {
1025  deckfile >> deckequalssign;
1026  if(deckequalssign != "=") {
1027  std::cout << "Error reading " << deckstring << std::endl;
1028  exit(1);
1029  }
1030  deckfile >> deckstringbool;
1031  o_ni = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1032  }
1033  if (deckstring == "o_Ti") {
1034  deckfile >> deckequalssign;
1035  if(deckequalssign != "=") {
1036  std::cout << "Error reading " << deckstring << std::endl;
1037  exit(1);
1038  }
1039  deckfile >> deckstringbool;
1040  o_Ti = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1041  }
1042  if (deckstring == "nump1") {
1043  deckfile >> deckequalssign;
1044  if(deckequalssign != "=") {
1045  std::cout << "Error reading " << deckstring << std::endl;
1046  exit(1);
1047  }
1048  deckfile >> nump1;
1049  // Npx.push_back(nump1);
1050 
1051  }
1052  if (deckstring == "nump2") {
1053  deckfile >> deckequalssign;
1054  if(deckequalssign != "=") {
1055  std::cout << "Error reading " << deckstring << std::endl;
1056  exit(1);
1057  }
1058  deckfile >> nump2;
1059  // Npx.push_back(nump2);
1060  // Npx.push_back(2*ps[0]);
1061  }
1062  if (deckstring == "nump3") {
1063  deckfile >> deckequalssign;
1064  if(deckequalssign != "=") {
1065  std::cout << "Error reading " << deckstring << std::endl;
1066  exit(1);
1067  }
1068  deckfile >> nump3;
1069  }
1070  if (deckstring == "numpx") {
1071  deckfile >> deckequalssign;
1072  if(deckequalssign != "=") {
1073  std::cout << "Error reading " << deckstring << std::endl;
1074  exit(1);
1075  }
1076  deckfile >> numpx;
1077  }
1078  if (deckstring == "only_output") {
1079  deckfile >> deckequalssign;
1080  if(deckequalssign != "=") {
1081  std::cout << "Error reading " << deckstring << std::endl;
1082  exit(1);
1083  }
1084  deckfile >> deckstringbool;
1085  only_output = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1086  }
1087  if (deckstring == "lnLambda") {
1088  deckfile >> deckequalssign;
1089  if(deckequalssign != "=") {
1090  std::cout << "Error reading " << deckstring << std::endl;
1091  exit(1);
1092  }
1093  deckfile >> lnLambda;
1094  }
1095  // if (deckstring == "Zeta") {
1096  // deckfile >> deckequalssign;
1097  // if(deckequalssign != "=") {
1098  // std::cout << "Error reading " << deckstring << std::endl;
1099  // exit(1);
1100  // }
1101  // deckfile >> Zeta;
1102  // }
1103  if (deckstring == "density_np") {
1104  deckfile >> deckequalssign;
1105  if(deckequalssign != "=") {
1106  std::cout << "Error reading " << deckstring << std::endl;
1107  exit(1);
1108  }
1109  deckfile >> density_np;
1110  }
1111  if (deckstring == "super_gaussian_distribution") {
1112  deckfile >> deckequalssign;
1113  if(deckequalssign != "=") {
1114  std::cout << "Error reading " << deckstring << std::endl;
1115  exit(1);
1116  }
1117  deckfile >> super_gaussian_m;
1118  }
1119  if (deckstring == "init_f1") {
1120  deckfile >> deckequalssign;
1121  if(deckequalssign != "=") {
1122  std::cout << "Error reading " << deckstring << std::endl;
1123  exit(1);
1124  }
1125  deckfile >> deckstringbool;
1126  init_f1 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1127  }
1128  if (deckstring == "init_f2") {
1129  deckfile >> deckequalssign;
1130  if(deckequalssign != "=") {
1131  std::cout << "Error reading " << deckstring << std::endl;
1132  exit(1);
1133  }
1134  deckfile >> deckstringbool;
1135  init_f2 = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1136  }
1137  if (deckstring == "polarization_direction") {
1138  deckfile >> deckequalssign;
1139  if(deckequalssign != "=") {
1140  std::cout << "Error reading " << deckstring << std::endl;
1141  exit(1);
1142  }
1143  deckfile >> polarization_direction;
1144  }
1145  if (deckstring == "inverse_bremsstrahlung") {
1146  deckfile >> deckequalssign;
1147  if(deckequalssign != "=") {
1148  std::cout << "Error reading " << deckstring << std::endl;
1149  exit(1);
1150  }
1151  deckfile >> deckstringbool;
1152  IB_heating = (deckstringbool[0] == 't' || deckstringbool[0] == 'T');
1153  }
1154  if (deckstring == "I_0") {
1155  deckfile >> deckequalssign;
1156  if(deckequalssign != "=") {
1157  std::cout << "Error reading " << deckstring << std::endl;
1158  exit(1);
1159  }
1160  deckfile >> I_0;
1161  }
1162  if (deckstring == "lambda_0") {
1163  deckfile >> deckequalssign;
1164  if(deckequalssign != "=") {
1165  std::cout << "Error reading " << deckstring << std::endl;
1166  exit(1);
1167  }
1168  deckfile >> lambda_0;
1169  }
1170  if (deckstring == "pth_ref") {
1171  deckfile >> deckequalssign;
1172  if(deckequalssign != "=") {
1173  std::cout << "Error reading " << deckstring << std::endl;
1174  exit(1);
1175  }
1176  deckfile >> pth_ref;
1177  }
1178  if (deckstring == "n(x)") {
1179  deckfile >> deckequalssign;
1180  if(deckequalssign != "=") {
1181  std::cout << "Error reading " << deckstring << std::endl;
1182  exit(1);
1183  }
1184  for (size_t s(0);s<numsp;++s)
1185  {
1186  deckfile >> deckstring;
1187  dens_profile_str.push_back(deckstring);
1188  }
1189  }
1190  if (deckstring == "T(x)") {
1191  deckfile >> deckequalssign;
1192  if(deckequalssign != "=") {
1193  std::cout << "Error reading " << deckstring << std::endl;
1194  exit(1);
1195  }
1196  for (size_t s(0);s<numsp;++s)
1197  {
1198  deckfile >> deckstring;
1199  temp_profile_str.push_back(deckstring);
1200  }
1201  }
1202  if (deckstring == "f_pedestal") {
1203  deckfile >> deckequalssign;
1204  if(deckequalssign != "=") {
1205  std::cout << "Error reading " << deckstring << std::endl;
1206  exit(1);
1207  }
1208  for (size_t s(0);s<numsp;++s)
1209  {
1210  deckfile >> deckstring;
1211  f_pedestal.push_back(deckstring);
1212  }
1213  }
1214  if (deckstring == "multiplier-f10(x)") {
1215  deckfile >> deckequalssign;
1216  if(deckequalssign != "=") {
1217  std::cout << "Error reading " << deckstring << std::endl;
1218  exit(1);
1219  }
1220  for (size_t s(0);s<numsp;++s)
1221  {
1222  deckfile >> deckstring;
1223  f10x_profile_str.push_back(deckstring);
1224  }
1225  }
1226  if (deckstring == "multiplier-f20(x)") {
1227  deckfile >> deckequalssign;
1228  if(deckequalssign != "=") {
1229  std::cout << "Error reading " << deckstring << std::endl;
1230  exit(1);
1231  }
1232  for (size_t s(0);s<numsp;++s)
1233  {
1234  deckfile >> deckstring;
1235  f20x_profile_str.push_back(deckstring);
1236  }
1237  }
1238  if (deckstring == "ni(x)") {
1239  deckfile >> deckequalssign;
1240  if(deckequalssign != "=") {
1241  std::cout << "Error reading " << deckstring << std::endl;
1242  exit(1);
1243  }
1244  deckfile >> deckstring;
1245  hydro_dens_profile_str = deckstring;
1246  }
1247  if (deckstring == "Ti(x)") {
1248  deckfile >> deckequalssign;
1249  if(deckequalssign != "=") {
1250  std::cout << "Error reading " << deckstring << std::endl;
1251  exit(1);
1252  }
1253  deckfile >> deckstring;
1254  hydro_temp_profile_str = deckstring;
1255  }
1256  if (deckstring == "Ux(x)") {
1257  deckfile >> deckequalssign;
1258  if(deckequalssign != "=") {
1259  std::cout << "Error reading " << deckstring << std::endl;
1260  exit(1);
1261  }
1262  deckfile >> deckstring;
1263  hydro_vel_profile_str = deckstring;
1264  }
1265  if (deckstring == "Z(x)") {
1266  deckfile >> deckequalssign;
1267  if(deckequalssign != "=") {
1268  std::cout << "Error reading " << deckstring << std::endl;
1269  exit(1);
1270  }
1271  deckfile >> deckstring;
1272  hydro_Z_profile_str = deckstring;
1273  }
1274  if (deckstring == "I(x)") {
1275  deckfile >> deckequalssign;
1276  if(deckequalssign != "=") {
1277  std::cout << "Error reading " << deckstring << std::endl;
1278  exit(1);
1279  }
1280  deckfile >> deckstring;
1281  intensity_profile_str = deckstring;
1282  }
1283  if (deckstring == "I(t)") {
1284  deckfile >> deckequalssign;
1285  if(deckequalssign != "=") {
1286  std::cout << "Error reading " << deckstring << std::endl;
1287  exit(1);
1288  }
1289  deckfile >> deckstring;
1290  intensity_time_profile_str = deckstring;
1291  }
1292  if (deckstring == "Ex(x)") {
1293  deckfile >> deckequalssign;
1294  if(deckequalssign != "=") {
1295  std::cout << "Error reading " << deckstring << std::endl;
1296  exit(1);
1297  }
1298  deckfile >> deckstring;
1299  ex_profile_str = deckstring;
1300  }
1301  if (deckstring == "Ey(x)") {
1302  deckfile >> deckequalssign;
1303  if(deckequalssign != "=") {
1304  std::cout << "Error reading " << deckstring << std::endl;
1305  exit(1);
1306  }
1307  deckfile >> deckstring;
1308  ey_profile_str = deckstring;
1309  }
1310  if (deckstring == "Ez(x)") {
1311  deckfile >> deckequalssign;
1312  if(deckequalssign != "=") {
1313  std::cout << "Error reading " << deckstring << std::endl;
1314  exit(1);
1315  }
1316  deckfile >> deckstring;
1317  ez_profile_str = deckstring;
1318  }
1319  if (deckstring == "Bx(x)") {
1320  deckfile >> deckequalssign;
1321  if(deckequalssign != "=") {
1322  std::cout << "Error reading " << deckstring << std::endl;
1323  exit(1);
1324  }
1325  deckfile >> deckstring;
1326  bx_profile_str = deckstring;
1327  }
1328  if (deckstring == "By(x)") {
1329  deckfile >> deckequalssign;
1330  if(deckequalssign != "=") {
1331  std::cout << "Error reading " << deckstring << std::endl;
1332  exit(1);
1333  }
1334  deckfile >> deckstring;
1335  by_profile_str = deckstring;
1336  }
1337  if (deckstring == "Bz(x)") {
1338  deckfile >> deckequalssign;
1339  if(deckequalssign != "=") {
1340  std::cout << "Error reading " << deckstring << std::endl;
1341  exit(1);
1342  }
1343  deckfile >> deckstring;
1344  bz_profile_str = deckstring;
1345  }
1346  if (deckstring == "Ex(t)") {
1347  deckfile >> deckequalssign;
1348  if(deckequalssign != "=") {
1349  std::cout << "Error reading " << deckstring << std::endl;
1350  exit(1);
1351  }
1352  deckfile >> deckstring;
1353  ex_time_profile_str = deckstring;
1354  }
1355  if (deckstring == "Ey(t)") {
1356  deckfile >> deckequalssign;
1357  if(deckequalssign != "=") {
1358  std::cout << "Error reading " << deckstring << std::endl;
1359  exit(1);
1360  }
1361  deckfile >> deckstring;
1362  ey_time_profile_str = deckstring;
1363  }
1364  if (deckstring == "Ez(t)") {
1365  deckfile >> deckequalssign;
1366  if(deckequalssign != "=") {
1367  std::cout << "Error reading " << deckstring << std::endl;
1368  exit(1);
1369  }
1370  deckfile >> deckstring;
1371  ez_time_profile_str = deckstring;
1372  }
1373  if (deckstring == "Bx(t)") {
1374  deckfile >> deckequalssign;
1375  if(deckequalssign != "=") {
1376  std::cout << "Error reading " << deckstring << std::endl;
1377  exit(1);
1378  }
1379  deckfile >> deckstring;
1380  bx_time_profile_str = deckstring;
1381  }
1382  if (deckstring == "By(t)") {
1383  deckfile >> deckequalssign;
1384  if(deckequalssign != "=") {
1385  std::cout << "Error reading " << deckstring << std::endl;
1386  exit(1);
1387  }
1388  deckfile >> deckstring;
1389  by_time_profile_str = deckstring;
1390  }
1391  if (deckstring == "Bz(t)") {
1392  deckfile >> deckequalssign;
1393  if(deckequalssign != "=") {
1394  std::cout << "Error reading " << deckstring << std::endl;
1395  exit(1);
1396  }
1397  deckfile >> deckstring;
1398  bz_time_profile_str = deckstring;
1399  }
1400  if (deckstring == "Ex(x,t)") {
1401  deckfile >> deckequalssign;
1402  if(deckequalssign != "=") {
1403  std::cout << "Error reading " << deckstring << std::endl;
1404  exit(1);
1405  }
1406  for (size_t n(0);n<num_waves;++n)
1407  {
1408  deckfile >> deckstring;
1409  ex_wave_profile_str.push_back(deckstring);
1410  }
1411  }
1412  if (deckstring == "Ey(x,t)") {
1413  deckfile >> deckequalssign;
1414  if(deckequalssign != "=") {
1415  std::cout << "Error reading " << deckstring << std::endl;
1416  exit(1);
1417  }
1418  for (size_t n(0);n<num_waves;++n)
1419  {
1420  deckfile >> deckstring;
1421  ey_wave_profile_str.push_back(deckstring);
1422  }
1423  }
1424  if (deckstring == "Ez(x,t)") {
1425  deckfile >> deckequalssign;
1426  if(deckequalssign != "=") {
1427  std::cout << "Error reading " << deckstring << std::endl;
1428  exit(1);
1429  }
1430  for (size_t n(0);n<num_waves;++n)
1431  {
1432  deckfile >> deckstring;
1433  ez_wave_profile_str.push_back(deckstring);
1434  }
1435  }
1436  if (deckstring == "Bx(x,t)") {
1437  deckfile >> deckequalssign;
1438  if(deckequalssign != "=") {
1439  std::cout << "Error reading " << deckstring << std::endl;
1440  exit(1);
1441  }
1442  for (size_t n(0);n<num_waves;++n)
1443  {
1444  deckfile >> deckstring;
1445  bx_wave_profile_str.push_back(deckstring);
1446  }
1447  }
1448  if (deckstring == "By(x,t)") {
1449  deckfile >> deckequalssign;
1450  if(deckequalssign != "=") {
1451  std::cout << "Error reading " << deckstring << std::endl;
1452  exit(1);
1453  }
1454  for (size_t n(0);n<num_waves;++n)
1455  {
1456  deckfile >> deckstring;
1457  by_wave_profile_str.push_back(deckstring);
1458  }
1459  }
1460  if (deckstring == "Bz(x,t)") {
1461  deckfile >> deckequalssign;
1462  if(deckequalssign != "=") {
1463  std::cout << "Error reading " << deckstring << std::endl;
1464  exit(1);
1465  }
1466  for (size_t n(0);n<num_waves;++n)
1467  {
1468  deckfile >> deckstring;
1469  bz_wave_profile_str.push_back(deckstring);
1470  }
1471  }
1472  if (deckstring == "envelope(t)") {
1473  deckfile >> deckequalssign;
1474  if(deckequalssign != "=") {
1475  std::cout << "Error reading " << deckstring << std::endl;
1476  exit(1);
1477  }
1478  for (size_t n(0);n<num_waves;++n)
1479  {
1480  deckfile >> deckstring;
1481  wave_time_envelope_str.push_back(deckstring);
1482  }
1483  }
1484 
1485  if (deckstring == "rise_flat_fall_center") {
1486  deckfile >> deckequalssign;
1487  if(deckequalssign != "=") {
1488  std::cout << "Error reading " << deckstring << std::endl;
1489  exit(1);
1490  }
1491  for (size_t n(0);n<num_waves;++n)
1492  {
1493  deckfile >> deckreal;
1494  trav_wave_rise.push_back(deckreal);
1495 
1496 
1497  deckfile >> deckreal;
1498  trav_wave_flat.push_back(deckreal);
1499 
1500 
1501  deckfile >> deckreal;
1502  trav_wave_fall.push_back(deckreal);
1503 
1504  deckfile >> deckreal;
1505  trav_wave_center.push_back(deckreal);
1506  }
1507  }
1508 
1509 
1510 
1511  }
1512 
1513  deckfile.close();
1514 
1515  if (((NnodesX%2)!=0) && (NnodesX !=1))
1516  std::cout << "The number of nodes " <<NnodesX<< " is not even" << std::endl;
1517 
1518 // numx = numx_glob / NnodesX;
1519 // numx += 2*BoundaryCells;
1520 // numx_glob = NnodesX * (numx-2*BoundaryCells);
1521 
1522  // INPUT PARAMETERS
1523 
1524  oTags.push_back("Time");
1525  oTags.push_back("Space");
1526  oTags.push_back("px-x");
1527  // oTags.push_back("px-x_1");
1528  oTags.push_back("f0-x");
1529  oTags.push_back("f10-x");
1530  oTags.push_back("f11-x");
1531  oTags.push_back("f20-x");
1532  oTags.push_back("fl0-x");
1533  oTags.push_back("pxpy-x");
1534  oTags.push_back("Ex");
1535  oTags.push_back("Ey");
1536  oTags.push_back("Ez");
1537  oTags.push_back("Bx");
1538  oTags.push_back("By");
1539  oTags.push_back("Bz");
1540  oTags.push_back("n");
1541  oTags.push_back("T_eV");
1542  oTags.push_back("T");
1543  oTags.push_back("Jx");
1544  oTags.push_back("Jy");
1545  oTags.push_back("Jz");
1546  oTags.push_back("Qx");
1547  oTags.push_back("Qy");
1548  oTags.push_back("Qz");
1549  oTags.push_back("vNx");
1550  oTags.push_back("vNy");
1551  oTags.push_back("vNz");
1552  oTags.push_back("Ux");
1553  oTags.push_back("Uy");
1554  oTags.push_back("Uz");
1555  oTags.push_back("Z");
1556  oTags.push_back("ni");
1557  oTags.push_back("Ti");
1558 
1559 
1560 
1561  // Determination of the local computational domain (i.e. the x-axis and the y-axis)
1562 
1563  BoundaryCells = 4;
1564 
1565  for (size_t i(0); i < xminGlobal.size(); ++i){
1566  NxLocalnobnd.push_back(NxGlobal[i]/ NnodesX) ;
1567  NxLocal.push_back(NxLocalnobnd[i] + 2 * BoundaryCells);
1568  xminLocal.push_back(0.0);
1569  xmaxLocal.push_back(0.0);
1570  globdx.push_back((xmaxGlobal[i]-xminGlobal[i])/(double (NxGlobal[i]) ));
1571  }
1572  }
1573  else {
1574  std::cout << "Unable to open inputdeck" << std::endl;
1575  exit(1);
1576  }
1577 
1578 }
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
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< 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
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

Field Documentation

◆ bndX

int Input::Input_List::bndX

Definition at line 51 of file input.h.

Referenced by Input_List().

◆ BoundaryCells

int Input::Input_List::BoundaryCells

Definition at line 50 of file input.h.

Referenced by Output_Data::Output_Preprocessor_1D::Bx(), Output_Data::Output_Preprocessor_1D::By(), Output_Data::Output_Preprocessor_1D::Bz(), Electric_Field_Methods::Current_xyz::Current_xyz(), Output_Data::Output_Preprocessor_1D::Ex(), Output_Data::Output_Preprocessor_1D::Ey(), Output_Data::Output_Preprocessor_1D::Ez(), Output_Data::Output_Preprocessor_1D::f0(), Output_Data::Output_Preprocessor_1D::f10(), Output_Data::Output_Preprocessor_1D::f11(), Output_Data::Output_Preprocessor_1D::f20(), Output_Data::Output_Preprocessor_1D::fl0(), Fluid_Equation_1D::Fluid_Equation_1D(), Hydro_Advection_1D::Hydro_Advection_1D(), Electric_Field_Methods::Implicit_E_Field::Implicit_E_Field(), Input_List(), interspecies_f00_explicit_collisions::interspecies_f00_explicit_collisions(), interspecies_f00_explicit_step::interspecies_f00_explicit_step(), interspecies_flm_implicit_collisions::interspecies_flm_implicit_collisions(), InverseBremsstrahlung::InverseBremsstrahlung(), Output_Data::Output_Preprocessor_1D::Jx(), Output_Data::Output_Preprocessor_1D::Jy(), Output_Data::Output_Preprocessor_1D::Jz(), Output_Data::Output_Preprocessor_1D::n(), Output_Data::Output_Preprocessor_1D::ni(), Parallel_Environment_1D::Parallel_Environment_1D(), Output_Data::Output_Preprocessor_1D::px(), Output_Data::Output_Preprocessor_1D::Qx(), Output_Data::Output_Preprocessor_1D::Qy(), Output_Data::Output_Preprocessor_1D::Qz(), self_f00_explicit_collisions::self_f00_explicit_collisions(), self_f00_implicit_collisions::self_f00_implicit_collisions(), self_flm_implicit_collisions::self_flm_implicit_collisions(), Output_Data::Output_Preprocessor_1D::T(), Output_Data::Output_Preprocessor_1D::Ti(), Output_Data::Output_Preprocessor_1D::Ux(), Output_Data::Output_Preprocessor_1D::Uy(), Output_Data::Output_Preprocessor_1D::Uz(), Output_Data::Output_Preprocessor_1D::vNx(), Output_Data::Output_Preprocessor_1D::vNy(), Output_Data::Output_Preprocessor_1D::vNz(), and Output_Data::Output_Preprocessor_1D::Z().

◆ bx_profile_str

std::string Input::Input_List::bx_profile_str

Definition at line 134 of file input.h.

Referenced by Setup_Y::applyexternalfields(), and Input_List().

◆ bx_time_profile_str

std::string Input::Input_List::bx_time_profile_str

Definition at line 127 of file input.h.

Referenced by Input_List().

◆ bx_wave_profile_str

std::vector< std::string > Input::Input_List::bx_wave_profile_str

Definition at line 141 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ by_profile_str

std::string Input::Input_List::by_profile_str

Definition at line 135 of file input.h.

Referenced by Setup_Y::applyexternalfields(), and Input_List().

◆ by_time_profile_str

std::string Input::Input_List::by_time_profile_str

Definition at line 128 of file input.h.

Referenced by Input_List().

◆ by_wave_profile_str

std::vector< std::string > Input::Input_List::by_wave_profile_str

Definition at line 142 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ bz_profile_str

std::string Input::Input_List::bz_profile_str

Definition at line 136 of file input.h.

Referenced by Setup_Y::applyexternalfields(), and Input_List().

◆ bz_time_profile_str

std::string Input::Input_List::bz_time_profile_str

Definition at line 129 of file input.h.

Referenced by Input_List().

◆ bz_wave_profile_str

std::vector< std::string > Input::Input_List::bz_wave_profile_str

Definition at line 143 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ clf_dp

double Input::Input_List::clf_dp

Definition at line 39 of file input.h.

Referenced by Input_List().

◆ collisions

bool Input::Input_List::collisions

Definition at line 46 of file input.h.

Referenced by main().

◆ dens_profile_str

std::vector<std::string> Input::Input_List::dens_profile_str

Initialization.

Definition at line 102 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ density_np

double Input::Input_List::density_np

Definition at line 71 of file input.h.

Referenced by Input_List().

◆ ex_profile_str

std::string Input::Input_List::ex_profile_str

Definition at line 131 of file input.h.

Referenced by Setup_Y::applyexternalfields(), and Input_List().

◆ ex_time_profile_str

std::string Input::Input_List::ex_time_profile_str

Definition at line 124 of file input.h.

Referenced by Input_List().

◆ ex_wave_profile_str

std::vector< std::string > Input::Input_List::ex_wave_profile_str

Definition at line 138 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ ext_fields

bool Input::Input_List::ext_fields

External fields.

Definition at line 117 of file input.h.

Referenced by Input_List(), and main().

◆ ey_profile_str

std::string Input::Input_List::ey_profile_str

Definition at line 132 of file input.h.

Referenced by Setup_Y::applyexternalfields(), and Input_List().

◆ ey_time_profile_str

std::string Input::Input_List::ey_time_profile_str

Definition at line 125 of file input.h.

Referenced by Input_List().

◆ ey_wave_profile_str

std::vector< std::string > Input::Input_List::ey_wave_profile_str

Definition at line 139 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ ez_profile_str

std::string Input::Input_List::ez_profile_str

Definition at line 133 of file input.h.

Referenced by Setup_Y::applyexternalfields(), and Input_List().

◆ ez_time_profile_str

std::string Input::Input_List::ez_time_profile_str

Definition at line 126 of file input.h.

Referenced by Input_List().

◆ ez_wave_profile_str

std::vector< std::string > Input::Input_List::ez_wave_profile_str

Definition at line 140 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ f00_implicitorexplicit

int Input::Input_List::f00_implicitorexplicit

Definition at line 47 of file input.h.

Referenced by Input_List().

◆ f10x_profile_str

std::vector<std::string> Input::Input_List::f10x_profile_str

Definition at line 104 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ f20x_profile_str

std::vector<std::string> Input::Input_List::f20x_profile_str

Definition at line 105 of file input.h.

Referenced by Input_List().

◆ f_pedestal

std::vector<std::string> Input::Input_List::f_pedestal

Definition at line 106 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ flm_collisions

bool Input::Input_List::flm_collisions

Definition at line 48 of file input.h.

Referenced by Input_List().

◆ globdx

std::vector<double> Input::Input_List::globdx

Definition at line 174 of file input.h.

Referenced by Input_List(), and Parallel_Environment_1D::Parallel_Environment_1D().

◆ hydro_dens_profile_str

std::string Input::Input_List::hydro_dens_profile_str

Definition at line 108 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ hydro_temp_profile_str

std::string Input::Input_List::hydro_temp_profile_str

Definition at line 109 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ hydro_vel_profile_str

std::string Input::Input_List::hydro_vel_profile_str

Definition at line 110 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ hydro_Z_profile_str

std::string Input::Input_List::hydro_Z_profile_str

Definition at line 111 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ hydrocharge

double Input::Input_List::hydrocharge

Definition at line 83 of file input.h.

Referenced by Input_List(), and main().

◆ hydromass

double Input::Input_List::hydromass

Definition at line 83 of file input.h.

Referenced by Input_List(), and main().

◆ hydromotion

◆ I_0

double Input::Input_List::I_0

Definition at line 120 of file input.h.

Referenced by Input_List().

◆ IB_heating

bool Input::Input_List::IB_heating

Definition at line 119 of file input.h.

Referenced by Input_List().

◆ if_tridiagonal

bool Input::Input_List::if_tridiagonal

Definition at line 43 of file input.h.

Referenced by Input_List().

◆ implicit_B

bool Input::Input_List::implicit_B

Definition at line 45 of file input.h.

Referenced by Input_List().

◆ implicit_E

bool Input::Input_List::implicit_E

Definition at line 44 of file input.h.

Referenced by Input_List().

◆ init_f1

bool Input::Input_List::init_f1

Definition at line 87 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ init_f2

bool Input::Input_List::init_f2

Definition at line 87 of file input.h.

Referenced by Input_List().

◆ intensity_profile_str

std::string Input::Input_List::intensity_profile_str

Definition at line 122 of file input.h.

Referenced by Input_List().

◆ intensity_time_profile_str

std::string Input::Input_List::intensity_time_profile_str

Definition at line 123 of file input.h.

Referenced by Input_List().

◆ isthisarestart

bool Input::Input_List::isthisarestart

Definition at line 28 of file input.h.

Referenced by Input_List().

◆ l0

size_t Input::Input_List::l0

Definition at line 34 of file input.h.

◆ lambda_0

double Input::Input_List::lambda_0

Definition at line 120 of file input.h.

Referenced by Input_List(), and self_f00_implicit_collisions::loop().

◆ lnLambda

double Input::Input_List::lnLambda

Definition at line 71 of file input.h.

Referenced by Input_List().

◆ ls

std::vector<size_t> Input::Input_List::ls

Definition at line 156 of file input.h.

Referenced by Input_List(), main(), and Node_Communications::Node_Communications().

◆ m0

size_t Input::Input_List::m0

Definition at line 34 of file input.h.

◆ mass

std::vector<double> Input::Input_List::mass

Definition at line 155 of file input.h.

Referenced by Input_List().

◆ ms

std::vector<size_t> Input::Input_List::ms

Definition at line 157 of file input.h.

Referenced by Input_List(), main(), and Node_Communications::Node_Communications().

◆ MX_cooling

bool Input::Input_List::MX_cooling

Definition at line 89 of file input.h.

Referenced by Input_List().

◆ n_distoutsteps

size_t Input::Input_List::n_distoutsteps

Definition at line 52 of file input.h.

Referenced by Input_List().

◆ n_outsteps

size_t Input::Input_List::n_outsteps

Definition at line 52 of file input.h.

Referenced by Input_List().

◆ n_restarts

int Input::Input_List::n_restarts

Definition at line 54 of file input.h.

Referenced by Input_List().

◆ NB_algorithms

int Input::Input_List::NB_algorithms

Definition at line 78 of file input.h.

Referenced by Input_List(), and self_f00_explicit_step::self_f00_explicit_step().

◆ NnodesX

size_t Input::Input_List::NnodesX

Definition at line 30 of file input.h.

Referenced by Parallel_Environment_1D::error_check(), and Input_List().

◆ Npx

std::vector<size_t> Input::Input_List::Npx

Definition at line 161 of file input.h.

Referenced by Input_List().

◆ Npy

std::vector<size_t> Input::Input_List::Npy

Definition at line 162 of file input.h.

Referenced by Input_List().

◆ Npz

std::vector<size_t> Input::Input_List::Npz

Definition at line 163 of file input.h.

Referenced by Input_List().

◆ num_waves

int Input::Input_List::num_waves

Definition at line 118 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ nump

size_t Input::Input_List::nump

Definition at line 34 of file input.h.

◆ nump1

size_t Input::Input_List::nump1

Definition at line 68 of file input.h.

Referenced by Input_List().

◆ nump2

size_t Input::Input_List::nump2

Definition at line 68 of file input.h.

Referenced by Input_List().

◆ nump3

size_t Input::Input_List::nump3

Definition at line 68 of file input.h.

Referenced by Input_List().

◆ numpx

size_t Input::Input_List::numpx

Definition at line 68 of file input.h.

Referenced by Input_List().

◆ numsp

size_t Input::Input_List::numsp

Definition at line 32 of file input.h.

Referenced by Input_List().

◆ Nx

size_t Input::Input_List::Nx

Definition at line 34 of file input.h.

Referenced by Input_List().

◆ NxGlobal

std::vector<size_t> Input::Input_List::NxGlobal

Definition at line 166 of file input.h.

Referenced by Input_List().

◆ NxLocal

◆ NxLocalnobnd

std::vector<size_t> Input::Input_List::NxLocalnobnd

Definition at line 167 of file input.h.

Referenced by Input_List(), and Parallel_Environment_1D::Parallel_Environment_1D().

◆ o_Bx

bool Input::Input_List::o_Bx

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_By

bool Input::Input_List::o_By

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_Bz

bool Input::Input_List::o_Bz

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_EHist

bool Input::Input_List::o_EHist

Definition at line 57 of file input.h.

Referenced by Input_List().

◆ o_Ex

bool Input::Input_List::o_Ex

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_Ey

bool Input::Input_List::o_Ey

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_Ez

bool Input::Input_List::o_Ez

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_f0x1

bool Input::Input_List::o_f0x1

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_f10x1

bool Input::Input_List::o_f10x1

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_f11x1

bool Input::Input_List::o_f11x1

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_f20x1

bool Input::Input_List::o_f20x1

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_fl0x1

bool Input::Input_List::o_fl0x1

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_G

bool Input::Input_List::o_G

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_Jx

bool Input::Input_List::o_Jx

Definition at line 63 of file input.h.

Referenced by Input_List().

◆ o_Jy

bool Input::Input_List::o_Jy

Definition at line 63 of file input.h.

Referenced by Input_List().

◆ o_Jz

bool Input::Input_List::o_Jz

Definition at line 63 of file input.h.

Referenced by Input_List().

◆ o_ND

bool Input::Input_List::o_ND

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_ni

bool Input::Input_List::o_ni

Definition at line 66 of file input.h.

Referenced by Input_List().

◆ o_Nu

bool Input::Input_List::o_Nu

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_p1p2p3

bool Input::Input_List::o_p1p2p3

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_p1x1

bool Input::Input_List::o_p1x1

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_p2p1x1

bool Input::Input_List::o_p2p1x1

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_Pressure

bool Input::Input_List::o_Pressure

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_pth

bool Input::Input_List::o_pth

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_Px

bool Input::Input_List::o_Px

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_PxPx

bool Input::Input_List::o_PxPx

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_PxPy

bool Input::Input_List::o_PxPy

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_PxPz

bool Input::Input_List::o_PxPz

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_Py

bool Input::Input_List::o_Py

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_PyPy

bool Input::Input_List::o_PyPy

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_PyPz

bool Input::Input_List::o_PyPz

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_Pz

bool Input::Input_List::o_Pz

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_PzPz

bool Input::Input_List::o_PzPz

Definition at line 59 of file input.h.

Referenced by Input_List().

◆ o_Qx

bool Input::Input_List::o_Qx

Definition at line 61 of file input.h.

Referenced by Input_List().

◆ o_Qy

bool Input::Input_List::o_Qy

Definition at line 61 of file input.h.

Referenced by Input_List().

◆ o_Qz

bool Input::Input_List::o_Qz

Definition at line 61 of file input.h.

Referenced by Input_List().

◆ o_Temperature

bool Input::Input_List::o_Temperature

Definition at line 64 of file input.h.

Referenced by Input_List().

◆ o_Ti

bool Input::Input_List::o_Ti

Definition at line 66 of file input.h.

Referenced by Input_List().

◆ o_Ux

bool Input::Input_List::o_Ux

Definition at line 66 of file input.h.

Referenced by Input_List().

◆ o_Uy

bool Input::Input_List::o_Uy

Definition at line 66 of file input.h.

Referenced by Input_List().

◆ o_Uz

bool Input::Input_List::o_Uz

Definition at line 66 of file input.h.

Referenced by Input_List().

◆ o_vNx

bool Input::Input_List::o_vNx

Definition at line 62 of file input.h.

Referenced by Input_List().

◆ o_vNy

bool Input::Input_List::o_vNy

Definition at line 62 of file input.h.

Referenced by Input_List().

◆ o_vNz

bool Input::Input_List::o_vNz

Definition at line 62 of file input.h.

Referenced by Input_List().

◆ o_Vsq

bool Input::Input_List::o_Vsq

Definition at line 61 of file input.h.

Referenced by Input_List().

◆ o_Vx

bool Input::Input_List::o_Vx

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_VxVx

bool Input::Input_List::o_VxVx

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_VxVy

bool Input::Input_List::o_VxVy

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_VxVz

bool Input::Input_List::o_VxVz

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_Vy

bool Input::Input_List::o_Vy

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_VyVy

bool Input::Input_List::o_VyVy

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_VyVz

bool Input::Input_List::o_VyVz

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_VzVz

bool Input::Input_List::o_VzVz

Definition at line 60 of file input.h.

Referenced by Input_List().

◆ o_x1x2

bool Input::Input_List::o_x1x2

Definition at line 58 of file input.h.

Referenced by Input_List().

◆ o_Z

bool Input::Input_List::o_Z

Definition at line 66 of file input.h.

Referenced by Input_List().

◆ only_output

bool Input::Input_List::only_output

Definition at line 67 of file input.h.

Referenced by Input_List().

◆ oTags

std::vector< std::string > Input::Input_List::oTags

Definition at line 153 of file input.h.

Referenced by Input_List().

◆ pmax

std::vector< double > Input::Input_List::pmax

Definition at line 38 of file input.h.

Referenced by Input_List(), and main().

◆ polarization_direction

int Input::Input_List::polarization_direction

Definition at line 85 of file input.h.

Referenced by Input_List().

◆ ps

std::vector<size_t> Input::Input_List::ps

Definition at line 158 of file input.h.

Referenced by Input_List(), and Node_Communications::Node_Communications().

◆ pth

std::vector<double> Input::Input_List::pth

Definition at line 159 of file input.h.

◆ pth_ref

double Input::Input_List::pth_ref

Definition at line 96 of file input.h.

Referenced by Input_List(), and startmessages().

◆ qs

std::vector<double> Input::Input_List::qs

Definition at line 154 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ RB_D_itmax

size_t Input::Input_List::RB_D_itmax

Definition at line 74 of file input.h.

Referenced by Input_List().

◆ RB_D_tolerance

double Input::Input_List::RB_D_tolerance

Definition at line 75 of file input.h.

Referenced by Input_List().

◆ restart_time

int Input::Input_List::restart_time

Definition at line 54 of file input.h.

Referenced by Input_List(), and main().

◆ small_dt

double Input::Input_List::small_dt

Definition at line 76 of file input.h.

Referenced by Input_List().

◆ smaller_dt

double Input::Input_List::smaller_dt

Definition at line 77 of file input.h.

Referenced by Input_List(), and InverseBremsstrahlung::loop().

◆ super_gaussian_m

double Input::Input_List::super_gaussian_m

Definition at line 91 of file input.h.

Referenced by Setup_Y::init_f0(), Setup_Y::init_f1(), and Input_List().

◆ t_stop

double Input::Input_List::t_stop

Definition at line 53 of file input.h.

Referenced by Input_List().

◆ temp_profile_str

std::vector<std::string> Input::Input_List::temp_profile_str

Definition at line 103 of file input.h.

Referenced by Setup_Y::initialize(), and Input_List().

◆ trav_wave

bool Input::Input_List::trav_wave

Definition at line 117 of file input.h.

Referenced by Input_List(), and main().

◆ trav_wave_center

std::vector< double > Input::Input_List::trav_wave_center

Definition at line 148 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ trav_wave_fall

std::vector< double > Input::Input_List::trav_wave_fall

Definition at line 147 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ trav_wave_flat

std::vector< double > Input::Input_List::trav_wave_flat

Definition at line 146 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ trav_wave_rise

std::vector< double > Input::Input_List::trav_wave_rise

Definition at line 145 of file input.h.

Referenced by Setup_Y::applytravelingwave(), and Input_List().

◆ wave_time_envelope_str

std::vector< std::string > Input::Input_List::wave_time_envelope_str

Definition at line 144 of file input.h.

Referenced by Input_List().

◆ xmax

double Input::Input_List::xmax

Definition at line 35 of file input.h.

Referenced by Input_List().

◆ xmaxGlobal

std::vector<double> Input::Input_List::xmaxGlobal

Definition at line 171 of file input.h.

Referenced by Input_List().

◆ xmaxLocal

std::vector<double> Input::Input_List::xmaxLocal

Definition at line 173 of file input.h.

Referenced by Input_List(), and Parallel_Environment_1D::Parallel_Environment_1D().

◆ xmin

double Input::Input_List::xmin

Definition at line 35 of file input.h.

Referenced by Input_List().

◆ xminGlobal

std::vector<double> Input::Input_List::xminGlobal

Definition at line 170 of file input.h.

Referenced by Input_List(), and Parallel_Environment_1D::Parallel_Environment_1D().

◆ xminLocal

std::vector<double> Input::Input_List::xminLocal

Definition at line 172 of file input.h.

Referenced by Input_List(), and Parallel_Environment_1D::Parallel_Environment_1D().


The documentation for this class was generated from the following files: