ParticleDataBase3DImp Class Reference
ParticleDataBase3D implementation. More...
#include <particledatabaseimp.hpp>
Inheritance diagram for ParticleDataBase3DImp:

Public Member Functions | |
ParticleDataBase3DImp (ParticleDataBase *pdb, const Geometry &geom) | |
ParticleDataBase3DImp (const ParticleDataBase3DImp &pdb) | |
ParticleDataBase3DImp (ParticleDataBase *pdb, std::istream &s, const Geometry &geom) | |
const ParticleDataBase3DImp & | operator= (const ParticleDataBase3DImp &pdb) |
virtual void | build_trajectory_density_field (MeshScalarField &tdens) const |
void | add_cylindrical_beam_with_total_energy (uint32_t N, double J, double q, double m, double Etot, const ScalarField &epot, double Tp, double Tt, Vec3D c, Vec3D dir1, Vec3D dir2, double r) |
void | add_cylindrical_beam_with_energy (uint32_t N, double J, double q, double m, double E, double Tp, double Tt, Vec3D c, Vec3D dir1, Vec3D dir2, double r) |
void | add_cylindrical_beam_with_velocity (uint32_t N, double J, double q, double m, double v, double dvp, double dvt, Vec3D c, Vec3D dir1, Vec3D dir2, double r) |
void | add_rectangular_beam_with_energy (uint32_t N, double J, double q, double m, double E, double Tp, double Tt, Vec3D c, Vec3D dir1, Vec3D dir2, double size1, double size2) |
void | add_rectangular_beam_with_velocity (uint32_t N, double J, double q, double m, double v, double dvp, double dvt, Vec3D c, Vec3D dir1, Vec3D dir2, double size1, double size2) |
void | add_3d_KV_beam_with_emittance (uint32_t N, double I, double q, double m, double E0, double a1, double b1, double e1, double a2, double b2, double e2, Vec3D c, Vec3D dir1, Vec3D dir2) |
void | add_3d_waterbag_beam_with_emittance (uint32_t N, double I, double q, double m, double E0, double a1, double b1, double e1, double a2, double b2, double e2, Vec3D c, Vec3D dir1, Vec3D dir2) |
void | add_3d_gaussian_beam_with_emittance (uint32_t N, double I, double q, double m, double E0, double a1, double b1, double e1, double a2, double b2, double e2, Vec3D c, Vec3D dir1, Vec3D dir2) |
void | trajectories_at_free_plane (TrajectoryDiagnosticData &tdata, Vec3D c, Vec3D o, Vec3D p, const std::vector< trajectory_diagnostic_e > &diagnostics) const |
void | export_path_manager_data (const std::string &filename, double ref_E, double ref_q, double ref_m, Vec3D c, Vec3D o, Vec3D p) const |
void | save (std::ostream &os) const |
void | debug_print (std::ostream &os) const |
![]() | |
virtual geom_mode_e | geom_mode () const |
virtual size_t | size (void) const |
Particle< ParticleP3D > & | particle (uint32_t i) |
const Particle< ParticleP3D > & | particle (uint32_t i) const |
virtual double | traj_length (uint32_t i) const |
virtual size_t | traj_size (uint32_t i) const |
const ParticleP3D & | 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< ParticleP3D > > &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< ParticleP3D > &pp) |
void | add_particle (double IQ, double q, double m, const ParticleP3D &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 |
![]() | |
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 ParticleStatistics & | get_statistics (void) const |
void | debug_print (std::ostream &os) const |
Additional Inherited Members | |
![]() | |
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 ParticleDataBasePPImp & | operator= (const ParticleDataBasePPImp &pdb) |
Copy assignment operator. More... | |
![]() | |
ParticleDataBaseImp (ParticleDataBase *pdb, const Geometry &geom) | |
ParticleDataBaseImp (ParticleDataBase *pdb, std::istream &s, const Geometry &geom) | |
ParticleDataBaseImp (const ParticleDataBaseImp &pdb) | |
const ParticleDataBaseImp & | operator= (const ParticleDataBaseImp &pdb) |
void | save (std::ostream &os) const |
![]() | |
static double | energy_to_velocity (double E, double m) |
Convert energy to velocity. More... | |
![]() | |
std::vector< Particle< ParticleP3D > * > | _particles |
Particles. More... | |
Scheduler< ParticleIterator< ParticleP3D >, Particle< ParticleP3D >, Error > | _scheduler |
Scheduler for solver. More... | |
![]() | |
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
ParticleDataBase3D implementation.
Not part of the public interface of the library.
The documentation for this class was generated from the following files: