Getting Started with Secret App for ISC24 SCC
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.
Uncompress 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 <MPI>
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 .
Unzip the input to OpenLB root directory.
cd rayleighTaylor3d
make
Run the application
mpirun -np <NPROC> <MPIFLAGS> rayleighTaylor3d
Submit the stdout, config.mk, and Makefile. Do not submit binary output files nor multiple results.
Â