#include "../c++/descriptor.hpp" #include namespace kel { namespace lbm { namespace sch { using namespace saw::schema; /** * Basic distribution function * Base type * D * Q * Scalar factor * D factor * Q factor */ using T = Float32; using D2Q5 = Descriptor<2,5>; using D2Q9 = Descriptor<2,9>; template using DfCell = Cell; template using CellInfo = Cell; /** * Basic type for simulation */ template using CellStruct = Struct< Member, "dfs">, Member, "dfs_old">, Member, "info"> >; using CavityFieldD2Q9 = CellField>; } } } int main(int argc, char** argv){ using namespace kel::lbm; std::string_view cfg_file_name = "config.json"; if(argc > 1){ cfg_file_name = argv[1]; } auto eo_conf = load_lbm_config>(cfg_file_name); if(eo_conf.is_error()){ auto& err = eo_conf.get_error(); std::cerr<<"[Error]: "< conv{ {conf.template get<"delta_x">()}, {conf.template get<"delta_t">()} }; print_lbm_meta>(conv, {conf.template get<"kinematic_viscosity">()}); saw::data> dim{{128, 128}}; saw::data lattice{dim}; return 0; }