XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
Simulation< Device > Class Template Reference

#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 coupling_on
 Whether coupling is on. 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 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 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...
 
double time
 Current simulation time. More...
 
int gstep
 Current time step. More...
 
int ipc
 RK2 loop index. More...
 

Constructor & Destructor Documentation

template<class Device >
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

Here is the call graph for this function:

template<class Device>
Simulation< Device >::Simulation ( )
inline

Member Data Documentation

template<class Device>
int Simulation< Device >::bounce

Type of bounce boundary condition (0 is none)

template<class Device>
double Simulation< Device >::bounce_buffer

Adds a buffer between the outer simulation boundary and the bounce surface.

template<class Device>
int Simulation< Device >::bounce_zero_weight

Whether to zero out weight at bounce.

template<class Device>
bool Simulation< Device >::coupling_on

Whether coupling is on.

template<class Device>
bool Simulation< Device >::deltaf

Whether some species is deltaf.

template<class Device>
bool Simulation< Device >::diag_heat_on

Use heat diagnostics in sheath.

template<class Device>
double Simulation< Device >::dpot_te_limit

Max absolute value of dpot/temp in getf0.

template<class Device>
bool Simulation< Device >::drift_on

Toggle for using drift.

template<class Device>
double Simulation< Device >::dt

Time step.

template<class Device>
bool Simulation< Device >::electron_on

Use kinetic electrons.

template<class Device>
bool Simulation< Device >::exclude_private

Whether to exclude private region in ion charge deposition.

template<class Device>
bool Simulation< Device >::f0_grid

Whether to use f0 grid.

template<class Device>
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.

template<class Device>
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.

template<class Device>
int Simulation< Device >::f_source_period

Frequency of collisions.

template<class Device>
bool Simulation< Device >::field_solver_on =true

If false, charge deposition and field solve is skipped.

template<class Device>
int Simulation< Device >::gstep

Current time step.

template<class Device>
bool Simulation< Device >::initial_flow

Initial flow.

template<class Device>
int Simulation< Device >::ipc

RK2 loop index.

template<class Device>
bool Simulation< Device >::limit_marker_den

Whether to limit marker density.

template<class Device>
int Simulation< Device >::mstep

Max number of time steps.

template<class Device>
int Simulation< Device >::ncycle_half

Half the number of subcycles.

template<class Device>
bool Simulation< Device >::neutrals

Toggle for using neutrals.

template<class Device>
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)

template<class Device>
int Simulation< Device >::nrk

Order of Runge-Kutta time integration of particles + fields.

template<class Device>
int Simulation< Device >::nspecies

Number of species including electrons.

template<class Device>
int Simulation< Device >::nthreads

Number of OMP threads on the host.

template<class Device>
bool Simulation< Device >::ptb_3db_on

Toggle for ptb_3db.

template<class Device>
bool Simulation< Device >::resamp_for_final_restart_write

Perform resampling before dumping the final restart file.

template<class Device>
bool Simulation< Device >::resamp_on

Do resampling.

template<class Device>
bool Simulation< Device >::resamp_restart_read

Whether to read a restart file written from a simulation with different grid.

template<class Device>
int Simulation< Device >::restart_write_period

How many steps between restart writes.

template<class Device>
bool Simulation< Device >::sheath_adjust

Whether to adjust the sheath.

template<class Device>
int Simulation< Device >::sheath_mode

Type of sheath (0 is none)

template<class Device>
int Simulation< Device >::special

Special run (eg single particle, poincare)

template<class Device>
double Simulation< Device >::time

Current simulation time.

template<class Device>
bool Simulation< Device >::update_poisson_solver

Whether poisson solver is updated.

template<class Device>
bool Simulation< Device >::xz_00_up

Use upper region of xz when obtaining 00 mode.


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