WarpX
LevelingThinning.H
Go to the documentation of this file.
1 /* Copyright 2019-2020 Neil Zaim
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef WARPX_LEVELING_THINNING_H_
8 #define WARPX_LEVELING_THINNING_H_
9 
10 #include "Resampling.H"
11 
21 public:
22 
26  LevelingThinning () = default;
27 
33  LevelingThinning (const std::string species_name);
34 
42  void operator() (WarpXParIter& pti, const int lev, WarpXParticleContainer * const pc) const override final;
43 
44 private:
45  amrex::Real m_target_ratio = amrex::Real(1.5);
46  int m_min_ppc = 1;
47 };
48 
49 
50 #endif //WARPX_LEVELING_THINNING_H_
LevelingThinning()=default
Default constructor of the LevelingThinning class.
void operator()(WarpXParIter &pti, const int lev, WarpXParticleContainer *const pc) const override final
A method that performs leveling thinning for the considered species.
Definition: LevelingThinning.cpp:31
An empty base class from which specific resampling algorithms are derived.
Definition: Resampling.H:18
amrex::Real m_target_ratio
Definition: LevelingThinning.H:45
int m_min_ppc
Definition: LevelingThinning.H:46
This class implements the leveling thinning algorithm as defined in Muraviev, A., et al...
Definition: LevelingThinning.H:20
Definition: WarpXParticleContainer.H:76
Definition: WarpXParticleContainer.H:131