From 6393b959829a1f7513f3daccbaeb9e275fc4ac0d Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Thu, 3 Jul 2025 15:37:25 +0200 Subject: Wrote minor iterator confirmation tests --- examples/SConscript | 6 ++++++ examples/poiseulle_2d.cpp | 21 +++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/SConscript b/examples/SConscript index 13ed580..9bac1f0 100644 --- a/examples/SConscript +++ b/examples/SConscript @@ -33,11 +33,17 @@ examples_env.cavity_2d = examples_env.Program('#bin/cavity_2d', [env.library_sta #examples_env.add_source_files(examples_objects, ['particle_ibm.cpp'], shared=False); #examples_env.particle_ibm_2d = examples_env.Program('#bin/particle_ibm_2d', [env.library_static, examples_objects]); +# Poiseulle 2D +examples_objects = []; +examples_env.add_source_files(examples_objects, ['poiseulle_2d.cpp'], shared=False); +examples_env.poiseulle_2d = examples_env.Program('#bin/poiseulle_2d', [env.library_static, examples_objects]); + # Set Alias env.examples = [ examples_env.meta_2d, examples_env.cavity_2d, # examples_env.particle_ibm_2d + examples_env.poiseulle_2d ]; env.Alias('examples', env.examples); diff --git a/examples/poiseulle_2d.cpp b/examples/poiseulle_2d.cpp index c933319..2770221 100644 --- a/examples/poiseulle_2d.cpp +++ b/examples/poiseulle_2d.cpp @@ -1,6 +1,7 @@ #include "../c++/lbm.hpp" #include "../c++/collision.hpp" #include "../c++/boundary.hpp" +#include "../c++/iterator.hpp" #include @@ -38,6 +39,11 @@ using CellStruct = Struct< Member, "info"> >; +template +using MacroStruct = Struct< + Member, "velocity">, + Member +>; using CavityFieldD2Q9 = CellField>; } @@ -48,15 +54,14 @@ void set_geometry(saw::data& latt){ using namespace kel::lbm; auto meta = latt.meta(); - for(saw::data i{0u}; i < meta.at(0u); ++i){ - for(saw::data j{0u}; j < meta.at(1u); ++j ){ - auto& cell = latt({{i,j}}); - auto& info = cell.template get<"info">(); - // if() - } - } + iterate_over([&](const saw::data>& index){ + auto& cell = latt(index); + auto& info = cell.template get<"info">(); + + info({0u}).set(1u); + }, {{0u,0u}}, meta, {1u}); } void set_initial_conditions(saw::data& latt){ @@ -136,7 +141,7 @@ int main(int argc, char** argv){ write_vtk_file(vtk_f_name, macros); } - lbm_step(lattice, even_step, step); + // lbm_step(lattice, i); } return 0; -- cgit v1.2.3