diff --git a/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/CMakeLists.txt b/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/CMakeLists.txt index 5b7d8b0c8de6b57420745a98ebc76c5132e7e7a6..d3c21f04a008f9b50c039f69ab1904d18cb7877e 100644 --- a/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/CMakeLists.txt +++ b/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/CMakeLists.txt @@ -2,7 +2,7 @@ waLBerla_link_files_to_builddir("*.prm") if (WALBERLA_BUILD_WITH_CODEGEN) if (NOT WALBERLA_BUILD_WITH_GPU_SUPPORT OR (WALBERLA_BUILD_WITH_GPU_SUPPORT AND (CMAKE_CUDA_ARCHITECTURES GREATER_EQUAL 60 OR WALBERLA_BUILD_WITH_HIP))) - foreach(solid_collision 1) + foreach(solid_collision 1 2) set(config sc_${solid_collision}) message(STATUS "Config value in thermal PSM is: ${config}" ) diff --git a/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/thermalPSMCodegen.py b/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/thermalPSMCodegen.py index 6b783f02759fb1e1c650c741ce0a774654f382a7..ffb1250fa205170e0765374c659cf6214f85eaf0 100644 --- a/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/thermalPSMCodegen.py +++ b/apps/benchmarks/MaterialTransport/thermal_PSM/thermalPsmPerformanceBenchmark/thermalPSMCodegen.py @@ -260,7 +260,7 @@ with CodeGeneration() as ctx: "PSMFluidSweepSplit", node_collection, field_swaps=[(pdfs_fluid, pdfs_fluid_tmp)], - target=target, + target=target, inner_outer_split=True, ) diff --git a/apps/showcases/ThermalFluidizedBed/ThermalFluidizedBedPSM.cpp b/apps/showcases/ThermalFluidizedBed/ThermalFluidizedBedPSM.cpp index b1eca1a101195c45110940203a3496e8b138d010..8ee2591228d891e65eb86897ca083b83b5b67d7f 100644 --- a/apps/showcases/ThermalFluidizedBed/ThermalFluidizedBedPSM.cpp +++ b/apps/showcases/ThermalFluidizedBed/ThermalFluidizedBedPSM.cpp @@ -385,8 +385,8 @@ int main(int argc, char** argv) // convert SI units to simulation (LBM) units and check setup - Vector3< uint_t > domainSize(uint_c((xSize_SI / dx_SI)), uint_c((ySize_SI / dx_SI)), - uint_c((zSize_SI / dx_SI))); + Vector3< uint_t > domainSize(((xSize_SI / dx_SI)), ((ySize_SI / dx_SI)), + ((zSize_SI / dx_SI))); WALBERLA_LOG_INFO_ON_ROOT("domain size in x is " << domainSize[0]); WALBERLA_CHECK_FLOAT_EQUAL(real_t(domainSize[0]) * dx_SI, xSize_SI, "domain size in x is not divisible by given dx"); WALBERLA_CHECK_FLOAT_EQUAL(real_t(domainSize[1]) * dx_SI, ySize_SI, "domain size in y is not divisible by given dx"); @@ -652,20 +652,24 @@ int main(int argc, char** argv) boundariesBlockString += "\n BoundariesConcentration"; - boundariesBlockString += "{" - "Border { direction W; walldistance -1; flag Neumann_Concentration; }" - "Border { direction E; walldistance -1; flag Neumann_Concentration; }"; + boundariesBlockString += "{"; + + if (!periodicInX) + { + boundariesBlockString += "Border { direction W; walldistance -1; flag Density_Concentration_west; }" + "Border { direction E; walldistance -1; flag Density_Concentration_west; }"; + } if (!periodicInY) { - boundariesBlockString += "Border { direction S; walldistance -1; flag Neumann_Concentration; }" - "Border { direction N; walldistance -1; flag Neumann_Concentration; }"; + boundariesBlockString += "Border { direction S; walldistance -1; flag Density_Concentration_west; }" + "Border { direction N; walldistance -1; flag Density_Concentration_west; }"; } if (!periodicInZ) { - boundariesBlockString += "Border { direction T; walldistance -1; flag Density_Concentration_west; }" - "Border { direction B; walldistance -1; flag Density_Concentration_west; }"; + boundariesBlockString += "Border { direction T; walldistance -1; flag Neumann_Concentration; }" + "Border { direction B; walldistance -1; flag Neumann_Concentration; }"; } boundariesBlockString += "}"; WALBERLA_ROOT_SECTION() @@ -1006,7 +1010,8 @@ auto communication_concentration = std::function< void() >([&]() { com_concentra else{ timeloop.add() << BeforeFunction(communication_fluid, "LBM fluid Communication") - << Sweep(deviceSyncWrapper(density_fluid_bc.getSweep()), "Boundary Handling (Outflow Fluid)"); + << Sweep(deviceSyncWrapper(noSlip_fluid_bc.getSweep()),"Boundary Handling (No slip)"); + timeloop.add() << Sweep(deviceSyncWrapper(density_fluid_bc.getSweep()), "Boundary Handling (Outflow Fluid)"); timeloop.add() << Sweep(deviceSyncWrapper(ubb_fluid_bc.getSweep()),"Boundary Handling (UBB inflow fluid)"); timeloop.add() << BeforeFunction(communication_concentration, "LBM concentration Communication")