summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/stokes_drag_particle_2d_psm_gpu/sim.cpp2
-rw-r--r--modules/core/c++/psm.hpp16
2 files changed, 2 insertions, 16 deletions
diff --git a/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp b/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp
index 572fab0..2c75ef1 100644
--- a/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp
+++ b/examples/stokes_drag_particle_2d_psm_gpu/sim.cpp
@@ -178,6 +178,7 @@ saw::error_or<void> step(
component<T,Desc,cmpt::PSM,encode::Sycl<saw::encode::Native>> collision{0.8};
component<T,Desc,cmpt::BounceBack,encode::Sycl<saw::encode::Native>> bb;
component<T,Desc,cmpt::AntiBounceBack<0u>,encode::Sycl<saw::encode::Native>> abb;
+ component<T,Desc,cmpt::HlbmOneParticleMomentumExchange,encode::Sycl<saw::encode::Native>> one_part_moment;
saw::data<sch::Scalar<T>> eps;
eps.at({}).set(1.5f);
@@ -222,6 +223,7 @@ saw::error_or<void> step(
break;
case 2u:
opa.apply(macros,index,t_i);
+ one_part_moment.apply(fields,macros,index,t_i);
collision.apply(fields,macros,index,t_i);
fg.apply(fields,macros,index,t_i);
break;
diff --git a/modules/core/c++/psm.hpp b/modules/core/c++/psm.hpp
index 6dc146f..10e8f6e 100644
--- a/modules/core/c++/psm.hpp
+++ b/modules/core/c++/psm.hpp
@@ -60,22 +60,6 @@ public:
uint64_t i_opp = dfi::opposite_index[i];
dfs.at({i}) = dfs_cpy.at({i}) + frequency_ * (eq.at(i) - dfs_cpy.at({i})) * porous.at({}) + (dfs_cpy.at({i_opp}) - dfs_cpy.at({i}) ) * flip_porous;
}
-
- auto& force_f = macros.template get<"force">();
- auto& force = force_f.at(index);
- for(uint64_t k{0u}; k < Descriptor::D; ++k){
- force.at({{k}}).set(0);
- }
-
- for(uint64_t i{0u}; i < Descriptor::Q; ++i){
- uint64_t i_opp = dfi::opposite_index[i];
- auto dfs_diff = dfs.at({i}) - dfs.at({i_opp});
- for(uint64_t k{0u}; k < Descriptor::D; ++k){
- force.at({{k}}) = force.at({{k}}) + dfs_diff;
- }
- }
-
- force = force * porous;
}
};