Overview
The OpenLB project provides a C++ package for the implementation of lattice Boltzmann methods that is general enough to address a vast range of transport problems, e.g. in computational fluid dynamics. The source code is publicly available and constructed in a well readable, modular way. This enables for a fast implementation of both academic and advanced engineering applications. It is also easily extensible to include new physical models.
Building and Running OpenLB
Download v1.7 from https://zenodo.org/records/10684609/files/olb-1.7r0.tgz.
Untar olb-1.7r0.tgz cd olb-1.7r0 Edit config.mk
Sample build script:
#!/bin/bash module load intel/2023.2 module load compiler mkl MPI=impi-2021.10.0 MPI=hpcx-2.18 module load hpcx/2.18 if [[ "$MPI" =~ ^impi ]]; then export MPICC=mpiicc export MPICXX=mpiicpc elif [[ "$MPI" =~ ^hpcx ]]; then export OMPI_MPICC=icc export OMPI_MPICXX=icpc export MPICC=mpicc export MPICXX=mpicxx fi make clean make
Sample output:
[prepareGeometry] Prepare Geometry ... [SuperGeometry3D] cleaned 0 inner boundary voxel(s) [SuperGeometryStatistics3D] updated [SuperGeometry3D] the model is correct! [CuboidGeometry3D] ---Cuboid Stucture Statistics--- [CuboidGeometry3D] Number of Cuboids: 224 [CuboidGeometry3D] Delta (min): 1 [CuboidGeometry3D] (max): 1 [CuboidGeometry3D] Ratio (min): 0.756757 [CuboidGeometry3D] (max): 1.21429 [CuboidGeometry3D] Nodes (min): 33264 [CuboidGeometry3D] (max): 38148 [CuboidGeometry3D] Weight (min): 33264 [CuboidGeometry3D] (max): 38148 [CuboidGeometry3D] -------------------------------- [SuperGeometryStatistics3D] materialNumber=1; count=3960000; minPhysR=(0,1,0); maxPhysR=(199,99,199) [SuperGeometryStatistics3D] materialNumber=2; count=3960000; minPhysR=(0,100,0); maxPhysR=(199,198,199) [SuperGeometryStatistics3D] materialNumber=3; count=40000; minPhysR=(0,0,0); maxPhysR=(199,0,199) [SuperGeometryStatistics3D] materialNumber=4; count=40000; minPhysR=(0,199,0); maxPhysR=(199,199,199) [SuperGeometryStatistics3D] countTotal[1e6]=8 [prepareGeometry] Prepare Geometry ... OK [prepareLattice] Prepare Lattice ... [prepareLattice] Prepare Lattice ... OK [main] starting simulation... ... [getResults] averageRhoFluidOne=0.514114; averageRhoFluidTwo=0.526934 [Timer] step=29900; percent=99.6667; passedTime=1304.68; remTime=4.3635; MLUPs=189.349 [getResults] averageRhoFluidOne=0.514115; averageRhoFluidTwo=0.526935 [Timer] [Timer] ----------------Summary:Timer---------------- [Timer] measured time (rt) : 1308.883s [Timer] measured time (cpu): 1285.488s [Timer] average MLUPs : 182.751 [Timer] average MLUPps: 0.816 [Timer] ---------------------------------------------
Task and Submissions
Download the input
.Uncompress the file to OpenLB root directory.
cd rayleighTaylor3d
make
Run the application
mpirun -np <NPROC> <MPIFLAGS> rayleighTaylor3d
Submit the stdout, config.mk, and Makefile.
Add Comment