summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--default.nix22
-rw-r--r--examples/stokes_drag_particle_2d_hlbm_gpu/sim.cpp2
-rw-r--r--examples/stokes_drag_particle_2d_psm_gpu/sim.cpp6
-rw-r--r--modules/core/.nix/derivation.nix (renamed from lib/core/.nix/derivation.nix)0
-rw-r--r--modules/core/SConstruct (renamed from lib/core/SConstruct)0
-rw-r--r--modules/core/c++/SConscript (renamed from lib/core/c++/SConscript)0
-rw-r--r--modules/core/c++/abstract/data.hpp (renamed from lib/core/c++/abstract/data.hpp)0
-rw-r--r--modules/core/c++/abstract/templates.hpp (renamed from lib/core/c++/abstract/templates.hpp)0
-rw-r--r--modules/core/c++/args.hpp (renamed from lib/core/c++/args.hpp)0
-rw-r--r--modules/core/c++/boundary.hpp (renamed from lib/core/c++/boundary.hpp)0
-rw-r--r--modules/core/c++/chunk.hpp (renamed from lib/core/c++/chunk.hpp)0
-rw-r--r--modules/core/c++/collision.hpp (renamed from lib/core/c++/collision.hpp)0
-rw-r--r--modules/core/c++/common.hpp (renamed from lib/core/c++/common.hpp)0
-rw-r--r--modules/core/c++/component.hpp (renamed from lib/core/c++/component.hpp)0
-rw-r--r--modules/core/c++/config.hpp (renamed from lib/core/c++/config.hpp)0
-rw-r--r--modules/core/c++/converter.hpp (renamed from lib/core/c++/converter.hpp)0
-rw-r--r--modules/core/c++/descriptor.hpp (renamed from lib/core/c++/descriptor.hpp)0
-rw-r--r--modules/core/c++/dfs.hpp (renamed from lib/core/c++/dfs.hpp)0
-rw-r--r--modules/core/c++/environment.hpp (renamed from lib/core/c++/environment.hpp)0
-rw-r--r--modules/core/c++/equilibrium.hpp (renamed from lib/core/c++/equilibrium.hpp)0
-rw-r--r--modules/core/c++/flatten.hpp (renamed from lib/core/c++/flatten.hpp)0
-rw-r--r--modules/core/c++/fplbm.hpp (renamed from lib/core/c++/fplbm.hpp)0
-rw-r--r--modules/core/c++/geometry.hpp (renamed from lib/core/c++/geometry.hpp)0
-rw-r--r--modules/core/c++/geometry/poiseulle_channel.hpp (renamed from lib/core/c++/geometry/poiseulle_channel.hpp)0
-rw-r--r--modules/core/c++/grid.hpp (renamed from lib/core/c++/grid.hpp)0
-rw-r--r--modules/core/c++/hlbm.hpp (renamed from lib/core/c++/hlbm.hpp)27
-rw-r--r--modules/core/c++/index.hpp (renamed from lib/core/c++/index.hpp)0
-rw-r--r--modules/core/c++/iterator.hpp (renamed from lib/core/c++/iterator.hpp)0
-rw-r--r--modules/core/c++/lbm.hpp (renamed from lib/core/c++/lbm.hpp)0
-rw-r--r--modules/core/c++/lbm_unit.hpp (renamed from lib/core/c++/lbm_unit.hpp)0
-rw-r--r--modules/core/c++/macroscopic.hpp (renamed from lib/core/c++/macroscopic.hpp)0
-rw-r--r--modules/core/c++/math/math.hpp (renamed from lib/core/c++/math/math.hpp)0
-rw-r--r--modules/core/c++/math/n_closest.hpp (renamed from lib/core/c++/math/n_closest.hpp)0
-rw-r--r--modules/core/c++/math/n_linear.hpp (renamed from lib/core/c++/math/n_linear.hpp)0
-rw-r--r--modules/core/c++/math/round.hpp (renamed from lib/core/c++/math/round.hpp)0
-rw-r--r--modules/core/c++/memory.hpp (renamed from lib/core/c++/memory.hpp)0
-rw-r--r--modules/core/c++/momentum_gather.hpp (renamed from lib/core/c++/momentum_gather.hpp)0
-rw-r--r--modules/core/c++/particle.hpp (renamed from lib/core/c++/particle.hpp)0
-rw-r--r--modules/core/c++/particle/aabb.hpp (renamed from lib/core/c++/particle/aabb.hpp)0
-rw-r--r--modules/core/c++/particle/blur.hpp (renamed from lib/core/c++/particle/blur.hpp)0
-rw-r--r--modules/core/c++/particle/common.hpp (renamed from lib/core/c++/particle/common.hpp)0
-rw-r--r--modules/core/c++/particle/geometry/circle.hpp (renamed from lib/core/c++/particle/geometry/circle.hpp)0
-rw-r--r--modules/core/c++/particle/geometry/cube.hpp (renamed from lib/core/c++/particle/geometry/cube.hpp)0
-rw-r--r--modules/core/c++/particle/particle.hpp (renamed from lib/core/c++/particle/particle.hpp)0
-rw-r--r--modules/core/c++/particle/particle_opa.hpp (renamed from lib/core/c++/particle/particle_opa.hpp)1
-rw-r--r--modules/core/c++/particle/porosity.hpp (renamed from lib/core/c++/particle/porosity.hpp)0
-rw-r--r--modules/core/c++/particle/schema.hpp (renamed from lib/core/c++/particle/schema.hpp)0
-rw-r--r--modules/core/c++/psm.hpp (renamed from lib/core/c++/psm.hpp)0
-rw-r--r--modules/core/c++/rar.hpp (renamed from lib/core/c++/rar.hpp)0
-rw-r--r--modules/core/c++/schema.hpp (renamed from lib/core/c++/schema.hpp)0
-rw-r--r--modules/core/c++/simulation/common.hpp (renamed from lib/core/c++/simulation/common.hpp)0
-rw-r--r--modules/core/c++/simulation/hlbm.hpp (renamed from lib/core/c++/simulation/hlbm.hpp)0
-rw-r--r--modules/core/c++/statistics.hpp (renamed from lib/core/c++/statistics.hpp)0
-rw-r--r--modules/core/c++/stream.hpp (renamed from lib/core/c++/stream.hpp)0
-rw-r--r--modules/core/c++/util.hpp (renamed from lib/core/c++/util.hpp)0
-rw-r--r--modules/core/c++/write_csv.hpp (renamed from lib/core/c++/write_csv.hpp)0
-rw-r--r--modules/core/c++/write_json.hpp (renamed from lib/core/c++/write_json.hpp)0
-rw-r--r--modules/core/c++/write_vtk.hpp (renamed from lib/core/c++/write_vtk.hpp)0
-rw-r--r--modules/core/tests/SConscript (renamed from lib/core/tests/SConscript)0
-rw-r--r--modules/core/tests/chunk.cpp (renamed from lib/core/tests/chunk.cpp)0
-rw-r--r--modules/core/tests/collision.cpp (renamed from lib/core/tests/collision.cpp)0
-rw-r--r--modules/core/tests/converter.cpp (renamed from lib/core/tests/converter.cpp)0
-rw-r--r--modules/core/tests/descriptor.cpp (renamed from lib/core/tests/descriptor.cpp)0
-rw-r--r--modules/core/tests/equilibrium.cpp (renamed from lib/core/tests/equilibrium.cpp)0
-rw-r--r--modules/core/tests/flatten.cpp (renamed from lib/core/tests/flatten.cpp)0
-rw-r--r--modules/core/tests/iterator.cpp (renamed from lib/core/tests/iterator.cpp)0
-rw-r--r--modules/core/tests/math.cpp (renamed from lib/core/tests/math.cpp)0
-rw-r--r--modules/core/tests/memory.cpp (renamed from lib/core/tests/memory.cpp)0
-rw-r--r--modules/core/tests/particles.cpp (renamed from lib/core/tests/particles.cpp)6
-rw-r--r--modules/core/tests/vtk_write.cpp (renamed from lib/core/tests/vtk_write.cpp)0
-rw-r--r--modules/heterogenous/.nix/derivation.nix (renamed from lib/heterogenous/.nix/derivation.nix)0
-rw-r--r--modules/heterogenous/SConstruct (renamed from lib/heterogenous/SConstruct)0
-rw-r--r--modules/heterogenous/c++/SConscript (renamed from lib/heterogenous/c++/SConscript)0
-rw-r--r--modules/heterogenous/c++/common.hpp (renamed from lib/heterogenous/c++/common.hpp)0
-rw-r--r--modules/heterogenous/tests/SConscript (renamed from lib/heterogenous/tests/SConscript)0
-rw-r--r--modules/png/.nix/derivation.nix (renamed from lib/png/.nix/derivation.nix)0
-rw-r--r--modules/png/SConstruct (renamed from lib/png/SConstruct)0
-rw-r--r--modules/png/c++/SConscript (renamed from lib/png/c++/SConscript)0
-rw-r--r--modules/png/c++/png.cpp (renamed from lib/png/c++/png.cpp)0
-rw-r--r--modules/png/c++/png.hpp (renamed from lib/png/c++/png.hpp)0
-rw-r--r--modules/sycl/.nix/derivation.nix (renamed from lib/sycl/.nix/derivation.nix)0
-rw-r--r--modules/sycl/SConstruct (renamed from lib/sycl/SConstruct)0
-rw-r--r--modules/sycl/c++/SConscript (renamed from lib/sycl/c++/SConscript)0
-rw-r--r--modules/sycl/c++/common.hpp (renamed from lib/sycl/c++/common.hpp)0
-rw-r--r--modules/sycl/c++/data.hpp (renamed from lib/sycl/c++/data.hpp)0
-rw-r--r--modules/sycl/c++/index.hpp (renamed from lib/sycl/c++/index.hpp)0
-rw-r--r--modules/sycl/c++/lbm.hpp (renamed from lib/sycl/c++/lbm.hpp)0
-rw-r--r--modules/sycl/c++/sycl.hpp (renamed from lib/sycl/c++/sycl.hpp)0
-rw-r--r--modules/sycl/tests/SConscript (renamed from lib/sycl/tests/SConscript)0
-rw-r--r--modules/sycl/tests/data.cpp (renamed from lib/sycl/tests/data.cpp)0
90 files changed, 55 insertions, 9 deletions
diff --git a/default.nix b/default.nix
index f0b4935..8e4322f 100644
--- a/default.nix
+++ b/default.nix
@@ -70,10 +70,10 @@ let
in rec {
kel = {
lbm = {
- core = pkgs.callPackage ./lib/core/.nix/derivation.nix {
+ core = pkgs.callPackage ./modules/core/.nix/derivation.nix {
inherit forstio stdenv clang-tools pname version;
};
- sycl = pkgs.callPackage ./lib/sycl/.nix/derivation.nix {
+ sycl = pkgs.callPackage ./modules/sycl/.nix/derivation.nix {
inherit forstio stdenv clang-tools pname version kel adaptive-cpp;
};
};
@@ -248,6 +248,24 @@ in rec {
examples.poiseulle_particles_2d_ibm_gpu
];
};
+
+ poiseulle_particles_2d = pkgs.symlinkJoin {
+ name = "kel-lbm-sims-poiseulle_particles_2d-${version}";
+ paths = [
+ examples.poiseulle_particles_2d_bgk_gpu
+ examples.poiseulle_particles_2d_psm_gpu
+ examples.poiseulle_particles_2d_hlbm_gpu
+ examples.poiseulle_particles_2d_fplbm_gpu
+ ];
+ };
+ stokes_drag_2d = pkgs.symlinkJoin {
+ name = "kel-lbm-sims-stokes_drag_2d-${version}";
+ paths = [
+ examples.stokes_drag_particle_2d_psm_gpu
+ examples.stokes_drag_particle_2d_hlbm_gpu
+ examples.stokes_drag_particle_2d_fplbm_gpu
+ ];
+ };
};
default = release.examples;
diff --git a/examples/stokes_drag_particle_2d_hlbm_gpu/sim.cpp b/examples/stokes_drag_particle_2d_hlbm_gpu/sim.cpp
index a919bbe..49e6d43 100644
--- a/examples/stokes_drag_particle_2d_hlbm_gpu/sim.cpp
+++ b/examples/stokes_drag_particle_2d_hlbm_gpu/sim.cpp
@@ -197,6 +197,7 @@ saw::error_or<void> step(
q.submit([&](acpp::sycl::handler& h){
component<T,Desc,cmpt::BGK, encode::Sycl<saw::encode::Native>> bgk{0.8};
component<T,Desc,cmpt::Hlbm,encode::Sycl<saw::encode::Native>> collision{0.8};
+ component<T,Desc,cmpt::HlbmOneParticleMomentumExchange,encode::Sycl<saw::encode::Native>> one_part_moment;
component<T,Desc,cmpt::BounceBack,encode::Sycl<saw::encode::Native>> bb;
component<T,Desc,cmpt::AntiBounceBack<0u>,encode::Sycl<saw::encode::Native>> abb;
@@ -241,6 +242,7 @@ saw::error_or<void> step(
break;
case 2u:
opa.apply(macros,index,t_i);
+ one_part_moment.apply(fields,macros,index,t_i);
collision.apply(fields,macros,index,t_i);
fg.apply(fields,macros,index,t_i);
break;
diff --git a/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp b/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp
index 7a14e3f..a94a2ce 100644
--- a/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp
+++ b/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp
@@ -473,6 +473,12 @@ saw::error_or<void> lbm_main(int argc, char** argv){
return eov;
}
}
+ {
+ auto eov = write_csv_file(out_dir,"m",time_steps.get(), *lbm_macro_data_ptr);
+ if(eov.is_error()){
+ return eov;
+ }
+ }
sycl_q.wait();
return saw::make_void();
diff --git a/lib/core/.nix/derivation.nix b/modules/core/.nix/derivation.nix
index 55a414f..55a414f 100644
--- a/lib/core/.nix/derivation.nix
+++ b/modules/core/.nix/derivation.nix
diff --git a/lib/core/SConstruct b/modules/core/SConstruct
index 8b3ab01..8b3ab01 100644
--- a/lib/core/SConstruct
+++ b/modules/core/SConstruct
diff --git a/lib/core/c++/SConscript b/modules/core/c++/SConscript
index 91f5b3e..91f5b3e 100644
--- a/lib/core/c++/SConscript
+++ b/modules/core/c++/SConscript
diff --git a/lib/core/c++/abstract/data.hpp b/modules/core/c++/abstract/data.hpp
index ed23268..ed23268 100644
--- a/lib/core/c++/abstract/data.hpp
+++ b/modules/core/c++/abstract/data.hpp
diff --git a/lib/core/c++/abstract/templates.hpp b/modules/core/c++/abstract/templates.hpp
index d9d9faa..d9d9faa 100644
--- a/lib/core/c++/abstract/templates.hpp
+++ b/modules/core/c++/abstract/templates.hpp
diff --git a/lib/core/c++/args.hpp b/modules/core/c++/args.hpp
index a0aa941..a0aa941 100644
--- a/lib/core/c++/args.hpp
+++ b/modules/core/c++/args.hpp
diff --git a/lib/core/c++/boundary.hpp b/modules/core/c++/boundary.hpp
index 01ae7b5..01ae7b5 100644
--- a/lib/core/c++/boundary.hpp
+++ b/modules/core/c++/boundary.hpp
diff --git a/lib/core/c++/chunk.hpp b/modules/core/c++/chunk.hpp
index 635af91..635af91 100644
--- a/lib/core/c++/chunk.hpp
+++ b/modules/core/c++/chunk.hpp
diff --git a/lib/core/c++/collision.hpp b/modules/core/c++/collision.hpp
index 023f61f..023f61f 100644
--- a/lib/core/c++/collision.hpp
+++ b/modules/core/c++/collision.hpp
diff --git a/lib/core/c++/common.hpp b/modules/core/c++/common.hpp
index 280d953..280d953 100644
--- a/lib/core/c++/common.hpp
+++ b/modules/core/c++/common.hpp
diff --git a/lib/core/c++/component.hpp b/modules/core/c++/component.hpp
index 1e5dbbf..1e5dbbf 100644
--- a/lib/core/c++/component.hpp
+++ b/modules/core/c++/component.hpp
diff --git a/lib/core/c++/config.hpp b/modules/core/c++/config.hpp
index 64f7a0f..64f7a0f 100644
--- a/lib/core/c++/config.hpp
+++ b/modules/core/c++/config.hpp
diff --git a/lib/core/c++/converter.hpp b/modules/core/c++/converter.hpp
index 4370a2c..4370a2c 100644
--- a/lib/core/c++/converter.hpp
+++ b/modules/core/c++/converter.hpp
diff --git a/lib/core/c++/descriptor.hpp b/modules/core/c++/descriptor.hpp
index 9f7399a..9f7399a 100644
--- a/lib/core/c++/descriptor.hpp
+++ b/modules/core/c++/descriptor.hpp
diff --git a/lib/core/c++/dfs.hpp b/modules/core/c++/dfs.hpp
index 175e9f2..175e9f2 100644
--- a/lib/core/c++/dfs.hpp
+++ b/modules/core/c++/dfs.hpp
diff --git a/lib/core/c++/environment.hpp b/modules/core/c++/environment.hpp
index d8aa9ae..d8aa9ae 100644
--- a/lib/core/c++/environment.hpp
+++ b/modules/core/c++/environment.hpp
diff --git a/lib/core/c++/equilibrium.hpp b/modules/core/c++/equilibrium.hpp
index eb2b043..eb2b043 100644
--- a/lib/core/c++/equilibrium.hpp
+++ b/modules/core/c++/equilibrium.hpp
diff --git a/lib/core/c++/flatten.hpp b/modules/core/c++/flatten.hpp
index 1609589..1609589 100644
--- a/lib/core/c++/flatten.hpp
+++ b/modules/core/c++/flatten.hpp
diff --git a/lib/core/c++/fplbm.hpp b/modules/core/c++/fplbm.hpp
index c974472..c974472 100644
--- a/lib/core/c++/fplbm.hpp
+++ b/modules/core/c++/fplbm.hpp
diff --git a/lib/core/c++/geometry.hpp b/modules/core/c++/geometry.hpp
index 1c5d0a3..1c5d0a3 100644
--- a/lib/core/c++/geometry.hpp
+++ b/modules/core/c++/geometry.hpp
diff --git a/lib/core/c++/geometry/poiseulle_channel.hpp b/modules/core/c++/geometry/poiseulle_channel.hpp
index f719ec4..f719ec4 100644
--- a/lib/core/c++/geometry/poiseulle_channel.hpp
+++ b/modules/core/c++/geometry/poiseulle_channel.hpp
diff --git a/lib/core/c++/grid.hpp b/modules/core/c++/grid.hpp
index c9a3b05..c9a3b05 100644
--- a/lib/core/c++/grid.hpp
+++ b/modules/core/c++/grid.hpp
diff --git a/lib/core/c++/hlbm.hpp b/modules/core/c++/hlbm.hpp
index 18c32a5..346ec04 100644
--- a/lib/core/c++/hlbm.hpp
+++ b/modules/core/c++/hlbm.hpp
@@ -102,10 +102,6 @@ public:
}
};
-namespace impl {
-
-}
-
template<typename T, typename Desc, typename Encode>
class component<T, Desc, cmpt::HlbmParticle, Encode> final {
private:
@@ -160,8 +156,29 @@ template<typename T, typename Desc, typename Encode>
class component<T, Desc, cmpt::HlbmOneParticleMomentumExchange, Encode> final {
public:
template<typename CellFieldSchema, typename MacroFieldSchema, typename ParticleSchema>
- void apply(const saw::data<CellFieldSchema, Encode>& field, const saw::data<MacroFieldSchema,Encode>& macros, const saw::data<ParticleSchema,Encode>& part_group, saw::data<sch::FixedArray<sch::UInt64,1u>> index, saw::data<sch::UInt64> time_step) const {
+ void apply(const saw::data<CellFieldSchema, Encode>& field, const saw::data<MacroFieldSchema,Encode>& macros, saw::data<sch::FixedArray<sch::UInt64,Desc::D>> index, saw::data<sch::UInt64> time_step) const {
//
+ using dfi = df_info<T,Desc>;
+ bool is_even = ((time_step.get() % 2) == 0);
+
+ auto& dfs_old_f = (is_even) ? field.template get<"dfs_old">() : field.template get<"dfs">();
+
+ saw::data<sch::Vector<T,Desc::D>> momentum;
+ for(uint64_t i = 0u; i < Desc::Q; ++i){
+
+ saw::data<sch::Vector<sch::Int32,Desc::D>> e_i;
+ for(uint64_t k{0u}; k < Desc::D; ++k){
+ e_i.at({{k}}) = dfi::directions[i][k];
+ }
+
+ uint64_t i_opp = dfi::opposite_index[i];
+
+ momentum = momentum + e_i * (dfs_old_f.at({{i}}) + dfs_old_f.at({{i_opp}}));
+ }
+ auto& force_f = macros.template get<"force">();
+
+ // Set Force
+ force_f.at(index) = momentum * macros.template get<"porosity">().at(index);
}
};
}
diff --git a/lib/core/c++/index.hpp b/modules/core/c++/index.hpp
index 00e597e..00e597e 100644
--- a/lib/core/c++/index.hpp
+++ b/modules/core/c++/index.hpp
diff --git a/lib/core/c++/iterator.hpp b/modules/core/c++/iterator.hpp
index 7fd6f58..7fd6f58 100644
--- a/lib/core/c++/iterator.hpp
+++ b/modules/core/c++/iterator.hpp
diff --git a/lib/core/c++/lbm.hpp b/modules/core/c++/lbm.hpp
index 23d30b1..23d30b1 100644
--- a/lib/core/c++/lbm.hpp
+++ b/modules/core/c++/lbm.hpp
diff --git a/lib/core/c++/lbm_unit.hpp b/modules/core/c++/lbm_unit.hpp
index 2d90652..2d90652 100644
--- a/lib/core/c++/lbm_unit.hpp
+++ b/modules/core/c++/lbm_unit.hpp
diff --git a/lib/core/c++/macroscopic.hpp b/modules/core/c++/macroscopic.hpp
index 19ab3e9..19ab3e9 100644
--- a/lib/core/c++/macroscopic.hpp
+++ b/modules/core/c++/macroscopic.hpp
diff --git a/lib/core/c++/math/math.hpp b/modules/core/c++/math/math.hpp
index 3920bec..3920bec 100644
--- a/lib/core/c++/math/math.hpp
+++ b/modules/core/c++/math/math.hpp
diff --git a/lib/core/c++/math/n_closest.hpp b/modules/core/c++/math/n_closest.hpp
index ac0fe2f..ac0fe2f 100644
--- a/lib/core/c++/math/n_closest.hpp
+++ b/modules/core/c++/math/n_closest.hpp
diff --git a/lib/core/c++/math/n_linear.hpp b/modules/core/c++/math/n_linear.hpp
index b378440..b378440 100644
--- a/lib/core/c++/math/n_linear.hpp
+++ b/modules/core/c++/math/n_linear.hpp
diff --git a/lib/core/c++/math/round.hpp b/modules/core/c++/math/round.hpp
index d3a2586..d3a2586 100644
--- a/lib/core/c++/math/round.hpp
+++ b/modules/core/c++/math/round.hpp
diff --git a/lib/core/c++/memory.hpp b/modules/core/c++/memory.hpp
index e97c7fc..e97c7fc 100644
--- a/lib/core/c++/memory.hpp
+++ b/modules/core/c++/memory.hpp
diff --git a/lib/core/c++/momentum_gather.hpp b/modules/core/c++/momentum_gather.hpp
index 7b1fc96..7b1fc96 100644
--- a/lib/core/c++/momentum_gather.hpp
+++ b/modules/core/c++/momentum_gather.hpp
diff --git a/lib/core/c++/particle.hpp b/modules/core/c++/particle.hpp
index 691a74b..691a74b 100644
--- a/lib/core/c++/particle.hpp
+++ b/modules/core/c++/particle.hpp
diff --git a/lib/core/c++/particle/aabb.hpp b/modules/core/c++/particle/aabb.hpp
index 1773dea..1773dea 100644
--- a/lib/core/c++/particle/aabb.hpp
+++ b/modules/core/c++/particle/aabb.hpp
diff --git a/lib/core/c++/particle/blur.hpp b/modules/core/c++/particle/blur.hpp
index b7a1988..b7a1988 100644
--- a/lib/core/c++/particle/blur.hpp
+++ b/modules/core/c++/particle/blur.hpp
diff --git a/lib/core/c++/particle/common.hpp b/modules/core/c++/particle/common.hpp
index 9e673c2..9e673c2 100644
--- a/lib/core/c++/particle/common.hpp
+++ b/modules/core/c++/particle/common.hpp
diff --git a/lib/core/c++/particle/geometry/circle.hpp b/modules/core/c++/particle/geometry/circle.hpp
index cf9b87e..cf9b87e 100644
--- a/lib/core/c++/particle/geometry/circle.hpp
+++ b/modules/core/c++/particle/geometry/circle.hpp
diff --git a/lib/core/c++/particle/geometry/cube.hpp b/modules/core/c++/particle/geometry/cube.hpp
index 6392de8..6392de8 100644
--- a/lib/core/c++/particle/geometry/cube.hpp
+++ b/modules/core/c++/particle/geometry/cube.hpp
diff --git a/lib/core/c++/particle/particle.hpp b/modules/core/c++/particle/particle.hpp
index 8e75e5a..8e75e5a 100644
--- a/lib/core/c++/particle/particle.hpp
+++ b/modules/core/c++/particle/particle.hpp
diff --git a/lib/core/c++/particle/particle_opa.hpp b/modules/core/c++/particle/particle_opa.hpp
index a5e6c28..30a8ade 100644
--- a/lib/core/c++/particle/particle_opa.hpp
+++ b/modules/core/c++/particle/particle_opa.hpp
@@ -34,7 +34,6 @@ public:
using dfi = df_info<T,Descriptor>;
auto& porous_f = macros.template get<"porosity">();
-
auto& porous = porous_f.at(index);
auto pos_ind = saw::math::vectorize_data(index);
diff --git a/lib/core/c++/particle/porosity.hpp b/modules/core/c++/particle/porosity.hpp
index 2f39d2e..2f39d2e 100644
--- a/lib/core/c++/particle/porosity.hpp
+++ b/modules/core/c++/particle/porosity.hpp
diff --git a/lib/core/c++/particle/schema.hpp b/modules/core/c++/particle/schema.hpp
index 714a16f..714a16f 100644
--- a/lib/core/c++/particle/schema.hpp
+++ b/modules/core/c++/particle/schema.hpp
diff --git a/lib/core/c++/psm.hpp b/modules/core/c++/psm.hpp
index 6dc146f..6dc146f 100644
--- a/lib/core/c++/psm.hpp
+++ b/modules/core/c++/psm.hpp
diff --git a/lib/core/c++/rar.hpp b/modules/core/c++/rar.hpp
index dc2b61c..dc2b61c 100644
--- a/lib/core/c++/rar.hpp
+++ b/modules/core/c++/rar.hpp
diff --git a/lib/core/c++/schema.hpp b/modules/core/c++/schema.hpp
index 7712f99..7712f99 100644
--- a/lib/core/c++/schema.hpp
+++ b/modules/core/c++/schema.hpp
diff --git a/lib/core/c++/simulation/common.hpp b/modules/core/c++/simulation/common.hpp
index f675a99..f675a99 100644
--- a/lib/core/c++/simulation/common.hpp
+++ b/modules/core/c++/simulation/common.hpp
diff --git a/lib/core/c++/simulation/hlbm.hpp b/modules/core/c++/simulation/hlbm.hpp
index 93df9a7..93df9a7 100644
--- a/lib/core/c++/simulation/hlbm.hpp
+++ b/modules/core/c++/simulation/hlbm.hpp
diff --git a/lib/core/c++/statistics.hpp b/modules/core/c++/statistics.hpp
index c07ccb7..c07ccb7 100644
--- a/lib/core/c++/statistics.hpp
+++ b/modules/core/c++/statistics.hpp
diff --git a/lib/core/c++/stream.hpp b/modules/core/c++/stream.hpp
index dc7cfb3..dc7cfb3 100644
--- a/lib/core/c++/stream.hpp
+++ b/modules/core/c++/stream.hpp
diff --git a/lib/core/c++/util.hpp b/modules/core/c++/util.hpp
index 0bdebd1..0bdebd1 100644
--- a/lib/core/c++/util.hpp
+++ b/modules/core/c++/util.hpp
diff --git a/lib/core/c++/write_csv.hpp b/modules/core/c++/write_csv.hpp
index a60e208..a60e208 100644
--- a/lib/core/c++/write_csv.hpp
+++ b/modules/core/c++/write_csv.hpp
diff --git a/lib/core/c++/write_json.hpp b/modules/core/c++/write_json.hpp
index 19bbfa6..19bbfa6 100644
--- a/lib/core/c++/write_json.hpp
+++ b/modules/core/c++/write_json.hpp
diff --git a/lib/core/c++/write_vtk.hpp b/modules/core/c++/write_vtk.hpp
index e852172..e852172 100644
--- a/lib/core/c++/write_vtk.hpp
+++ b/modules/core/c++/write_vtk.hpp
diff --git a/lib/core/tests/SConscript b/modules/core/tests/SConscript
index d1b381e..d1b381e 100644
--- a/lib/core/tests/SConscript
+++ b/modules/core/tests/SConscript
diff --git a/lib/core/tests/chunk.cpp b/modules/core/tests/chunk.cpp
index 008d4c6..008d4c6 100644
--- a/lib/core/tests/chunk.cpp
+++ b/modules/core/tests/chunk.cpp
diff --git a/lib/core/tests/collision.cpp b/modules/core/tests/collision.cpp
index cd53336..cd53336 100644
--- a/lib/core/tests/collision.cpp
+++ b/modules/core/tests/collision.cpp
diff --git a/lib/core/tests/converter.cpp b/modules/core/tests/converter.cpp
index 4fc536f..4fc536f 100644
--- a/lib/core/tests/converter.cpp
+++ b/modules/core/tests/converter.cpp
diff --git a/lib/core/tests/descriptor.cpp b/modules/core/tests/descriptor.cpp
index 7f743ce..7f743ce 100644
--- a/lib/core/tests/descriptor.cpp
+++ b/modules/core/tests/descriptor.cpp
diff --git a/lib/core/tests/equilibrium.cpp b/modules/core/tests/equilibrium.cpp
index 20a1f08..20a1f08 100644
--- a/lib/core/tests/equilibrium.cpp
+++ b/modules/core/tests/equilibrium.cpp
diff --git a/lib/core/tests/flatten.cpp b/modules/core/tests/flatten.cpp
index 84b3fa4..84b3fa4 100644
--- a/lib/core/tests/flatten.cpp
+++ b/modules/core/tests/flatten.cpp
diff --git a/lib/core/tests/iterator.cpp b/modules/core/tests/iterator.cpp
index 919c12c..919c12c 100644
--- a/lib/core/tests/iterator.cpp
+++ b/modules/core/tests/iterator.cpp
diff --git a/lib/core/tests/math.cpp b/modules/core/tests/math.cpp
index d456ce8..d456ce8 100644
--- a/lib/core/tests/math.cpp
+++ b/modules/core/tests/math.cpp
diff --git a/lib/core/tests/memory.cpp b/modules/core/tests/memory.cpp
index d59d212..d59d212 100644
--- a/lib/core/tests/memory.cpp
+++ b/modules/core/tests/memory.cpp
diff --git a/lib/core/tests/particles.cpp b/modules/core/tests/particles.cpp
index 133c343..f474e3b 100644
--- a/lib/core/tests/particles.cpp
+++ b/modules/core/tests/particles.cpp
@@ -276,6 +276,10 @@ SAW_TEST("Verlet integration test 2D"){
SAW_TEST("Spheroid Particle / AABB"){
using namespace kel;
-
+ auto spheroid_pgrp = lbm::create_spheroid_particle_group<sch::Float64, lbm::coll::Spheroid<sch::Float64>>({},{},{8u});
+
+ auto res = lbm::particle_aabb<sch::Float64,sch::ParticleGroup<T,D,coll::Spheroid<T>>>::calculate(spheroid_pgrp);
+
+ std::cout<<res<<std::endl;
}
}
diff --git a/lib/core/tests/vtk_write.cpp b/modules/core/tests/vtk_write.cpp
index c99d752..c99d752 100644
--- a/lib/core/tests/vtk_write.cpp
+++ b/modules/core/tests/vtk_write.cpp
diff --git a/lib/heterogenous/.nix/derivation.nix b/modules/heterogenous/.nix/derivation.nix
index 3686e21..3686e21 100644
--- a/lib/heterogenous/.nix/derivation.nix
+++ b/modules/heterogenous/.nix/derivation.nix
diff --git a/lib/heterogenous/SConstruct b/modules/heterogenous/SConstruct
index 8b3ab01..8b3ab01 100644
--- a/lib/heterogenous/SConstruct
+++ b/modules/heterogenous/SConstruct
diff --git a/lib/heterogenous/c++/SConscript b/modules/heterogenous/c++/SConscript
index b66e979..b66e979 100644
--- a/lib/heterogenous/c++/SConscript
+++ b/modules/heterogenous/c++/SConscript
diff --git a/lib/heterogenous/c++/common.hpp b/modules/heterogenous/c++/common.hpp
index 789c876..789c876 100644
--- a/lib/heterogenous/c++/common.hpp
+++ b/modules/heterogenous/c++/common.hpp
diff --git a/lib/heterogenous/tests/SConscript b/modules/heterogenous/tests/SConscript
index d1b381e..d1b381e 100644
--- a/lib/heterogenous/tests/SConscript
+++ b/modules/heterogenous/tests/SConscript
diff --git a/lib/png/.nix/derivation.nix b/modules/png/.nix/derivation.nix
index 6e52083..6e52083 100644
--- a/lib/png/.nix/derivation.nix
+++ b/modules/png/.nix/derivation.nix
diff --git a/lib/png/SConstruct b/modules/png/SConstruct
index 8b3ab01..8b3ab01 100644
--- a/lib/png/SConstruct
+++ b/modules/png/SConstruct
diff --git a/lib/png/c++/SConscript b/modules/png/c++/SConscript
index 75b8645..75b8645 100644
--- a/lib/png/c++/SConscript
+++ b/modules/png/c++/SConscript
diff --git a/lib/png/c++/png.cpp b/modules/png/c++/png.cpp
index 248a8a5..248a8a5 100644
--- a/lib/png/c++/png.cpp
+++ b/modules/png/c++/png.cpp
diff --git a/lib/png/c++/png.hpp b/modules/png/c++/png.hpp
index f675a99..f675a99 100644
--- a/lib/png/c++/png.hpp
+++ b/modules/png/c++/png.hpp
diff --git a/lib/sycl/.nix/derivation.nix b/modules/sycl/.nix/derivation.nix
index 4422739..4422739 100644
--- a/lib/sycl/.nix/derivation.nix
+++ b/modules/sycl/.nix/derivation.nix
diff --git a/lib/sycl/SConstruct b/modules/sycl/SConstruct
index f8bfbcb..f8bfbcb 100644
--- a/lib/sycl/SConstruct
+++ b/modules/sycl/SConstruct
diff --git a/lib/sycl/c++/SConscript b/modules/sycl/c++/SConscript
index 2ed63ba..2ed63ba 100644
--- a/lib/sycl/c++/SConscript
+++ b/modules/sycl/c++/SConscript
diff --git a/lib/sycl/c++/common.hpp b/modules/sycl/c++/common.hpp
index 8ff76fc..8ff76fc 100644
--- a/lib/sycl/c++/common.hpp
+++ b/modules/sycl/c++/common.hpp
diff --git a/lib/sycl/c++/data.hpp b/modules/sycl/c++/data.hpp
index 9f43848..9f43848 100644
--- a/lib/sycl/c++/data.hpp
+++ b/modules/sycl/c++/data.hpp
diff --git a/lib/sycl/c++/index.hpp b/modules/sycl/c++/index.hpp
index 0d2c035..0d2c035 100644
--- a/lib/sycl/c++/index.hpp
+++ b/modules/sycl/c++/index.hpp
diff --git a/lib/sycl/c++/lbm.hpp b/modules/sycl/c++/lbm.hpp
index 3e67ae6..3e67ae6 100644
--- a/lib/sycl/c++/lbm.hpp
+++ b/modules/sycl/c++/lbm.hpp
diff --git a/lib/sycl/c++/sycl.hpp b/modules/sycl/c++/sycl.hpp
index 973b511..973b511 100644
--- a/lib/sycl/c++/sycl.hpp
+++ b/modules/sycl/c++/sycl.hpp
diff --git a/lib/sycl/tests/SConscript b/modules/sycl/tests/SConscript
index d1b381e..d1b381e 100644
--- a/lib/sycl/tests/SConscript
+++ b/modules/sycl/tests/SConscript
diff --git a/lib/sycl/tests/data.cpp b/modules/sycl/tests/data.cpp
index 4321a0d..4321a0d 100644
--- a/lib/sycl/tests/data.cpp
+++ b/modules/sycl/tests/data.cpp