Skip to content

Commit d18ee40

Browse files
authored
ParticleContainer: Split (#108)
* ParticleContainer: Split Split specializations for faster, more resource efficient compiles that can be parallelized. * Unused Param * Authorships
1 parent 087b6d1 commit d18ee40

File tree

7 files changed

+422
-363
lines changed

7 files changed

+422
-363
lines changed

src/Base/Iterator.H

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Authors: Axel Huebl
44
* License: BSD-3-Clause-LBNL
55
*/
6+
#pragma once
7+
68
#include <AMReX_Config.H>
79
#include <AMReX_BoxArray.H>
810
#include <AMReX_DistributionMapping.H>

src/Particle/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@ target_sources(pyAMReX
55
ArrayOfStructs.cpp
66
ParticleTile.cpp
77
ParticleContainer.cpp
8+
ParticleContainer_HiPACE.cpp
9+
ParticleContainer_ImpactX.cpp
10+
ParticleContainer_WarpX.cpp
811
)

src/Particle/ParticleContainer.H

Lines changed: 367 additions & 0 deletions
Large diffs are not rendered by default.

src/Particle/ParticleContainer.cpp

Lines changed: 9 additions & 363 deletions
Large diffs are not rendered by default.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/* Copyright 2022 The AMReX Community
2+
*
3+
* Authors: Ryan Sandberg, Axel Huebl
4+
* License: BSD-3-Clause-LBNL
5+
*/
6+
#include "ParticleContainer.H"
7+
8+
9+
void init_ParticleContainer_HiPACE(py::module& /* m */) {
10+
// TODO: we might need to move all or most of the defines in here into a
11+
// test/example submodule, so they do not collide with downstream projects
12+
//make_ParticleContainer_and_Iterators< 0, 0, 4, 0> (m); // HiPACE++ 22.07
13+
//make_ParticleContainer_and_Iterators< 0, 0, 37, 1> (m); // HiPACE++ 22.07
14+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* Copyright 2022 The AMReX Community
2+
*
3+
* Authors: Ryan Sandberg, Axel Huebl
4+
* License: BSD-3-Clause-LBNL
5+
*/
6+
#include "ParticleContainer.H"
7+
8+
9+
void init_ParticleContainer_ImpactX(py::module& m) {
10+
// TODO: we might need to move all or most of the defines in here into a
11+
// test/example submodule, so they do not collide with downstream projects
12+
make_ParticleContainer_and_Iterators< 0, 0, 5, 0> (m); // ImpactX 22.07
13+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/* Copyright 2022 The AMReX Community
2+
*
3+
* Authors: Ryan Sandberg, Axel Huebl
4+
* License: BSD-3-Clause-LBNL
5+
*/
6+
#include "ParticleContainer.H"
7+
8+
9+
void init_ParticleContainer_WarpX(py::module& m) {
10+
// TODO: we might need to move all or most of the defines in here into a
11+
// test/example submodule, so they do not collide with downstream projects
12+
make_ParticleContainer_and_Iterators< 0, 0, 4, 0> (m); // WarpX 22.07 1D-3D
13+
//make_ParticleContainer_and_Iterators< 0, 0, 5, 0> (m); // WarpX 22.07 RZ
14+
}

0 commit comments

Comments
 (0)