From 15ee0a4a9b398b86001c7a2542e8e98f9dedba70 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Fri, 7 Aug 2026 18:15:25 +0200 Subject: Environment cleanup. Use this in future sim runs --- .../sim.cpp | 26 +++++++++++++++------ modules/core/c++/args.hpp | 27 ---------------------- modules/core/c++/descriptor/d2q5.hpp | 2 +- modules/core/c++/environment.hpp | 5 ++-- 4 files changed, 23 insertions(+), 37 deletions(-) delete mode 100644 modules/core/c++/args.hpp diff --git a/examples/moving_poiseulle_particles_2d_fplbm_gpu/sim.cpp b/examples/moving_poiseulle_particles_2d_fplbm_gpu/sim.cpp index c82f632..328f6e2 100644 --- a/examples/moving_poiseulle_particles_2d_fplbm_gpu/sim.cpp +++ b/examples/moving_poiseulle_particles_2d_fplbm_gpu/sim.cpp @@ -256,13 +256,25 @@ saw::error_or lbm_main(int argc, char** argv){ using dfi = df_info; - auto eo_lbm_dir = output_directory(); - if(eo_lbm_dir.is_error()){ - return std::move(eo_lbm_dir.get_error()); + saw::data args; + { + auto& args_n = args.template get<"args">(); + auto& name = args_n.template get<"name">(); + name.set("moving_poiseulle_particles_2d_fplbm_gpu"); + } + { + auto eov = saw::parse_args(args,argc,argv); + if(eov.is_error()){ + return eov; + } + } + auto eo_lbm_env = init_lbm_env(args); + if(eo_lbm_env.is_error()){ + return std::move(eo_lbm_env.get_error()); } - auto& lbm_dir = eo_lbm_dir.get_value(); + const auto& lbm_env = eo_lbm_env.get_value(); - auto out_dir = lbm_dir / "moving_poiseulle_particles_2d_fplbm_imp_gpu"; + auto& out_dir = lbm_env.name_dir; { std::error_code ec; @@ -424,13 +436,13 @@ saw::error_or lbm_main(int argc, char** argv){ } } { - auto eov = write_vtk_file(out_dir,"m",time_steps.get(), *lbm_macro_data_ptr); + auto eov = write_vtk_file(out_dir,lbm_env.name,time_steps.get(), *lbm_macro_data_ptr); if(eov.is_error()){ return eov; } } { - auto eov = write_csv_file(out_dir,"m",time_steps.get(), *lbm_macro_data_ptr); + auto eov = write_csv_file(out_dir,lbm_env.name,time_steps.get(), *lbm_macro_data_ptr); if(eov.is_error()){ return eov; } diff --git a/modules/core/c++/args.hpp b/modules/core/c++/args.hpp deleted file mode 100644 index a0aa941..0000000 --- a/modules/core/c++/args.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include -#include - -namespace kel { -namespace lbm { -namespace sch { -using namespace saw::schema; -} - -template -saw::error_or> setup_lbm_env(int argc, char** argv){ - saw::data args_data{argc,argv}; - - saw::codec args_codec; - - saw::data args_decoded; - auto eov = args_codec.decode(args_data,args_decoded); - if(eov.is_error()){ - return eov; - } - - return args_decoded; -} -} -} diff --git a/modules/core/c++/descriptor/d2q5.hpp b/modules/core/c++/descriptor/d2q5.hpp index 74f8b96..fef9c40 100644 --- a/modules/core/c++/descriptor/d2q5.hpp +++ b/modules/core/c++/descriptor/d2q5.hpp @@ -5,7 +5,7 @@ namespace kel { namespace lbm { namespace sch { -using D2Q9 = Descriptor<2u,5u>; +using D2Q5 = Descriptor<2u,5u>; } template diff --git a/modules/core/c++/environment.hpp b/modules/core/c++/environment.hpp index ed9cd40..51092d5 100644 --- a/modules/core/c++/environment.hpp +++ b/modules/core/c++/environment.hpp @@ -22,7 +22,7 @@ saw::error_or init_lbm_env(const saw::data& args){ namespace fs = std::filesystem; auto& args_n = args.template get<"args">(); - auto& name = args_n.template get<"name">(); + auto& arg_name = args_n.template get<"name">(); const char* home_dir = std::getenv("HOME"); if(not home_dir){ @@ -50,7 +50,8 @@ saw::error_or init_lbm_env(const saw::data& args){ } { - env.name_dir = env.data_dir / name.view(); + env.name = arg_name.stl_view(); + env.name_dir = env.data_dir / arg_name.stl_view(); } return env; -- cgit v1.2.3