diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-04-23 20:19:36 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-04-23 20:19:36 +0200 |
commit | 1dc57770fe88b0564463d67a77a4c35f403c5d7f (patch) | |
tree | a00949038f86e9d300afa54731b6ab372dc38666 /c++/particle/particle.hpp | |
parent | f11181eafa66546da479cc47ee95231f0609c69d (diff) |
Working on mask generation of static solid particles
Diffstat (limited to 'c++/particle/particle.hpp')
-rw-r--r-- | c++/particle/particle.hpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/c++/particle/particle.hpp b/c++/particle/particle.hpp index aeda17f..f893b9b 100644 --- a/c++/particle/particle.hpp +++ b/c++/particle/particle.hpp @@ -18,22 +18,30 @@ using ParticleRigidBody = Struct< template<typename T, uint64_t D> using ParticleMask = Struct< - Member<Array<T,D>, "mask"> + Member<Array<T,D>, "grid"> >; template<typename T, uint64_t D> using Particle = Struct< - Member<ParticleRigidBody<T,D>, "rigid_body"> + Member<ParticleRigidBody<T,D>, "rigid_body">, + Member<ParticleMask<Float32,D>, "mask"> >; } -template<typename T, uint64_t D> +template<typename T, uint64_t D, typename Particle> class particle_system { private: - saw::data<sch::Array<sch::Particle<T,D>>> particles_; + saw::data<sch::Array<Particle, D>> particles_; public: - void step(T time_step){ + void step(T time_step_delta){ + for(auto& iter : particles_){ + verlet_step(time_step_delta); + } + } + + template<typename LbmLattice> + void update_mask(saw::data<LbmLattice>& latt){ for(auto& iter : particles_){ } |