summaryrefslogtreecommitdiff
path: root/modules/core
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-07-15 16:55:56 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-07-15 16:55:56 +0200
commitaedeb28b41ffbe0229d065c69f7d2e4570968ace (patch)
treeb12c4854cf7a1912f2540f29b23835c82e47432d /modules/core
parent44cb41bbe6128f2c7ca92b06e2267d52e3121721 (diff)
downloadlibs-lbm-aedeb28b41ffbe0229d065c69f7d2e4570968ace.tar.gz
Reworking particle_aabb
Diffstat (limited to 'modules/core')
-rw-r--r--modules/core/c++/hlbm.hpp4
-rw-r--r--modules/core/c++/particle/aabb.hpp5
2 files changed, 6 insertions, 3 deletions
diff --git a/modules/core/c++/hlbm.hpp b/modules/core/c++/hlbm.hpp
index 9ddc6c6..eccc2cd 100644
--- a/modules/core/c++/hlbm.hpp
+++ b/modules/core/c++/hlbm.hpp
@@ -105,7 +105,7 @@ class component<T, Desc, cmpt::HlbmParticle, Encode> final {
private:
template<typename CellFieldSchema, typename MacroFieldSchema, typename ParticleSchema, uint64_t i>
void apply_i(const saw::data<CellFieldSchema, Encode>& field, const saw::data<MacroFieldSchema,Encode>& macros, const saw::data<ParticleSchema,Encode>& part_groups, saw::data<sch::FixedArray<sch::UInt64,1u>> index, saw::data<sch::UInt64> time_step) const {
-
+ // if constexpr ( i < )
}
public:
/*
@@ -136,6 +136,8 @@ public:
auto aabb = particle_aabb<ParticleSchema>::calculate(part_spheroid_group,index,mvel.meta());
/// Ok, I iterate over the space which covers our particle? So lower bounds to upper bounds
+ start = aabb.template get<"a">();
+ stop = aabb.template get<"b">();
iterator<Desc::D>::apply([&](const auto& index){
// ask for the d_k value here.
diff --git a/modules/core/c++/particle/aabb.hpp b/modules/core/c++/particle/aabb.hpp
index a838401..983fd97 100644
--- a/modules/core/c++/particle/aabb.hpp
+++ b/modules/core/c++/particle/aabb.hpp
@@ -22,8 +22,8 @@ public:
sch::Member<sch::FixedArray<sch::UInt64,D>,"b">
>;
public:
- template<typename Encode>
- static constexpr saw::error_or<saw::data<AABB>> calculate(const saw::data<Schema,Encode>& p_grp, const saw::data<sch::FixedArray<sch::UInt64,1u>>& i, const saw::data<sch::FixedArray<sch::UInt64,D>>& meta){
+ template<typename Sch, typename Encode>
+ static constexpr saw::error_or<saw::data<AABB>> calculate(const saw::data<Sch,Encode>& p_grp, const saw::data<sch::FixedArray<sch::UInt64,1u>>& i, const saw::data<sch::FixedArray<sch::UInt64,D>>& meta){
static_assert(PC > 0u, "Can't calculate from no particles");
if(not (i.at({0u}).get() < PC) ){
return saw::make_error<saw::err::critical>("Too large i in particle_aabb");
@@ -55,5 +55,6 @@ public:
}
};
+
}
}