summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-10-05 19:53:13 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-10-05 19:53:13 +0200
commit8ff7003d3016b9e0295150aa4f91804eb00677fc (patch)
tree392b283ca1c63808359576229760d2e8732194fa
parent691079df271fc5116f435496d0646c67e8a73701 (diff)
downloadlibs-lbm-8ff7003d3016b9e0295150aa4f91804eb00677fc.tar.gz
Center of mass calculation for grid
-rw-r--r--c++/particle/geometry/circle.hpp6
-rw-r--r--examples/poiseulle_particles_channel_2d/poiseulle_particles_channel_2d.cpp5
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;