WarpX
BackgroundStopping.H
Go to the documentation of this file.
1 /* Copyright 2022 David Grote
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
8 #define WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
9 
12 
13 #include <AMReX_REAL.H>
14 
15 #include <string>
16 
18  INVALID,
19  ELECTRONS,
20  IONS,
21 };
22 
23 class BackgroundStopping final
24  : public CollisionBase
25 {
26 public:
27  BackgroundStopping (const std::string& collision_name);
28 
29  ~BackgroundStopping () override = default;
30 
35 
43  void doCollisions (amrex::Real cur_time, amrex::Real dt, MultiParticleContainer* mypc) override;
44 
54  void doBackgroundStoppingOnElectronsWithinTile (WarpXParIter& pti, amrex::Real dt, amrex::Real t,
55  amrex::ParticleReal species_mass, amrex::ParticleReal species_charge);
56 
66  void doBackgroundStoppingOnIonsWithinTile (WarpXParIter& pti, amrex::Real dt, amrex::Real t,
67  amrex::ParticleReal species_mass, amrex::ParticleReal species_charge);
68 
69 private:
70 
71  amrex::ParticleReal m_background_mass;
72  amrex::ParticleReal m_background_charge_state;
74 
77 
80 
81 };
82 
83 #endif // WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
BackgroundStoppingType
Definition: BackgroundStopping.H:17
Definition: BackgroundStopping.H:25
amrex::ParticleReal m_background_mass
Definition: BackgroundStopping.H:71
amrex::ParserExecutor< 4 > m_background_temperature_func
Definition: BackgroundStopping.H:79
amrex::ParserExecutor< 4 > m_background_density_func
Definition: BackgroundStopping.H:78
void doCollisions(amrex::Real cur_time, amrex::Real dt, MultiParticleContainer *mypc) override
Definition: BackgroundStopping.cpp:89
BackgroundStopping(const std::string &collision_name)
Definition: BackgroundStopping.cpp:19
BackgroundStopping & operator=(BackgroundStopping const &)=delete
BackgroundStoppingType m_background_type
Definition: BackgroundStopping.H:73
amrex::Parser m_background_temperature_parser
Definition: BackgroundStopping.H:76
BackgroundStopping(BackgroundStopping const &)=delete
~BackgroundStopping() override=default
amrex::Parser m_background_density_parser
Definition: BackgroundStopping.H:75
void doBackgroundStoppingOnElectronsWithinTile(WarpXParIter &pti, amrex::Real dt, amrex::Real t, amrex::ParticleReal species_mass, amrex::ParticleReal species_charge)
Definition: BackgroundStopping.cpp:137
BackgroundStopping(BackgroundStopping &&)=delete
void doBackgroundStoppingOnIonsWithinTile(WarpXParIter &pti, amrex::Real dt, amrex::Real t, amrex::ParticleReal species_mass, amrex::ParticleReal species_charge)
Definition: BackgroundStopping.cpp:211
amrex::ParticleReal m_background_charge_state
Definition: BackgroundStopping.H:72
Definition: CollisionBase.H:18
Definition: MultiParticleContainer.H:66
Definition: WarpXParticleContainer.H:53
float dt
Definition: stencil.py:442