Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   Version 1.0.5new_solver
   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< ParticleP2D > ParticleDataBasePPImp< ParticlePCyl > ParticleDataBasePPImp< ParticleP3D > ParticleDataBasePPImp< PP > ParticleDataBase2DImp ParticleDataBaseCylImp ParticleDataBase3DImp

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 reset_trajectories (void)=0
 
virtual void reset_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

◆ energy_to_velocity()

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

◆ _bsup_cb

const CallbackFunctorD_V* ParticleDataBaseImp::_bsup_cb
protected

Location dependent magnetic field suppression.

◆ _epsabs

double ParticleDataBaseImp::_epsabs
protected

Absolute error limit for calculation.

◆ _epsrel

double ParticleDataBaseImp::_epsrel
protected

Relative error limit for calculation.

◆ _intrp

trajectory_interpolation_e ParticleDataBaseImp::_intrp
protected

Trajectory interpolation type.

◆ _iteration

uint32_t ParticleDataBaseImp::_iteration
protected

Iteration number.

◆ _maxsteps

uint32_t ParticleDataBaseImp::_maxsteps
protected

Maximum number of steps to calculate.

◆ _maxt

double ParticleDataBaseImp::_maxt
protected

Maximum particle time in simulation.

◆ _mirror

bool ParticleDataBaseImp::_mirror[6]
protected

Boundary particle mirroring.

◆ _pdb

ParticleDataBase* ParticleDataBaseImp::_pdb
protected

Particle database pointer.

◆ _relativistic

bool ParticleDataBaseImp::_relativistic
protected

Relativistic particle iteration.

◆ _rhosum

double ParticleDataBaseImp::_rhosum
protected

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

◆ _save_points

bool ParticleDataBaseImp::_save_points
protected

Save all points?

◆ _scharge_dep

scharge_deposition_e ParticleDataBaseImp::_scharge_dep
protected

Space charge deposition type.

◆ _stat

ParticleStatistics ParticleDataBaseImp::_stat
protected

Particle statistics.

◆ _surface_collision

bool ParticleDataBaseImp::_surface_collision
protected

Surface collision model.

◆ _tend_cb

TrajectoryEndCallback* ParticleDataBaseImp::_tend_cb
protected

Trajectory collision callback.

◆ _thand_cb

TrajectoryHandlerCallback* ParticleDataBaseImp::_thand_cb
protected

Trajectory handler callback.

◆ _trajdiv

uint32_t ParticleDataBaseImp::_trajdiv
protected

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

◆ _tsur_cb

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.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.