ARTEMIS
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 (std::string collision_name);
28 
29  virtual ~BackgroundStopping () = default;
30 
38  void doCollisions (amrex::Real cur_time, amrex::Real dt, MultiParticleContainer* mypc) override;
39 
49  void doBackgroundStoppingOnElectronsWithinTile (WarpXParIter& pti, amrex::Real dt, amrex::Real t,
50  amrex::ParticleReal species_mass, amrex::ParticleReal species_charge);
51 
61  void doBackgroundStoppingOnIonsWithinTile (WarpXParIter& pti, amrex::Real dt, amrex::Real t,
62  amrex::ParticleReal species_mass, amrex::ParticleReal species_charge);
63 
64 private:
65 
66  amrex::ParticleReal m_background_mass;
67  amrex::ParticleReal m_background_charge_state;
69 
72 
75 
76 };
77 
78 #endif // WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
BackgroundStoppingType
Definition: BackgroundStopping.H:17
Definition: BackgroundStopping.H:25
amrex::ParticleReal m_background_mass
Definition: BackgroundStopping.H:66
amrex::ParserExecutor< 4 > m_background_temperature_func
Definition: BackgroundStopping.H:74
amrex::ParserExecutor< 4 > m_background_density_func
Definition: BackgroundStopping.H:73
void doCollisions(amrex::Real cur_time, amrex::Real dt, MultiParticleContainer *mypc) override
Definition: BackgroundStopping.cpp:89
BackgroundStoppingType m_background_type
Definition: BackgroundStopping.H:68
amrex::Parser m_background_temperature_parser
Definition: BackgroundStopping.H:71
amrex::Parser m_background_density_parser
Definition: BackgroundStopping.H:70
void doBackgroundStoppingOnElectronsWithinTile(WarpXParIter &pti, amrex::Real dt, amrex::Real t, amrex::ParticleReal species_mass, amrex::ParticleReal species_charge)
Definition: BackgroundStopping.cpp:137
virtual ~BackgroundStopping()=default
BackgroundStopping(std::string collision_name)
Definition: BackgroundStopping.cpp:19
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:67
Definition: CollisionBase.H:18
Definition: MultiParticleContainer.H:65
Definition: WarpXParticleContainer.H:52
int dt
Definition: stencil.py:440