diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-10-05 19:53:13 +0200 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-10-05 19:53:13 +0200 |
| commit | 8ff7003d3016b9e0295150aa4f91804eb00677fc (patch) | |
| tree | 392b283ca1c63808359576229760d2e8732194fa | |
| parent | 691079df271fc5116f435496d0646c67e8a73701 (diff) | |
| download | libs-lbm-8ff7003d3016b9e0295150aa4f91804eb00677fc.tar.gz | |
Center of mass calculation for grid
| -rw-r--r-- | c++/particle/geometry/circle.hpp | 6 | ||||
| -rw-r--r-- | examples/poiseulle_particles_channel_2d/poiseulle_particles_channel_2d.cpp | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/c++/particle/geometry/circle.hpp b/c++/particle/geometry/circle.hpp index 069a1a5..ef67fdd 100644 --- a/c++/particle/geometry/circle.hpp +++ b/c++/particle/geometry/circle.hpp @@ -17,6 +17,7 @@ public: saw::data<sch::ParticleMask<MT,2>> mask; auto& grid = mask.template get<"grid">(); + auto& com = mask.template get<"center_of_mass">(); //uint64_t rad_i = static_cast<uint64_t>(resolution * radius_.get())+1u; uint64_t rad_i = resolution; @@ -41,6 +42,11 @@ public: } } + saw::data<sch::Vector<T,2u>> com{{0,0}}; + iterate_over([&](saw::data<saw::FixedArray<sch::UInt64,2u>>& index){ + + },{{0u,0u}}, grid.meta()); + return mask; } }; diff --git a/examples/poiseulle_particles_channel_2d/poiseulle_particles_channel_2d.cpp b/examples/poiseulle_particles_channel_2d/poiseulle_particles_channel_2d.cpp index e38710a..5ae3a11 100644 --- a/examples/poiseulle_particles_channel_2d/poiseulle_particles_channel_2d.cpp +++ b/examples/poiseulle_particles_channel_2d/poiseulle_particles_channel_2d.cpp @@ -347,10 +347,9 @@ void couple_particles_to_lattice( } saw::data<sch::Vector<sch::T,2u>> mask_shift; - { + for(uint64_t i = 0u; i < sch::D2Q9::D; ++i){ // Technically rotate and adjust here - mask_shift.at({{0u}}) = index_shift.at({{0u}}); - mask_shift.at({{1u}}) = index_shift.at({{1u}}); + mask_shift.at({{i}}) = index_shift.at({{i}}); } auto p_pos_lie = p_pos + mask_shift; |
