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

  1. Download the input .

    • Unzip the input to OpenLB root directory.

    • cd rayleighTaylor3d

    • make

  2. Run the application

    • mpirun -np <NPROC> <MPIFLAGS> rayleighTaylor3d

  3. Submit the stdout, config.mk, and Makefile. Do not submit binary output files nor multiple results.

Â