diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-07-15 16:55:56 +0200 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-07-15 16:55:56 +0200 |
| commit | aedeb28b41ffbe0229d065c69f7d2e4570968ace (patch) | |
| tree | b12c4854cf7a1912f2540f29b23835c82e47432d /modules/core | |
| parent | 44cb41bbe6128f2c7ca92b06e2267d52e3121721 (diff) | |
| download | libs-lbm-aedeb28b41ffbe0229d065c69f7d2e4570968ace.tar.gz | |
Reworking particle_aabb
Diffstat (limited to 'modules/core')
| -rw-r--r-- | modules/core/c++/hlbm.hpp | 4 | ||||
| -rw-r--r-- | modules/core/c++/particle/aabb.hpp | 5 |
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: } }; + } } |
