From 9e0147cb0d4a07fddfdc77063d7d83d8ad1ac0d3 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Sun, 12 Apr 2026 23:35:51 +0200 Subject: Copying particles to gpu --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index 3281239..3c1e96d 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -121,6 +121,7 @@ template saw::error_or step( saw::data>,encode::Sycl>& fields, saw::data>,encode::Sycl>& macros, + saw::data, encode::Sycl>& particles, saw::data t_i, device& dev ){ @@ -130,7 +131,6 @@ saw::error_or step( { } - // auto coll_ev = q.submit([&](acpp::sycl::handler& h){ saw::data> force; @@ -164,6 +164,10 @@ saw::error_or step( }).wait(); + q.submit([&](acpp::sycl::handler& h){ + h.parallel_for(acpp::sycl::range{dim_x}, [=](acpp::sycl::id idx){ + }); + }).wait(); // Step /* q.submit([&](acpp::sycl::handler& h){ @@ -210,7 +214,7 @@ saw::error_or lbm_main(int argc, char** argv){ // saw::data> meta{{dim_x,dim_y}}; auto lbm_data_ptr = saw::heap>>(); auto lbm_macro_data_ptr = saw::heap>>(); - auto lbm_particles_data = saw::data>(); + auto lbm_particle_data = saw::heap>>(); std::cout<<"Estimated Bytes: "<,sch::MacroStruct>().get()< lbm_main(int argc, char** argv){ sycl_q.wait(); { - auto eov = setup_initial_conditions(*lbm_data_ptr,*lbm_macro_data_ptr,lbm_particles_data); + auto eov = setup_initial_conditions(*lbm_data_ptr,*lbm_macro_data_ptr,lbm_particle_data); if(eov.is_error()){ return eov; } @@ -250,10 +254,12 @@ saw::error_or lbm_main(int argc, char** argv){ saw::data, encode::Sycl> lbm_sycl_data{sycl_q}; saw::data, encode::Sycl> lbm_sycl_macro_data{sycl_q}; + saw::data, encode::Sycl> lbm_sycl_particle_data{sycl_q}; sycl_q.wait(); auto lsd_view = make_chunk_struct_view(lbm_sycl_data); auto lsdm_view = make_chunk_struct_view(lbm_sycl_macro_data); + auto lsdp_view = make_chunk_struct_view(lbm_sycl_particle_data); { auto eov = dev.copy_to_device(*lbm_data_ptr,lbm_sycl_data); if(eov.is_error()){ @@ -266,6 +272,12 @@ saw::error_or lbm_main(int argc, char** argv){ return eov; } } + { + auto eov = dev.copy_to_device(*lbm_particle_data_ptr,lbm_sycl_particle_data); + if(eov.is_error()){ + return eov; + } + } sycl_q.wait(); saw::data time_steps{16u*4096ul}; @@ -274,7 +286,7 @@ saw::error_or lbm_main(int argc, char** argv){ for(saw::data i{0u}; i < time_steps and krun; ++i){ // BC + Collision { - auto eov = step(lsd_view,lsdm_view,i,dev); + auto eov = step(lsd_view,lsdm_view,lsdp_view,i,dev); if(eov.is_error()){ return eov; } -- cgit v1.2.3 From 20e46825069b3974d5cc883163d7e37b4836b2af Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 13 Apr 2026 19:26:57 +0200 Subject: Progress? --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index 3c1e96d..3c698bb 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -52,7 +52,7 @@ using MacroStruct = Struct< template using ParticleGroups = Tuple< ParticleGroup< - T,Desc::D,sch::ParticleCollisionSpheroid + T,Desc::D,sch::ParticleCollisionSpheroid > >; } @@ -119,11 +119,11 @@ saw::error_or setup_initial_conditions( template saw::error_or step( - saw::data>,encode::Sycl>& fields, - saw::data>,encode::Sycl>& macros, - saw::data, encode::Sycl>& particles, - saw::data t_i, - device& dev + saw::data>,encode::Sycl>& fields, + saw::data>,encode::Sycl>& macros, + saw::data>,encode::Sycl>& particles, + saw::data t_i, + device& dev ){ auto& q = dev.get_handle(); auto& info_f = fields.template get<"info">(); @@ -214,7 +214,7 @@ saw::error_or lbm_main(int argc, char** argv){ // saw::data> meta{{dim_x,dim_y}}; auto lbm_data_ptr = saw::heap>>(); auto lbm_macro_data_ptr = saw::heap>>(); - auto lbm_particle_data = saw::heap>>(); + auto lbm_particle_data_ptr = saw::heap>>(); std::cout<<"Estimated Bytes: "<,sch::MacroStruct>().get()< lbm_main(int argc, char** argv){ sycl_q.wait(); { - auto eov = setup_initial_conditions(*lbm_data_ptr,*lbm_macro_data_ptr,lbm_particle_data); + auto eov = setup_initial_conditions(*lbm_data_ptr,*lbm_macro_data_ptr,*lbm_particle_data_ptr); if(eov.is_error()){ return eov; } -- cgit v1.2.3 From ebc2e26a1b3498363bb7522c241de2925bb7f627 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Tue, 14 Apr 2026 15:33:11 +0200 Subject: Fixed compilation issues with make_view for sycl --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index 3c698bb..b4f204e 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -52,7 +52,7 @@ using MacroStruct = Struct< template using ParticleGroups = Tuple< ParticleGroup< - T,Desc::D,sch::ParticleCollisionSpheroid + T,Desc::D,sch::ParticleCollisionSpheroid > >; } @@ -103,12 +103,10 @@ saw::error_or setup_initial_conditions( // Particles { - saw::data> rad_p, dense_p; - rad_p.at({}).set(2.0); + saw::data> dense_p; dense_p.at({}).set(1); auto& spheroid_group = particles.template get<0u>(); - spheroid_group = create_spheroid_particle_group( - rad_p, + spheroid_group = create_spheroid_particle_group( dense_p, {64u} ); @@ -165,7 +163,7 @@ saw::error_or step( }).wait(); q.submit([&](acpp::sycl::handler& h){ - h.parallel_for(acpp::sycl::range{dim_x}, [=](acpp::sycl::id idx){ + h.parallel_for(acpp::sycl::range<1u>{dim_x}, [=](acpp::sycl::id<1u> idx){ }); }).wait(); // Step @@ -257,9 +255,9 @@ saw::error_or lbm_main(int argc, char** argv){ saw::data, encode::Sycl> lbm_sycl_particle_data{sycl_q}; sycl_q.wait(); - auto lsd_view = make_chunk_struct_view(lbm_sycl_data); - auto lsdm_view = make_chunk_struct_view(lbm_sycl_macro_data); - auto lsdp_view = make_chunk_struct_view(lbm_sycl_particle_data); + auto lsd_view = make_view(lbm_sycl_data); + auto lsdm_view = make_view(lbm_sycl_macro_data); + auto lsdp_view = make_view(lbm_sycl_particle_data); { auto eov = dev.copy_to_device(*lbm_data_ptr,lbm_sycl_data); if(eov.is_error()){ -- cgit v1.2.3 From c61ba8f8eb86f66915a54551fcc39dfbeab1fad9 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Tue, 14 Apr 2026 21:09:42 +0200 Subject: Working on meta schema instantiation, because I'm stupid --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index b4f204e..e1ba012 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -253,11 +253,14 @@ saw::error_or lbm_main(int argc, char** argv){ saw::data, encode::Sycl> lbm_sycl_data{sycl_q}; saw::data, encode::Sycl> lbm_sycl_macro_data{sycl_q}; saw::data, encode::Sycl> lbm_sycl_particle_data{sycl_q}; + { + auto eov = dev.malloc_on_device(*lbm_particle_data_ptr,lbm_sycl_particle_data); + if(eov.is_error()){ + return eov; + } + } sycl_q.wait(); - auto lsd_view = make_view(lbm_sycl_data); - auto lsdm_view = make_view(lbm_sycl_macro_data); - auto lsdp_view = make_view(lbm_sycl_particle_data); { auto eov = dev.copy_to_device(*lbm_data_ptr,lbm_sycl_data); if(eov.is_error()){ @@ -277,6 +280,11 @@ saw::error_or lbm_main(int argc, char** argv){ } } sycl_q.wait(); + + auto lsd_view = make_view(lbm_sycl_data); + auto lsdm_view = make_view(lbm_sycl_macro_data); + auto lsdp_view = make_view(lbm_sycl_particle_data); + saw::data time_steps{16u*4096ul}; auto& info_f = lsd_view.template get<"info">(); -- cgit v1.2.3 From 30ff1caf073b4341fd0614e0974c67a8588c8931 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Wed, 15 Apr 2026 19:11:21 +0200 Subject: Feierabend --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 158 ++++++++++++++++++++++++----- 1 file changed, 131 insertions(+), 27 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index e1ba012..de40c54 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -6,6 +6,7 @@ #include #include #include +#include namespace kel { namespace lbm { @@ -49,19 +50,26 @@ using MacroStruct = Struct< Member, "force"> >; +template +using ParticleSpheroidGroup = ParticleGroup< + T, + Desc::D, + sch::ParticleCollisionSpheroid +>; + template using ParticleGroups = Tuple< - ParticleGroup< - T,Desc::D,sch::ParticleCollisionSpheroid - > + ParticleSpheroidGroup >; + + } template saw::error_or setup_initial_conditions( saw::data>& fields, saw::data>& macros, - saw::data>& particles + saw::data>& particles ){ auto& info_f = fields.template get<"info">(); // Set everything as walls @@ -105,11 +113,39 @@ saw::error_or setup_initial_conditions( { saw::data> dense_p; dense_p.at({}).set(1); - auto& spheroid_group = particles.template get<0u>(); + // auto& spheroid_group = particles.template get<0u>(); + auto& spheroid_group = particles; + spheroid_group = create_spheroid_particle_group( dense_p, {64u} ); + + { + auto& p = spheroid_group.template get<"particles">(); + + p = {{{16u}}}; + + iterator<1u>::apply( + [&](auto& index){ + // Set Pos here? + auto& p_ind = p.at(index); + + auto& p_rb = p_ind.template get<"rigid_body">(); + auto& p_pos = p_rb.template get<"position">(); + + // TODO CONTINUE HERE NEED to init pos here !!!! + + auto& p_pos_old = p_rb.template get<"position_old">(); + p_pos_old = p_pos; + }, + {}, + p.meta() + ); + } + } + // Particle in hacky flavour + { } return saw::make_void(); @@ -119,20 +155,98 @@ template saw::error_or step( saw::data>,encode::Sycl>& fields, saw::data>,encode::Sycl>& macros, - saw::data>,encode::Sycl>& particles, + saw::data>,encode::Sycl>& p_group, saw::data t_i, device& dev ){ auto& q = dev.get_handle(); auto& info_f = fields.template get<"info">(); - { - } + auto& parts = p_group.template get<"particles">(); + auto& p_mask = p_group.template get<"mask">(); + auto& vels = macros.template get<"velocity">(); + auto& forces = macros.template get<"force">(); + + auto p_meta = parts.meta(); + q.submit([&](acpp::sycl::handler& h){ + + h.parallel_for(acpp::sycl::range{dim_x,dim_y}, [=](acpp::sycl::id idx){ + saw::data> index; + for(uint64_t i = 0u; i < Desc::D; ++i){ + index.at({{i}}).set(idx[i]); + } + + // Reset the force to zero + forces.at(index) = {}; + }); + }).wait(); + + q.submit([&](acpp::sycl::handler& h){ + h.parallel_for(acpp::sycl::range<1u>{p_meta.at({0u}).get()}, [=](acpp::sycl::id<1u> idx){ + + saw::data> index; + for(uint64_t i = 0u; i < 1u; ++i){ + index.at({{i}}).set(idx[i]); + } + + auto& p = parts.at(index); + auto& p_rb = p.template get<"rigid_body">(); + saw::data> delta_t; + delta_t.at({}).set(1.0f); + + auto& p_pos = p_rb.template get<"position">(); + auto& p_rot = p_rb.template get<"rotation">(); + + iterator::apply( + [&](auto& m_ind){ + saw::data> index_shift; + for(uint64_t i{0u}; i < Desc::D; ++i){ + index_shift.at({{i}}) = m_ind.at({i}).template cast_to() - (p_mask.meta().at({i})+1u).template cast_to() * 0.5; + } + + saw::data> transformed_pos; + for(uint64_t i{0u}; i < Desc::D; ++i){ + // TODO add rotation, scaling here. + transformed_pos.at({{i}}) = index_shift.at({{i}}); + } + + // Lagrange indicator position + auto p_pos_lag = p_pos + transformed_pos; + + // Pick the closest velocity + saw::data> p_cell_pos; + saw::data> p_cell_pos_vec; + for(uint64_t i{0u}; i < Desc::D; ++i){ + p_cell_pos.at({{i}}) = (p_pos_lag.at({{i}}) + 0.5).template cast_to(); + p_cell_pos.at({{i}}).set(std::max(1ul,std::min(p_cell_pos.at({{i}}).get(), p_meta.at({{i}}).get() - 2ul))); + p_cell_pos_vec.at({{i}}) = p_cell_pos.at({{i}}); + } + + auto& u_fluid = vels.at(p_cell_pos); + + // this is our relative position to the particle + auto rel_cell_to_part_pos = p_cell_pos_vec.template cast_to() - p_pos; + + auto p_vel = (p_pos - p_rb.template get<"position_old">()) * delta_t; + auto u_solid = p_vel + saw::math::cross(p_rot,rel_cell_to_part_pos); + + + // Force + auto force = (u_solid - u_fluid) / delta_t; + + // TODO HERE ATOMIC! !!!! + forces.at(p_cell_pos) = forces.at(p_cell_pos) + force; + }, + {}, + p_mask.meta() + ); + + verlet_step_lambda(p,delta_t); + }); + }).wait(); // auto coll_ev = q.submit([&](acpp::sycl::handler& h){ - saw::data> force; - force.at({{1}}).set(-1.0); // Need nicer things to handle the flow. I see improvement here component> collision{0.8}; component> bb; @@ -157,15 +271,10 @@ saw::error_or step( default: break; } - }); - - }).wait(); - - q.submit([&](acpp::sycl::handler& h){ - h.parallel_for(acpp::sycl::range<1u>{dim_x}, [=](acpp::sycl::id<1u> idx){ }); }).wait(); + // Step /* q.submit([&](acpp::sycl::handler& h){ @@ -212,9 +321,11 @@ saw::error_or lbm_main(int argc, char** argv){ // saw::data> meta{{dim_x,dim_y}}; auto lbm_data_ptr = saw::heap>>(); auto lbm_macro_data_ptr = saw::heap>>(); - auto lbm_particle_data_ptr = saw::heap>>(); + auto lbm_particle_data_ptr = saw::heap>>(); + // auto lbm_particles_ptr = saw::heap,part_count>>>(); + // saw::data> p_mask; - std::cout<<"Estimated Bytes: "<,sch::MacroStruct>().get()<,sch::MacroStruct>().get()< lbm_main(int argc, char** argv){ saw::data, encode::Sycl> lbm_sycl_data{sycl_q}; saw::data, encode::Sycl> lbm_sycl_macro_data{sycl_q}; - saw::data, encode::Sycl> lbm_sycl_particle_data{sycl_q}; - { - auto eov = dev.malloc_on_device(*lbm_particle_data_ptr,lbm_sycl_particle_data); - if(eov.is_error()){ - return eov; - } - } - sycl_q.wait(); + saw::data, encode::Sycl> lbm_sycl_particle_data{sycl_q}; { auto eov = dev.copy_to_device(*lbm_data_ptr,lbm_sycl_data); @@ -285,7 +389,7 @@ saw::error_or lbm_main(int argc, char** argv){ auto lsdm_view = make_view(lbm_sycl_macro_data); auto lsdp_view = make_view(lbm_sycl_particle_data); - saw::data time_steps{16u*4096ul}; + saw::data time_steps{4u*4096ul}; auto& info_f = lsd_view.template get<"info">(); -- cgit v1.2.3 From e19b4c91cfc7c370851c73314f54ef3e479b45bc Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Thu, 16 Apr 2026 09:05:08 +0200 Subject: Address boundary error --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index de40c54..80ba90c 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -389,7 +389,7 @@ saw::error_or lbm_main(int argc, char** argv){ auto lsdm_view = make_view(lbm_sycl_macro_data); auto lsdp_view = make_view(lbm_sycl_particle_data); - saw::data time_steps{4u*4096ul}; + saw::data time_steps{16u*4096ul}; auto& info_f = lsd_view.template get<"info">(); @@ -402,8 +402,7 @@ saw::error_or lbm_main(int argc, char** argv){ } } sycl_q.wait(); - /* - { + if(i.get()%32u ==0u){ { auto eov = dev.copy_to_host(lbm_sycl_macro_data,*lbm_macro_data_ptr); if(eov.is_error()){ @@ -417,7 +416,6 @@ saw::error_or lbm_main(int argc, char** argv){ } } } - */ /* { { -- cgit v1.2.3 From d01f8faadcec62593e0af5304bcc2db3d22ed0c5 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Thu, 16 Apr 2026 16:20:23 +0200 Subject: Brain fried --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index 80ba90c..dceb156 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -201,7 +201,7 @@ saw::error_or step( [&](auto& m_ind){ saw::data> index_shift; for(uint64_t i{0u}; i < Desc::D; ++i){ - index_shift.at({{i}}) = m_ind.at({i}).template cast_to() - (p_mask.meta().at({i})+1u).template cast_to() * 0.5; + index_shift.at({{i}}) = m_ind.at({i}).template cast_to() - (vels.meta().at({i})+1u).template cast_to() * 0.5; } saw::data> transformed_pos; @@ -213,12 +213,12 @@ saw::error_or step( // Lagrange indicator position auto p_pos_lag = p_pos + transformed_pos; - // Pick the closest velocity + // Pick the closest velocity and clamp it saw::data> p_cell_pos; saw::data> p_cell_pos_vec; for(uint64_t i{0u}; i < Desc::D; ++i){ p_cell_pos.at({{i}}) = (p_pos_lag.at({{i}}) + 0.5).template cast_to(); - p_cell_pos.at({{i}}).set(std::max(1ul,std::min(p_cell_pos.at({{i}}).get(), p_meta.at({{i}}).get() - 2ul))); + p_cell_pos.at({{i}}).set(std::max(0ul,std::min(p_cell_pos.at({{i}}).get(), vels.meta().at({{i}}).get() - 2ul))); p_cell_pos_vec.at({{i}}) = p_cell_pos.at({{i}}); } @@ -228,14 +228,16 @@ saw::error_or step( auto rel_cell_to_part_pos = p_cell_pos_vec.template cast_to() - p_pos; auto p_vel = (p_pos - p_rb.template get<"position_old">()) * delta_t; - auto u_solid = p_vel + saw::math::cross(p_rot,rel_cell_to_part_pos); + auto u_solid = p_vel + saw::math::cross(p_rot,rel_cell_to_part_pos); // Force auto force = (u_solid - u_fluid) / delta_t; // TODO HERE ATOMIC! !!!! forces.at(p_cell_pos) = forces.at(p_cell_pos) + force; + + // TODO APPLY FORCE TO PARTICLE }, {}, p_mask.meta() @@ -248,7 +250,7 @@ saw::error_or step( // auto coll_ev = q.submit([&](acpp::sycl::handler& h){ // Need nicer things to handle the flow. I see improvement here - component> collision{0.8}; + component> collision{0.8}; component> bb; h.parallel_for(acpp::sycl::range{dim_x,dim_y}, [=](acpp::sycl::id idx){ @@ -271,7 +273,6 @@ saw::error_or step( default: break; } - }); }).wait(); @@ -389,6 +390,12 @@ saw::error_or lbm_main(int argc, char** argv){ auto lsdm_view = make_view(lbm_sycl_macro_data); auto lsdp_view = make_view(lbm_sycl_particle_data); + { + auto eov = write_vtk_file(out_dir,"ms",0u, *lbm_macro_data_ptr); + if(eov.is_error()){ + return eov; + } + } saw::data time_steps{16u*4096ul}; auto& info_f = lsd_view.template get<"info">(); @@ -402,7 +409,7 @@ saw::error_or lbm_main(int argc, char** argv){ } } sycl_q.wait(); - if(i.get()%32u ==0u){ + if(i.get()%1u ==0u){ { auto eov = dev.copy_to_host(lbm_sycl_macro_data,*lbm_macro_data_ptr); if(eov.is_error()){ -- cgit v1.2.3 From 6b355333b994aee50c1a31e2911ee96ae84104ad Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Fri, 17 Apr 2026 10:14:36 +0200 Subject: Renamed function --- examples/settling_cubes_2d_ibm_gpu/sim.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples/settling_cubes_2d_ibm_gpu') diff --git a/examples/settling_cubes_2d_ibm_gpu/sim.cpp b/examples/settling_cubes_2d_ibm_gpu/sim.cpp index dceb156..d7b402a 100644 --- a/examples/settling_cubes_2d_ibm_gpu/sim.cpp +++ b/examples/settling_cubes_2d_ibm_gpu/sim.cpp @@ -268,7 +268,7 @@ saw::error_or step( bb.apply(fields,index,t_i); break; case 2u: - collision.apply(fields,macros,index,t_i); + // collision.apply(fields,macros,index,t_i); break; default: break; -- cgit v1.2.3