diff options
author | 2021-10-04 21:31:53 +0200 | |
---|---|---|
committer | 2021-10-04 12:31:53 -0700 | |
commit | d0cc41acec8fbba8d66fabd3351751adf00903d7 (patch) | |
tree | a81179ac9fa9df10a5f3eee4c62eee2812a5b2f2 /Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H | |
parent | f32fca03f725afa92ee380884d86e116e265aee1 (diff) | |
download | WarpX-d0cc41acec8fbba8d66fabd3351751adf00903d7.tar.gz WarpX-d0cc41acec8fbba8d66fabd3351751adf00903d7.tar.zst WarpX-d0cc41acec8fbba8d66fabd3351751adf00903d7.zip |
Add structure for proton-boron fusion module (#2217)
* Add structure for proton-boron fusion module
* Fix clang compile error
* Generalize structure for other nuclear fusion types
* Workaround: try to use std::vectors to fix clang compile error
* Simplify workaround for clang
* Rebase on 2245 and add empty particle creation functor
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add couple of consts and runtime assert
* Add another const
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to 'Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H')
-rw-r--r-- | Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H new file mode 100644 index 000000000..c20e9716c --- /dev/null +++ b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H @@ -0,0 +1,30 @@ +/* Copyright 2021 Neil Zaim + * + * This file is part of WarpX. + * + * License: BSD-3-Clause-LBNL + */ + +#ifndef BINARY_COLLISION_UTILS_H_ +#define BINARY_COLLISION_UTILS_H_ + +#include <string> + +#include "Particles/MultiParticleContainer.H" + +enum struct CollisionType { ProtonBoronFusion, Undefined }; + +enum struct NuclearFusionType { ProtonBoron, Undefined }; + +namespace BinaryCollisionUtils{ + + NuclearFusionType get_nuclear_fusion_type (const std::string collision_name, + MultiParticleContainer const * const mypc); + + CollisionType get_collision_type (const std::string collision_name, + MultiParticleContainer const * const mypc); + + CollisionType nuclear_fusion_type_to_collision_type (const NuclearFusionType fusion_type); +} + +#endif // BINARY_COLLISION_UTILS_H_ |