#include <sml.hpp>
Public Member Functions | |
Simulation (NLReader::NamelistReader &nlr, int bounce_in, double dt_in, bool ptb_3db_on_in, bool neutrals_in, int nspecies_in, double bounce_buffer_in, bool deltaf_in, bool xz_00_up_in, bool exclude_private_in, int nthreads_in, double f0_1_Ln_in, double f0_1_Lt_e_in) | |
Simulation () | |
Public Attributes | |
int | bounce |
Type of bounce boundary condition (0 is none) More... | |
int | bounce_zero_weight |
Whether to zero out weight at bounce. More... | |
double | bounce_buffer |
Adds a buffer between the outer simulation boundary and the bounce surface. More... | |
double | dt |
Time step. More... | |
int | ncycle_half |
Half the number of subcycles. More... | |
int | sheath_mode |
Type of sheath (0 is none) More... | |
bool | sheath_adjust |
Whether to adjust the sheath. More... | |
bool | ptb_3db_on |
Toggle for ptb_3db. More... | |
bool | drift_on |
Toggle for using drift. More... | |
bool | neutrals |
Toggle for using neutrals. More... | |
int | nspecies |
Number of species including electrons. More... | |
bool | diag_heat_on |
Use heat diagnostics in sheath. More... | |
bool | deltaf |
Whether some species is deltaf. More... | |
bool | xz_00_up |
Use upper region of xz when obtaining 00 mode. More... | |
int | mstep |
Max number of time steps. More... | |
int | nrk |
Order of Runge-Kutta time integration of particles + fields. More... | |
bool | electron_on |
Use kinetic electrons. More... | |
bool | f0_grid |
Whether to use f0 grid. More... | |
bool | limit_marker_den |
Whether to limit marker density. More... | |
int | special |
Special run (eg single particle, poincare) More... | |
int | nthreads |
Number of OMP threads on the host. More... | |
int | restart_write_period |
How many steps between restart writes. More... | |
bool | field_solver_on =true |
If false, charge deposition and field solve is skipped. More... | |
bool | em_es_step |
bool | exclude_private |
Whether to exclude private region in ion charge deposition. More... | |
int | f_source_period |
Frequency of collisions. More... | |
bool | initial_flow |
Initial flow. More... | |
bool | update_poisson_solver |
Whether poisson solver is updated. More... | |
double | dpot_te_limit |
Max absolute value of dpot/temp in getf0. More... | |
bool | no_fp_in_f |
double | f0_grid_alpha |
int | f0_grid_alpha_start |
bool | f0_update_analytic |
bool | diff_on |
bool | resamp_on |
Do resampling. More... | |
bool | resamp_for_final_restart_write |
Perform resampling before dumping the final restart file. More... | |
bool | resamp_restart_read |
Whether to read a restart file written from a simulation with different grid. More... | |
bool | field_aligned_initial |
bool | flat_marker |
double | marker_temp_factor |
double | marker_temp_factor2 |
double | marker_temp_factor3 |
double | flat_marker_decay_start1 |
double | flat_marker_decay_start2 |
double | flat_marker_cutoff1 |
double | flat_marker_cutoff2 |
double | flat_marker_width1 |
double | flat_marker_width2 |
double | initial_deltaf_noise |
double | marker_min_temp |
double | low_mu_fill_population |
double | time |
Current simulation time. More... | |
int | gstep |
Current time step. More... | |
int | ipc |
2nd order Runge-Kutta index, or predictor-corrector index More... | |
int | mstep_rmp_es |
int | mstep_rmp_em |
int | rmp_es_to_em_dt_ratio |
Ratio of EM to ES time step size in RMP penetration calculation. More... | |
Simulation< Device >::Simulation | ( | NLReader::NamelistReader & | nlr, |
int | bounce_in, | ||
double | dt_in, | ||
bool | ptb_3db_on_in, | ||
bool | neutrals_in, | ||
int | nspecies_in, | ||
double | bounce_buffer_in, | ||
bool | deltaf_in, | ||
bool | xz_00_up_in, | ||
bool | exclude_private_in, | ||
int | nthreads_in, | ||
double | f0_1_Ln_in, | ||
double | f0_1_Lt_e_in | ||
) |
Constructor for simulation
|
inline |
int Simulation< Device >::bounce |
Type of bounce boundary condition (0 is none)
double Simulation< Device >::bounce_buffer |
Adds a buffer between the outer simulation boundary and the bounce surface.
int Simulation< Device >::bounce_zero_weight |
Whether to zero out weight at bounce.
bool Simulation< Device >::deltaf |
Whether some species is deltaf.
bool Simulation< Device >::diag_heat_on |
Use heat diagnostics in sheath.
bool Simulation< Device >::diff_on |
double Simulation< Device >::dpot_te_limit |
Max absolute value of dpot/temp in getf0.
bool Simulation< Device >::drift_on |
Toggle for using drift.
double Simulation< Device >::dt |
Time step.
bool Simulation< Device >::electron_on |
Use kinetic electrons.
bool Simulation< Device >::em_es_step |
If true, the ES algorithm will be used within the EM code (details in XGC_core/module.F90)
bool Simulation< Device >::exclude_private |
Whether to exclude private region in ion charge deposition.
bool Simulation< Device >::f0_grid |
Whether to use f0 grid.
double Simulation< Device >::f0_grid_alpha |
Fraction of the particle weight that is transferred to the background distribution function (particle noise control) every sml_f_source_period time steps. As a rule of thumb, sml_f0_grid_alpha=sml_dt*sml_f_source_period can be used.
int Simulation< Device >::f0_grid_alpha_start |
For delayed onset of total-f particle noise control. (must be >=1) Values >1 cause a linear ramp-up of sml_f0_grid_alpha from 0 to its input value from time step 1 to sml_f0_grid_alpha_start.
bool Simulation< Device >::f0_update_analytic |
int Simulation< Device >::f_source_period |
Frequency of collisions.
bool Simulation< Device >::field_aligned_initial |
bool Simulation< Device >::field_solver_on =true |
If false, charge deposition and field solve is skipped.
bool Simulation< Device >::flat_marker |
double Simulation< Device >::flat_marker_cutoff1 |
double Simulation< Device >::flat_marker_cutoff2 |
double Simulation< Device >::flat_marker_decay_start1 |
double Simulation< Device >::flat_marker_decay_start2 |
double Simulation< Device >::flat_marker_width1 |
double Simulation< Device >::flat_marker_width2 |
int Simulation< Device >::gstep |
Current time step.
double Simulation< Device >::initial_deltaf_noise |
bool Simulation< Device >::initial_flow |
Initial flow.
int Simulation< Device >::ipc |
2nd order Runge-Kutta index, or predictor-corrector index
bool Simulation< Device >::limit_marker_den |
Whether to limit marker density.
double Simulation< Device >::low_mu_fill_population |
double Simulation< Device >::marker_min_temp |
double Simulation< Device >::marker_temp_factor |
double Simulation< Device >::marker_temp_factor2 |
double Simulation< Device >::marker_temp_factor3 |
int Simulation< Device >::mstep |
Max number of time steps.
int Simulation< Device >::mstep_rmp_em |
Number of electromagnetic time steps for RMP penetration calculation with damped Newton iteration
int Simulation< Device >::mstep_rmp_es |
Number of electrostatic time steps for RMP penetration calculation with damped Newton iteration
int Simulation< Device >::ncycle_half |
Half the number of subcycles.
bool Simulation< Device >::neutrals |
Toggle for using neutrals.
bool Simulation< Device >::no_fp_in_f |
If .true. the distribution function used for the source routines will not include particle information (only for testing)
int Simulation< Device >::nrk |
Order of Runge-Kutta time integration of particles + fields.
int Simulation< Device >::nspecies |
Number of species including electrons.
int Simulation< Device >::nthreads |
Number of OMP threads on the host.
bool Simulation< Device >::ptb_3db_on |
Toggle for ptb_3db.
bool Simulation< Device >::resamp_for_final_restart_write |
Perform resampling before dumping the final restart file.
bool Simulation< Device >::resamp_on |
Do resampling.
bool Simulation< Device >::resamp_restart_read |
Whether to read a restart file written from a simulation with different grid.
int Simulation< Device >::restart_write_period |
How many steps between restart writes.
int Simulation< Device >::rmp_es_to_em_dt_ratio |
Ratio of EM to ES time step size in RMP penetration calculation.
bool Simulation< Device >::sheath_adjust |
Whether to adjust the sheath.
int Simulation< Device >::sheath_mode |
Type of sheath (0 is none)
int Simulation< Device >::special |
Special run (eg single particle, poincare)
double Simulation< Device >::time |
Current simulation time.
bool Simulation< Device >::update_poisson_solver |
Whether poisson solver is updated.
bool Simulation< Device >::xz_00_up |
Use upper region of xz when obtaining 00 mode.