diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-07-04 14:33:54 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-07-04 14:33:54 +0200 |
commit | 96123e1331eabbfb0f5104857035df42096c7548 (patch) | |
tree | 2ba2d09a24effc5f2bbcbec9b920a43b1c2283ff /examples/poiseulle_2d.cpp | |
parent | 1698e94edbfd90c178ca65a7d21679c390194e77 (diff) |
Improved geometry configuration setting
Diffstat (limited to 'examples/poiseulle_2d.cpp')
-rw-r--r-- | examples/poiseulle_2d.cpp | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/examples/poiseulle_2d.cpp b/examples/poiseulle_2d.cpp index 5670a3c..dcdc7c3 100644 --- a/examples/poiseulle_2d.cpp +++ b/examples/poiseulle_2d.cpp @@ -75,7 +75,7 @@ void set_geometry(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){ info({0u}).set(2u); - }, {{0u,0u}}, meta, {1u}); + }, {{0u,0u}}, meta, {{1u,1u}}); /** * Set fluid @@ -86,7 +86,7 @@ void set_geometry(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){ info({0u}).set(1u); - }, {{0u,0u}}, meta, {2u}); + }, {{0u,0u}}, meta, {{2u,2u}}); /** * Set inflow @@ -97,7 +97,7 @@ void set_geometry(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){ info({0u}).set(3u); - }, {{1u,0u}}, {{2u,meta.at({1u})}}, {0u}); + }, {{1u,0u}}, {{2u,meta.at({1u})}}, {{0u,2u}}); /** * Set outflow @@ -108,7 +108,7 @@ void set_geometry(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){ info({0u}).set(4u); - }, {{meta.at({0u})-2u,0u}}, {{meta.at({0u})-1u, meta.at({1u})}}, {0u}); + }, {{meta.at({0u})-2u,0u}}, {{meta.at({0u})-1u, meta.at({1u})}}, {{0u,2u}}); } void set_initial_conditions(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){ @@ -141,16 +141,35 @@ int main(int argc, char** argv){ auto& conf = eo_conf.get_value(); - converter<sch::Float64> conv{ + converter<sch::Float64> conv { {conf.template get<"delta_x">()}, {conf.template get<"delta_t">()} }; print_lbm_meta<sch::Float64,sch::Descriptor<2u,9u>>(conv, {conf.template get<"kinematic_viscosity">()}); - saw::data<sch::FixedArray<sch::UInt64,sch::D2Q9::D>> dim{{1024, 128}}; + saw::data<sch::FixedArray<sch::UInt64,sch::D2Q9::D>> dim{{32u, 8u}}; saw::data<sch::CavityFieldD2Q9, saw::encode::Native> lattice{dim}; + set_geometry(lattice); + + /** + * Print basic setup info + */ + iterate_over([&](const saw::data<sch::FixedArray<sch::UInt64,2u>>& index){ + auto& cell = lattice(index); + auto& info = cell.template get<"info">(); + auto info_v = info({0u}).get(); + std::cout<<(static_cast<uint32_t>(info_v)); + + if( (index.at({1u}).get()+1u) < dim.at({1u}).get()){ + std::cout<<" "; + }else{ + std::cout<<"\n"; + } + + }, {{0u,0u}}, dim); + saw::data<sch::Array<sch::MacroStruct<sch::T,sch::D2Q9::D>,sch::D2Q9::D>> macros{dim}; for(uint64_t i = 0u; i < 256u; ++i){ |