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
ParticleDataBasePPImp< PP > Class Template Reference
Inheritance diagram for ParticleDataBasePPImp< PP >:
ParticleDataBaseImp

Public Member Functions

virtual geom_mode_e geom_mode () const
 
virtual size_t size (void) const
 
Particle< PP > & particle (uint32_t i)
 
const Particle< PP > & particle (uint32_t i) const
 
virtual double traj_length (uint32_t i) const
 
virtual size_t traj_size (uint32_t i) const
 
const PP & trajectory_point (uint32_t i, uint32_t j) const
 
virtual void trajectory_point (double &t, Vec3D &loc, Vec3D &vel, uint32_t i, uint32_t j) const
 
virtual void trajectories_at_plane (std::vector< Particle< PP > > &tdata, coordinate_axis_e axis, double val) const
 
virtual void trajectories_at_plane (TrajectoryDiagnosticData &tdata, coordinate_axis_e axis, double val, const std::vector< trajectory_diagnostic_e > &diagnostics) const
 
virtual void clear (void)
 
virtual void clear_trajectories (void)
 
virtual void clear_trajectory (size_t a)
 
virtual void reset_trajectories (void)
 
virtual void reset_trajectory (size_t a)
 
virtual void reserve (size_t size)
 
void add_particle (const Particle< PP > &pp)
 
void add_particle (double IQ, double q, double m, const PP &x)
 
virtual void iterate_trajectories (MeshScalarField &scharge, const VectorField &efield, const VectorField &bfield)
 
virtual void step_particles (MeshScalarField &scharge, const VectorField &efield, const VectorField &bfield, double dt)
 
void save (std::ostream &os) const
 
void debug_print (std::ostream &os) const
 
- Public Member Functions inherited from ParticleDataBaseImp
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 void build_trajectory_density_field (MeshScalarField &tdens) const =0
 
void debug_print (std::ostream &os) const
 

Protected Member Functions

 ParticleDataBasePPImp (ParticleDataBase *pdb, const Geometry &geom)
 Constructor, using API pdb. More...
 
 ParticleDataBasePPImp (ParticleDataBase *pdb, std::istream &s, const Geometry &geom)
 Constructor from stream, using API pdb. More...
 
 ParticleDataBasePPImp (const ParticleDataBasePPImp &pdb)
 Copy constructor. More...
 
const ParticleDataBasePPImpoperator= (const ParticleDataBasePPImp &pdb)
 Copy assignment operator. More...
 
- Protected Member Functions inherited from ParticleDataBaseImp
 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
 

Protected Attributes

std::vector< Particle< PP > * > _particles
 Particles. More...
 
Scheduler< ParticleIterator< PP >, Particle< PP >, Error_scheduler
 Scheduler for solver. More...
 
- Protected Attributes inherited from ParticleDataBaseImp
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...
 

Additional Inherited Members

- Static Protected Member Functions inherited from ParticleDataBaseImp
static double energy_to_velocity (double E, double m)
 Convert energy to velocity. More...
 

Constructor & Destructor Documentation

◆ ParticleDataBasePPImp() [1/3]

template<class PP >
ParticleDataBasePPImp< PP >::ParticleDataBasePPImp ( ParticleDataBase pdb,
const Geometry geom 
)
inlineprotected

Constructor, using API pdb.

◆ ParticleDataBasePPImp() [2/3]

template<class PP >
ParticleDataBasePPImp< PP >::ParticleDataBasePPImp ( ParticleDataBase pdb,
std::istream &  s,
const Geometry geom 
)
inlineprotected

Constructor from stream, using API pdb.

◆ ParticleDataBasePPImp() [3/3]

template<class PP >
ParticleDataBasePPImp< PP >::ParticleDataBasePPImp ( const ParticleDataBasePPImp< PP > &  pdb)
inlineprotected

Copy constructor.

Member Function Documentation

◆ operator=()

template<class PP >
const ParticleDataBasePPImp& ParticleDataBasePPImp< PP >::operator= ( const ParticleDataBasePPImp< PP > &  pdb)
inlineprotected

Copy assignment operator.

Member Data Documentation

◆ _particles

template<class PP >
std::vector<Particle<PP> *> ParticleDataBasePPImp< PP >::_particles
protected

Particles.

◆ _scheduler

template<class PP >
Scheduler<ParticleIterator<PP>,Particle<PP>,Error> ParticleDataBasePPImp< PP >::_scheduler
protected

Scheduler for solver.


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


Reference manual for Ion Beam Simulator 1.0.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.