XGC1
 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 <cpp_sml.hpp>

Public Member Functions

 Simulation (int bounce_in, double dt_in, int ncycle_half_in, int sort_frequency_in, int sheath_mode_in, bool sheath_adjust_in, bool ptb_3db_on_in, bool drift_on_in, bool neutrals_in, int nspecies_in, int bounce_zero_weight_in, double bounce_buffer_in, bool diag_heat_on_in, bool deltaf_in, bool xz_00_up_in, int mstep_in, int nrk_in, bool electron_on_in, bool coupling_on_in, bool f0_grid, bool limit_marker_den, int special_in, bool exclude_private_in, int nthreads_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 ncycles_between_sorts
 Number of subcycles between sorts. More...
 
int mstep
 Max number of time steps. More...
 
int nrk
 number of RK loops 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...
 
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...
 
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 ( int  bounce_in,
double  dt_in,
int  ncycle_half_in,
int  sort_frequency_in,
int  sheath_mode_in,
bool  sheath_adjust_in,
bool  ptb_3db_on_in,
bool  drift_on_in,
bool  neutrals_in,
int  nspecies_in,
int  bounce_zero_weight_in,
double  bounce_buffer_in,
bool  diag_heat_on_in,
bool  deltaf_in,
bool  xz_00_up_in,
int  mstep_in,
int  nrk_in,
bool  electron_on_in,
bool  coupling_on_in,
bool  f0_grid_in,
bool  limit_marker_den_in,
int  special_in,
bool  exclude_private_in,
int  nthreads_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>
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>
int Simulation< Device >::ncycles_between_sorts

Number of subcycles between sorts.

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

Toggle for using neutrals.

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

number of RK loops

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 >::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: