diff options
author | 2021-01-03 14:10:24 -0800 | |
---|---|---|
committer | 2021-01-03 14:10:24 -0800 | |
commit | 2fe64fb007abd3b55b320ba1acf2f285345248ae (patch) | |
tree | c9bac6b32c296889717598445917e8704b8c485e /Source/Particles/Collision/CollisionHandler.H | |
parent | 4a62e7c9c62f3ffee3f61902139fd302fefba521 (diff) | |
download | WarpX-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/CollisionHandler.H')
-rw-r--r-- | Source/Particles/Collision/CollisionHandler.H | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Source/Particles/Collision/CollisionHandler.H b/Source/Particles/Collision/CollisionHandler.H new file mode 100644 index 000000000..f4338e3bf --- /dev/null +++ b/Source/Particles/Collision/CollisionHandler.H @@ -0,0 +1,35 @@ +/* Copyright 2020 David Grote + * + * This file is part of WarpX. + * + * License: BSD-3-Clause-LBNL + */ +#ifndef WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_ +#define WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_ + +#include "CollisionBase.H" +#include <AMReX_Vector.H> + +// Forward declaration needed +class MultiParticleContainer; + +/* \brief CollisionHandler is a light weight class that contains the + * list of collisions to be done. + */ +class CollisionHandler +{ +public: + CollisionHandler (); + + /* Perform all of the collisions */ + void doCollisions (amrex::Real cur_time, MultiParticleContainer* mypc); + +private: + + amrex::Vector<std::string> collision_names; + amrex::Vector<std::string> collision_types; + amrex::Vector< std::unique_ptr<CollisionBase> > allcollisions; + +}; + +#endif // WARPX_PARTICLES_COLLISION_COLLISIONHANDLER_H_ |