summaryrefslogtreecommitdiff
path: root/examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp')
-rw-r--r--examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp34
1 files changed, 11 insertions, 23 deletions
diff --git a/examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp b/examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp
index 1992ede..a5ef912 100644
--- a/examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp
+++ b/examples/poiseulle_particles_2d_hlbm_gpu/sim.cpp
@@ -200,14 +200,11 @@ saw::error_or<void> step(
auto& p_rad = p_coll.template get<"radius">();
}
-
// auto coll_ev =
q.submit([&](acpp::sycl::handler& h){
- // Need nicer things to handle the flow. I see improvement here
- component<T,Desc,cmpt::BGK, encode::Sycl<saw::encode::Native>> collision{0.65};
- // component<T,Desc,cmpt::HLBM,encode::Sycl<saw::encode::Native>> collision{0.65};
- // component<T,Desc,cmpt::PSM,encode::Sycl<saw::encode::Native>> collision{0.65};
+ component<T,Desc,cmpt::HLBM,encode::Sycl<saw::encode::Native>> collision{0.65};
component<T,Desc,cmpt::BounceBack,encode::Sycl<saw::encode::Native>> bb;
+ component<T,Desc,cmpt::AntiBounceBack<0u>,encode::Sycl<saw::encode::Native>> abb;
saw::data<sch::Scalar<T>> rho_b;
rho_b.at({}) = 1.0;
@@ -240,7 +237,7 @@ saw::error_or<void> step(
case 0u:
break;
case 1u:
- bb.apply(fields,index,t_i);
+ abb.apply(fields,index,t_i);
break;
case 2u:
collision.apply(fields,macros,index,t_i);
@@ -286,7 +283,7 @@ saw::error_or<void> lbm_main(int argc, char** argv){
}
auto& lbm_dir = eo_lbm_dir.get_value();
- auto out_dir = lbm_dir / "poiseulle_particles_2d_gpu";
+ auto out_dir = lbm_dir / "poiseulle_particles_2d_hlbm_gpu";
{
std::error_code ec;
@@ -372,8 +369,7 @@ saw::error_or<void> lbm_main(int argc, char** argv){
}
}
sycl_q.wait();
- saw::data<sch::UInt64> time_steps{4096ul};
-
+ saw::data<sch::UInt64> time_steps{16u*4096ul};
auto& info_f = lsd_view.template get<"info">();
for(saw::data<sch::UInt64> i{0u}; i < time_steps and krun; ++i){
@@ -385,20 +381,6 @@ saw::error_or<void> lbm_main(int argc, char** argv){
}
}
sycl_q.wait();
- {
- {
- auto eov = dev.copy_to_host(lbm_sycl_macro_data,*lbm_macro_data_ptr);
- if(eov.is_error()){
- return eov;
- }
- }
- {
- auto eov = write_vtk_file(out_dir,"m",i.get(), *lbm_macro_data_ptr);
- if(eov.is_error()){
- return eov;
- }
- }
- }
/*
{
{
@@ -443,6 +425,12 @@ saw::error_or<void> lbm_main(int argc, char** argv){
// After Loop
sycl_q.wait();
{
+ auto eov = dev.copy_to_host(lbm_sycl_macro_data,*lbm_macro_data_ptr);
+ if(eov.is_error()){
+ return eov;
+ }
+ }
+ {
auto eov = write_vtk_file(out_dir,"m",time_steps.get(), *lbm_macro_data_ptr);
if(eov.is_error()){
return eov;