Ktirio Urban Building User Documentation

1. Usage

The first step consists of generating the necessary GIS and MSH files of the desired district/city using the Ktirio GUI tool. The usage tutorial assumes that the ktirio-urban-building repository is compiled in the system of choice. (#TODO: does it work like this for EuroHPC machines?)

1.1. Executing on computing cluster Gaya

  • Upload the GIS and MSH files to Girder.

  • Run the configuration file generator script, located in ktirio-urban-building/src/python/generators/cfgGenerator.py. This script whill generate a .cfg file based on the input parameters. The script usage is shown below.

usage: cfgGenerator.py [-h] --city CITY --gis_girder_id GIS_GIRDER_ID --msh_girder_id MSH_GIRDER_ID [--start_time START_TIME] [--stop_time STOP_TIME]
                       [--step_time STEP_TIME] [--outdir OUTDIR] [--fmu_dir FMU_DIR]

options:
  -h, --help            show this help message and exit
  --city CITY           City
  --gis_girder_id GIS_GIRDER_ID
                        Girder ID of the GIS file
  --msh_girder_id MSH_GIRDER_ID
                        Girder ID of the MSH file
  --start_time START_TIME
                        Start time of simulation (unix ts)
  --stop_time STOP_TIME
                        Stop time of simulation (unix ts)
  --step_time STEP_TIME
                        Simulation timestep (s)
  --outdir OUTDIR       output directory
  --fmu_dir FMU_DIR     Directory of the FMUs
  • Make sure that the global_root variable on ~/.feelppconfig is set to /data/scratch/your_user/feelppdb.

  • Allocate machine ressources using salloc -N 1 --exclusive.

  • To start the simulation using MPI, the following command should be used:

    mpiexec -n {number of processes} -bind-to core ./build/default/src/cpp/feelpp_kub_cem --config-file {path/to/config/file.cfg}
    #TODO: add options description
The executable will be located under build/src/cpp/feelpp_kub_cem.
  • The simulation results will be saved under /data/scratch/your_user/feelppdb/{city}/.

  • To visualize the results (locally) using paraview, the results should be transferred to the local machine. e.g.

scp -r your_user@gaya.math.unistra.fr:/data/scratch/your_user/feelppdb/{city}/ /path/to/local/folder/

Then, locate the .case file under /instances/np_{number of processes}/lod{i}/exports and open it using paraview.

1.2. Executing on EuroHPC machines

TODO

2. Information about supercomputers

Here is the list of EuroHPC machines we have access to:

  • Meluxina : Rmax = 12.81 | Rpeak = 18.29 PFLOPS (Luxembourg)

  • Karolina : Rmax = 9.59 | Rpeak = 12.91 PFLOPS (Czech Republic)

  • Discoverer: Rmax = 4.5 | Rpeak = 6 PFLOPS (Bulgaria)

  • Lumi : Rmax = 386.00 | Rpeak = 539.13 PFLOPS (Finland)

Vocabulary definitions:

- Rmax : The highest score measured using the LINPACK benchmarks suite. This is the number that is used to rank the computers. Measured in quadrillions of 64-bit floating point operations per second, i.e., petaFLOPS.

- Rpeak : This is the theoretical peak performance of the system. Computed in petaFLOPS.

3. Tests

3.1. Description of the kub tests

List of tests performed :

  • test_cemtests.cpp : executes the cem program. For the moment, very little is checked, and this needs to be improved.

  • test_dataregistry.cpp : test the opening and writing of txt files.

  • test_fmi4cpp.cpp : tests the correct operation of fmi4cpp functions (writing or reading variables, executing an fmu isntance, …​).

3.2. Running tests using CTest

Go to your build folder and run this command :

ctest [<options>] [--test-dir <path-to-build>]

For more information about the ctest command and its options, here is the link to the cmake documentation : cmake.org/cmake/help/latest/manual/ctest.1.html

4. Benchmarks

To see the different cases, please refer to the Cemosis Ktirio Cases tab.

4.1. Basic cases: Coupling Urban Air Project

  • Isolated building

  • Two buildings close

  • Two buildings far

  • Five buildings

4.2. Small cases: Cities of CEMOSIS partners

  • Lixhausen (France - Synapse Concept | address: 7 Rue de Bouxwiller, 67270 Lixhausen)

  • Faches-Thumesnil (France - Iloomi | address: 54 Avenue de Paris 59155 Faches-Thumesnil)

4.3. Large cases: Cities of HiDALGO2 partners

  • Poznań (Poland - PCNC | address: Jana Pawła II 10, 61-139 Poznań, Poland)

  • Stuttgart (Germany - HLRS | address: Nobelstraße 19, 70569 Stuttgart, Germany)

  • Győr (Hungary - SZE | address: Győr, Egyetem tér 1, 9026 Hungary)

  • Madrid (España - MeteoGRID | address: Calle de Modesto Lafuente, 45 28003 Madrid, España)

  • Strasbourg (France - CEMOSIS | address: 7 Rue René Descartes, 67000 Strasbourg)

  • Zografou (Greece - ICCS | address: Ir. Politechniou 9, Zografou 157 73)

  • Nicosia (Cyprus - Future Needs | address:: Nicosia, Cyprus 2042, CY)

  • Erlangen (Germany - FAU | address: Schloßplatz 4, 91054 Erlangen, Germany)

  • Luxembourg (Luxembourg - European Commission | address: Rue Robert Stumper, 2350 Gasperich Luxembourg)