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
ParticleDataBase2DImp Class Reference

ParticleDataBase2D implementation. More...

#include <particledatabaseimp.hpp>

Inheritance diagram for ParticleDataBase2DImp:
ParticleDataBasePPImp< ParticleP2D > ParticleDataBaseImp

Public Member Functions

 ParticleDataBase2DImp (ParticleDataBase *pdb, const Geometry &geom)
 
 ParticleDataBase2DImp (const ParticleDataBase2DImp &pdb)
 
 ParticleDataBase2DImp (ParticleDataBase *pdb, std::istream &s, const Geometry &geom)
 
const ParticleDataBase2DImpoperator= (const ParticleDataBase2DImp &pdb)
 
virtual void build_trajectory_density_field (MeshScalarField &tdens) const
 
void add_2d_beam_with_velocity (uint32_t N, double J, double q, double m, double v, double dvp, double dvt, double x1, double y1, double x2, double y2)
 
void add_2d_beam_with_energy (uint32_t N, double J, double q, double m, double E, double Tp, double Tt, double x1, double y1, double x2, double y2)
 
void add_2d_KV_beam_with_emittance (uint32_t N, double I, double q, double m, double a, double b, double e, double Ex, double x0, double y0)
 
void add_2d_gaussian_beam_with_emittance (uint32_t N, double I, double q, double m, double a, double b, double e, double Ex, double x0, double y0)
 
void save (std::ostream &os) const
 
void debug_print (std::ostream &os) const
 
- Public Member Functions inherited from ParticleDataBasePPImp< ParticleP2D >
virtual geom_mode_e geom_mode () const
 
virtual size_t size (void) const
 
Particle< ParticleP2D > & particle (uint32_t i)
 
const Particle< ParticleP2D > & particle (uint32_t i) const
 
virtual double traj_length (uint32_t i) const
 
virtual size_t traj_size (uint32_t i) const
 
const ParticleP2Dtrajectory_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< ParticleP2D > > &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< ParticleP2D > &pp)
 
void add_particle (double IQ, double q, double m, const ParticleP2D &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
 
void debug_print (std::ostream &os) const
 

Additional Inherited Members

- Protected Member Functions inherited from ParticleDataBasePPImp< ParticleP2D >
 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
 
- Static Protected Member Functions inherited from ParticleDataBaseImp
static double energy_to_velocity (double E, double m)
 Convert energy to velocity. More...
 
- Protected Attributes inherited from ParticleDataBasePPImp< ParticleP2D >
std::vector< Particle< ParticleP2D > * > _particles
 Particles. More...
 
Scheduler< ParticleIterator< ParticleP2D >, Particle< ParticleP2D >, 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...
 

Detailed Description

ParticleDataBase2D implementation.

Not part of the public interface of the library.


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.