diff options
| -rw-r--r-- | examples/stokes_drag_particle_2d_psm_gpu/sim.cpp | 2 | ||||
| -rw-r--r-- | modules/core/c++/psm.hpp | 16 |
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; } }; |
