XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
checkpoint_files.hpp
Go to the documentation of this file.
1 #ifndef CHECKPOINT_FILES_HPP
2 #define CHECKPOINT_FILES_HPP
3 
4 #include "sml.hpp"
5 #include "plasma.hpp"
6 #include "electric_field.hpp"
7 #include "grid.hpp"
9 #include "DM_wrapper.hpp"
10 #include "diagnostics.hpp"
11 #include "sheath.hpp"
12 #include "perturbed_B_field.hpp"
13 #include "increase_ptl_tor.hpp"
14 
15 enum class RestartOption{
16  Final,
17  NotFinal
18 };
19 
20 // These are initialized in xgc.cpp but accessed via ADIOS2 lookup.
23 
26 
29 
30  public:
31 
33  int run_count;
34 
36  run_count = 1;
37  nlr.use_namelist("sml_param");
38  restart_write_period = nlr.get<int>("sml_restart_write_period",10000000);
39 
40  increase_ptl_tor_on = nlr.get<bool>("sml_increase_ptl_tor", false);
41  if(increase_ptl_tor_on) increase_ptl_tor_settings = IncreasePtlTorSettings(nlr);
42 
43  nlr.use_namelist("adios_param");
44  adios_stage_restart = nlr.get<bool>("adios_stage_restart",false);
45  adios_stage_restart_f0 = nlr.get<bool>("adios_stage_restartf0",false);
46 
47 
48  // Initialize and open streams
49  stream.Init("restart");
50  }
51 
53 
54  bool write_restart_now(int gstep);
55 
56  void write(const Simulation<DeviceType>& sml,
57  const Grid<DeviceType>& grid,
59  ElectricField<DeviceType>& electric_field,
60  Plasma& plasma,
61  const Sheath<DeviceType>& sheath,
62  const PerturbedBField<DeviceType>& perturbed_B_field,
63  const VelocityGrid& vgrid,
64  const Neutrals<DeviceType>& neutrals,
66  DMWrapper& pseudo_inv_dm,
67  Diagnostics& diagnostics,
68  RestartOption restart_option=RestartOption::NotFinal);
69 
70  void read(Simulation<DeviceType>& sml,
71  Plasma& plasma,
72  ElectricField<DeviceType>& electric_field,
73  Sheath<DeviceType>& sheath,
74  PerturbedBField<DeviceType>& perturbed_B_field,
76  const Grid<DeviceType>& grid,
78  const VelocityGrid& vgrid,
79  Neutrals<DeviceType>& neutrals);
80 
81 };
82 
83 #endif
Definition: perturbed_B_field.hpp:12
void read(Simulation< DeviceType > &sml, Plasma &plasma, ElectricField< DeviceType > &electric_field, Sheath< DeviceType > &sheath, PerturbedBField< DeviceType > &perturbed_B_field, DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const VelocityGrid &vgrid, Neutrals< DeviceType > &neutrals)
Definition: checkpoint_files.cpp:505
T get(const string &param, const T default_val, int val_ind=0)
Definition: NamelistReader.hpp:373
Definition: velocity_grid.hpp:8
Definition: diagnostics.hpp:18
Definition: sml.hpp:8
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1224
Definition: NamelistReader.hpp:193
Definition: DM_wrapper.hpp:38
Definition: magnetic_field.hpp:13
bool do_restart(NLReader::NamelistReader &nlr)
Definition: checkpoint_files.cpp:662
Definition: electric_field.hpp:40
bool write_restart_now(int gstep)
Definition: checkpoint_files.cpp:679
bool increase_ptl_tor_on
Definition: checkpoint_files.hpp:27
bool adios_stage_restart_f0
Enable/disable Adios stage mode for xgc.restartf0.
Definition: checkpoint_files.hpp:25
void use_namelist(const string &namelist)
Definition: NamelistReader.hpp:355
Definition: neutrals.hpp:9
bool adios_stage_restart
Enable/disable Adios stage mode for xgc.restart.
Definition: checkpoint_files.hpp:24
XGC_IO_Stream stream
Definition: checkpoint_files.hpp:22
IncreasePtlTorSettings increase_ptl_tor_settings
Definition: checkpoint_files.hpp:28
Definition: xgc_io.hpp:24
void write(const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, Plasma &plasma, const Sheath< DeviceType > &sheath, const PerturbedBField< DeviceType > &perturbed_B_field, const VelocityGrid &vgrid, const Neutrals< DeviceType > &neutrals, DomainDecomposition< DeviceType > &pol_decomp, DMWrapper &pseudo_inv_dm, Diagnostics &diagnostics, RestartOption restart_option=RestartOption::NotFinal)
Definition: checkpoint_files.cpp:391
Definition: magnetic_field.F90:1
int run_count
How many times the simulation has been restarted.
Definition: checkpoint_files.hpp:33
Definition: plasma.hpp:14
Definition: checkpoint_files.hpp:21
Definition: sheath.hpp:49
void Init(const std::string &IOName)
Definition: xgc_io.hpp:29
CheckpointFiles(NLReader::NamelistReader &nlr)
Definition: checkpoint_files.hpp:35
RestartOption
Definition: checkpoint_files.hpp:15
Definition: increase_ptl_tor.hpp:7
int restart_write_period
How many steps between restart writes.
Definition: checkpoint_files.hpp:32