aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Resampling/Resampling.H
diff options
context:
space:
mode:
authorGravatar NeilZaim <49716072+NeilZaim@users.noreply.github.com> 2020-09-15 03:41:07 +0200
committerGravatar GitHub <noreply@github.com> 2020-09-14 18:41:07 -0700
commit91837614c216f62b4b6cb23f82d5a23a94f5e4d8 (patch)
tree7df9bd2d534b58bd2af8c06a7aca554823c33543 /Source/Particles/Resampling/Resampling.H
parent9da12bfbb4add2b0c6d6661c1d66f612c4e01cdc (diff)
downloadWarpX-91837614c216f62b4b6cb23f82d5a23a94f5e4d8.tar.gz
WarpX-91837614c216f62b4b6cb23f82d5a23a94f5e4d8.tar.zst
WarpX-91837614c216f62b4b6cb23f82d5a23a94f5e4d8.zip
Implement leveling thinning algorithm (#1283)
* Initial commit (not working) * First working version * Cleaning and adding Doxygen comments * Apply suggestions from code review * Move findParticlesInEachCell to Utils/ParticleUtils Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to 'Source/Particles/Resampling/Resampling.H')
-rw-r--r--Source/Particles/Resampling/Resampling.H7
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Particles/Resampling/Resampling.H b/Source/Particles/Resampling/Resampling.H
index 83b3ccfd5..de919bfcb 100644
--- a/Source/Particles/Resampling/Resampling.H
+++ b/Source/Particles/Resampling/Resampling.H
@@ -10,6 +10,7 @@
#include "ResamplingTrigger.H"
class WarpXParIter; // forward declaration
+class WarpXParticleContainer; // forward declaration
/**
* \brief An empty base class from which specific resampling algorithms are derived.
@@ -19,7 +20,7 @@ struct ResamplingAlgorithm
/**
* \brief Virtual operator() of the abstract ResamplingAlgorithm class
*/
- virtual void operator() (WarpXParIter& /*pti*/) = 0;
+ virtual void operator() (WarpXParIter& /*pti*/, const int /*lev*/, WarpXParticleContainer */*pc*/) const = 0;
/**
* \brief Virtual destructor of the abstract ResamplingAlgorithm class
@@ -56,8 +57,10 @@ public:
* \brief A method that uses the ResamplingAlgorithm object to perform resampling.
*
* @param[in] pti WarpX particle iterator of the particles to resample.
+ * @param[in] lev the index of the refinement level.
+ * @param[in] pc a pointer to the particle container.
*/
- void operator() (WarpXParIter& pti) const;
+ void operator() (WarpXParIter& pti, const int lev, WarpXParticleContainer * const pc) const;
private:
ResamplingTrigger m_resampling_trigger;