aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision/CollisionBase.H
diff options
context:
space:
mode:
authorGravatar David Grote <grote1@llnl.gov> 2021-01-03 14:10:24 -0800
committerGravatar GitHub <noreply@github.com> 2021-01-03 14:10:24 -0800
commit2fe64fb007abd3b55b320ba1acf2f285345248ae (patch)
treec9bac6b32c296889717598445917e8704b8c485e /Source/Particles/Collision/CollisionBase.H
parent4a62e7c9c62f3ffee3f61902139fd302fefba521 (diff)
downloadWarpX-2fe64fb007abd3b55b320ba1acf2f285345248ae.tar.gz
WarpX-2fe64fb007abd3b55b320ba1acf2f285345248ae.tar.zst
WarpX-2fe64fb007abd3b55b320ba1acf2f285345248ae.zip
Reconfigured the collision classes to allow for generalization (#1583)
* Reconfigured the collision classes to allow for generalization * Added literals to PairWiseCoulombCollision * Minor cleanup of PairWiseCoulombCollision.cpp, removing query of ndt * Add boilerplate to CollisionBase class * Fixed white space in CollisionBase.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to 'Source/Particles/Collision/CollisionBase.H')
-rw-r--r--Source/Particles/Collision/CollisionBase.H36
1 files changed, 36 insertions, 0 deletions
diff --git a/Source/Particles/Collision/CollisionBase.H b/Source/Particles/Collision/CollisionBase.H
new file mode 100644
index 000000000..f40476847
--- /dev/null
+++ b/Source/Particles/Collision/CollisionBase.H
@@ -0,0 +1,36 @@
+/* Copyright 2020 David Grote
+ *
+ * This file is part of WarpX.
+ *
+ * License: BSD-3-Clause-LBNL
+ */
+#ifndef WARPX_PARTICLES_COLLISION_COLLISIONBASE_H_
+#define WARPX_PARTICLES_COLLISION_COLLISIONBASE_H_
+
+#include <AMReX_ParmParse.H>
+#include <AMReX_Vector.H>
+
+// Forward declaration needed
+class MultiParticleContainer;
+
+class CollisionBase
+{
+public:
+
+ CollisionBase (std::string collision_name);
+
+ virtual void doCollisions (amrex::Real /*cur_time*/, MultiParticleContainer* /*mypc*/ ){}
+
+ CollisionBase(CollisionBase const &) = delete;
+ CollisionBase(CollisionBase &&) = delete;
+ CollisionBase & operator=(CollisionBase const &) = delete;
+
+ virtual ~CollisionBase() = default;
+protected:
+
+ amrex::Vector<std::string> m_species_names;
+ int m_ndt;
+
+};
+
+#endif // WARPX_PARTICLES_COLLISION_COLLISIONBASE_H_