Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.5new_solver
      Class Index
      File List
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads
Inheritance diagram for ParticleDataBaseImp:
ParticleDataBasePPImp< PP > ParticleDataBasePPImp< ParticleP2D > ParticleDataBasePPImp< ParticleP3D > ParticleDataBasePPImp< ParticlePCyl > ParticleDataBase2DImp ParticleDataBase3DImp ParticleDataBaseCylImp

Public Member Functions

void set_accuracy (double epsabs, double epsrel)
 
void set_bfield_suppression (const CallbackFunctorD_V *functor)
 
void set_trajectory_handler_callback (TrajectoryHandlerCallback *thand_cb)
 
void set_trajectory_end_callback (TrajectoryEndCallback *tend_cb)
 
void set_trajectory_surface_collision_callback (TrajectorySurfaceCollisionCallback *tsur_cb)
 
void set_relativistic (bool enable)
 
void set_surface_collision (bool surface_collision)
 
void set_polyint (bool polyint)
 
bool get_polyint (void) const
 
void set_trajectory_interpolation (trajectory_interpolation_e intrp)
 
trajectory_interpolation_e get_trajectory_interpolation (void) const
 
void set_scharge_deposition (scharge_deposition_e type)
 
scharge_deposition_e get_scharge_deposition (void) const
 
void set_max_steps (uint32_t maxsteps)
 
void set_max_time (double maxt)
 
void set_save_all_points (bool save_points)
 
void set_save_trajectories (uint32_t div)
 
uint32_t get_save_trajectories (void) const
 
void set_mirror (const bool mirror[6])
 
void get_mirror (bool mirror[6]) const
 
int get_iteration_number (void) const
 
double get_rhosum (void) const
 
void set_rhosum (double rhosum)
 
const ParticleStatisticsget_statistics (void) const
 
virtual geom_mode_e geom_mode () const =0
 
virtual size_t size (void) const =0
 
virtual size_t traj_size (uint32_t i) const =0
 
virtual double traj_length (uint32_t i) const =0
 
virtual void trajectory_point (double &t, Vec3D &loc, Vec3D &vel, uint32_t i, uint32_t j) const =0
 
virtual void trajectories_at_plane (TrajectoryDiagnosticData &tdata, coordinate_axis_e axis, double val, const std::vector< trajectory_diagnostic_e > &diagnostics) const =0
 
virtual void clear (void)=0
 
virtual void clear_trajectories (void)=0
 
virtual void clear_trajectory (size_t a)=0
 
virtual void reserve (size_t size)=0
 
virtual void build_trajectory_density_field (MeshScalarField &tdens) const =0
 
virtual void iterate_trajectories (MeshScalarField &scharge, const VectorField &efield, const VectorField &bfield)=0
 
virtual void step_particles (MeshScalarField &scharge, const VectorField &efield, const VectorField &bfield, double dt)=0
 
void debug_print (std::ostream &os) const
 

Protected Member Functions

 ParticleDataBaseImp (ParticleDataBase *pdb, const Geometry &geom)
 
 ParticleDataBaseImp (ParticleDataBase *pdb, std::istream &s, const Geometry &geom)
 
 ParticleDataBaseImp (const ParticleDataBaseImp &pdb)
 
const ParticleDataBaseImpoperator= (const ParticleDataBaseImp &pdb)
 
void save (std::ostream &os) const
 

Static Protected Member Functions

static double energy_to_velocity (double E, double m)
 Convert energy to velocity. More...
 

Protected Attributes

const Geometry_geom
 
double _epsabs
 Absolute error limit for calculation. More...
 
double _epsrel
 Relative error limit for calculation. More...
 
trajectory_interpolation_e _intrp
 Trajectory interpolation type. More...
 
scharge_deposition_e _scharge_dep
 Space charge deposition type. More...
 
uint32_t _maxsteps
 Maximum number of steps to calculate. More...
 
double _maxt
 Maximum particle time in simulation. More...
 
bool _save_points
 Save all points? More...
 
uint32_t _trajdiv
 Divisor for saved trajectories, if 3, every third trajectory is saved. More...
 
bool _mirror [6]
 Boundary particle mirroring. More...
 
double _rhosum
 Sum of space charge density in defined beams (C/m3). More...
 
ParticleStatistics _stat
 Particle statistics. More...
 
uint32_t _iteration
 Iteration number. More...
 
bool _relativistic
 Relativistic particle iteration. More...
 
bool _surface_collision
 Surface collision model. More...
 
const CallbackFunctorD_V_bsup_cb
 Location dependent magnetic field suppression. More...
 
TrajectoryHandlerCallback_thand_cb
 Trajectory handler callback. More...
 
TrajectoryEndCallback_tend_cb
 Trajectory collision callback. More...
 
TrajectorySurfaceCollisionCallback_tsur_cb
 Trajectory surface collision callback. More...
 
ParticleDataBase_pdb
 Particle database pointer. More...
 

Member Function Documentation

double ParticleDataBaseImp::energy_to_velocity ( double  E,
double  m 
)
staticprotected

Convert energy to velocity.

Energy E given in Joules and mass m in kg.

Member Data Documentation

const CallbackFunctorD_V* ParticleDataBaseImp::_bsup_cb
protected

Location dependent magnetic field suppression.

double ParticleDataBaseImp::_epsabs
protected

Absolute error limit for calculation.

double ParticleDataBaseImp::_epsrel
protected

Relative error limit for calculation.

trajectory_interpolation_e ParticleDataBaseImp::_intrp
protected

Trajectory interpolation type.

uint32_t ParticleDataBaseImp::_iteration
protected

Iteration number.

uint32_t ParticleDataBaseImp::_maxsteps
protected

Maximum number of steps to calculate.

double ParticleDataBaseImp::_maxt
protected

Maximum particle time in simulation.

bool ParticleDataBaseImp::_mirror[6]
protected

Boundary particle mirroring.

ParticleDataBase* ParticleDataBaseImp::_pdb
protected

Particle database pointer.

bool ParticleDataBaseImp::_relativistic
protected

Relativistic particle iteration.

double ParticleDataBaseImp::_rhosum
protected

Sum of space charge density in defined beams (C/m3).

bool ParticleDataBaseImp::_save_points
protected

Save all points?

scharge_deposition_e ParticleDataBaseImp::_scharge_dep
protected

Space charge deposition type.

ParticleStatistics ParticleDataBaseImp::_stat
protected

Particle statistics.

bool ParticleDataBaseImp::_surface_collision
protected

Surface collision model.

TrajectoryEndCallback* ParticleDataBaseImp::_tend_cb
protected

Trajectory collision callback.

TrajectoryHandlerCallback* ParticleDataBaseImp::_thand_cb
protected

Trajectory handler callback.

uint32_t ParticleDataBaseImp::_trajdiv
protected

Divisor for saved trajectories, if 3, every third trajectory is saved.

TrajectorySurfaceCollisionCallback* ParticleDataBaseImp::_tsur_cb
protected

Trajectory surface collision callback.


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


Reference manual for Ion Beam Simulator 1.0.5new_solver
Generated by Doxygen 1.8.5 on Tue May 19 2015 09:15:43.