88 # Triggers the workflow on push or pull request events but only for the master branch
99 # Comment lines 10-13 to deactivate automatic running until Metis webpage is online again.
1010 push :
11- branches : [ main ]
11+ branches : [ main, develop ]
1212 pull_request :
13- branches : [ main ]
13+ branches : [ main, develop ]
1414
1515 # Allows you to run this workflow manually from the Actions tab
1616 workflow_dispatch :
3030 mode : ['RELEASE']
3131 comm : ['PARALLEL']
3232 enable_threads : ['NO']
33+ mkl : ['NO']
34+ hdf5 : ['YES']
3335
34- name : NS - ${{ matrix.compiler }} - ${{ matrix.mode }} - ${{ matrix.comm }} - ${{ matrix.enable_threads }}
36+ name : NS - ${{ matrix.compiler }} - ${{ matrix.mode }} - ${{ matrix.comm }} - OpenMP = ${{ matrix.enable_threads }}
3537
3638 env :
3739 METIS_HOME : /home/runner/work/horses3d-gpu/horses3d-gpu/metis-5.1.0/build/Linux-x86_64
4244 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
4345 - uses : actions/checkout@v3
4446
47+ - name : Install hdf5 (only gfortran)
48+ if : (matrix.compiler == 'gfortran')
49+ run : |
50+ sudo apt-get update
51+ sudo apt install libhdf5-dev
52+ dpkg -L libhdf5-dev
53+ echo "HDF5_ROOT="/usr/lib/x86_64-linux-gnu/hdf5/serial/"" >> $GITHUB_ENV
54+
4555 # IF COMPILER = GFORTRAN -> INSTALL OPEN-MPI #
4656 - name : install openmpi
4757 if : (matrix.compiler == 'gfortran')
@@ -133,8 +143,8 @@ jobs:
133143 working-directory : ./Solver
134144 run : |
135145 source /opt/intel/oneapi/setvars.sh || true
136- make allclean MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
137- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
146+ make allclean MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
147+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
138148
139149
140150# GRC 30/10/2025 - DEACTIVATE EULER TEST CASES - NOT WORKING IN GPU
@@ -338,6 +348,31 @@ jobs:
338348 # mpiexec -n 8 ./horses3d.ns Convergence.control
339349 # if: '!cancelled()'
340350
351+ #
352+ # 0) Uniform Flow
353+ # ---------------
354+
355+ - name : Build NSUniformFlow
356+ working-directory : ./Solver/test/NavierStokes/UniformFlow/SETUP
357+ run : |
358+ source /opt/intel/oneapi/setvars.sh || true
359+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
360+ if : ' !cancelled()'
361+
362+ - name : Run NSUniformFlow_parallel
363+ working-directory : ./Solver/test/NavierStokes/UniformFlow
364+ run : |
365+ source /opt/intel/oneapi/setvars.sh || true
366+ mpiexec -n 3 ./horses3d.ns UniformFlow_HDF5.control
367+ if : ' !cancelled()'
368+
369+ - name : Run NSUniformFlow_serial
370+ working-directory : ./Solver/test/NavierStokes/UniformFlow
371+ run : |
372+ source /opt/intel/oneapi/setvars.sh || true
373+ mpiexec -n 1 ./horses3d.ns UniformFlow_HDF5.control
374+ if : ' !cancelled()'
375+
341376#
342377# 1) CYLINDER
343378# -----------
@@ -346,7 +381,7 @@ jobs:
346381 working-directory : ./Solver/test/NavierStokes/Cylinder/SETUP
347382 run : |
348383 source /opt/intel/oneapi/setvars.sh || true
349- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
384+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
350385 if : ' !cancelled()'
351386
352387 - name : Run NSCylinder
@@ -398,20 +433,19 @@ jobs:
398433# 4) CYLINDER DUCROS
399434# ------------------
400435
401- # GPU
402- # - name: Build NSCylinderDucros
403- # working-directory: ./Solver/test/NavierStokes/CylinderDucros/SETUP
404- # run: |
405- # source /opt/intel/oneapi/setvars.sh || true
406- # make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
407- # if: '!cancelled()'
436+ - name : Build NSCylinderDucros
437+ working-directory : ./Solver/test/NavierStokes/CylinderDucros/SETUP
438+ run : |
439+ source /opt/intel/oneapi/setvars.sh || true
440+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
441+ if : ' !cancelled()'
408442
409- # - name: Run NSCylinderDucros
410- # working-directory: ./Solver/test/NavierStokes/CylinderDucros
411- # run: |
412- # source /opt/intel/oneapi/setvars.sh || true
413- # mpiexec -n 8 ./horses3d.ns CylinderDucros.control
414- # if: '!cancelled()'
443+ - name : Run NSCylinderDucros
444+ working-directory : ./Solver/test/NavierStokes/CylinderDucros
445+ run : |
446+ source /opt/intel/oneapi/setvars.sh || true
447+ mpiexec -n 8 ./horses3d.ns CylinderDucros.control
448+ if : ' !cancelled()'
415449
416450#
417451# 5) CYLINDER Smagorinsky
@@ -421,7 +455,7 @@ jobs:
421455 working-directory : ./Solver/test/NavierStokes/CylinderSmagorinsky/SETUP
422456 run : |
423457 source /opt/intel/oneapi/setvars.sh || true
424- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
458+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
425459 if : ' !cancelled()'
426460
427461 - name : Run NSCylinderSmagorinsky
@@ -439,7 +473,7 @@ jobs:
439473 working-directory : ./Solver/test/NavierStokes/CylinderWALE/SETUP
440474 run : |
441475 source /opt/intel/oneapi/setvars.sh || true
442- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
476+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
443477 if : ' !cancelled()'
444478
445479 - name : Run NSCylinderWALE
@@ -457,7 +491,7 @@ jobs:
457491 working-directory : ./Solver/test/NavierStokes/CylinderVreman/SETUP
458492 run : |
459493 source /opt/intel/oneapi/setvars.sh || true
460- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
494+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
461495 if : ' !cancelled()'
462496
463497 - name : Run NSCylinderVreman
@@ -475,7 +509,7 @@ jobs:
475509 working-directory : ./Solver/test/NavierStokes/CylinderChandrasekarRoe/SETUP
476510 run : |
477511 source /opt/intel/oneapi/setvars.sh || true
478- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
512+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
479513 if : ' !cancelled()'
480514
481515 - name : Run NSCylinderChandrasekarRoe
@@ -493,7 +527,7 @@ jobs:
493527 working-directory : ./Solver/test/NavierStokes/TaylorGreen/SETUP
494528 run : |
495529 source /opt/intel/oneapi/setvars.sh || true
496- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
530+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
497531 if : ' !cancelled()'
498532
499533 - name : Run TaylorGreen
@@ -652,7 +686,7 @@ jobs:
652686 working-directory : ./Solver/test/NavierStokes/DualTimeStepping/SETUP
653687 run : |
654688 source /opt/intel/oneapi/setvars.sh || true
655- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
689+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
656690 if : ' !cancelled()'
657691
658692 - name : Run DualTimeStepping
@@ -792,7 +826,7 @@ jobs:
792826 working-directory : ./Solver/test/NavierStokes/IBM_Cylinder/SETUP
793827 run : |
794828 source /opt/intel/oneapi/setvars.sh || true
795- make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES
829+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
796830 if : ' !cancelled()'
797831
798832 - name : Run IBM_Cylinder
@@ -1031,4 +1065,20 @@ jobs:
10311065 # source /opt/intel/oneapi/setvars.sh || true
10321066 # mpiexec -n 64 ./horses3d.ns ActuatorLineController.control
10331067 # if: '!cancelled()'
1068+ #
1069+ # 39) CHANNEL
1070+ # -----------
1071+
1072+ - name : Build Channel
1073+ working-directory : ./Solver/test/NavierStokes/Channel/SETUP
1074+ run : |
1075+ source /opt/intel/oneapi/setvars.sh || true
1076+ make ns MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_METIS=YES WITH_MKL=${{matrix.mkl}} WITH_HDF5=${{matrix.hdf5}}
1077+ if : ' !cancelled()'
10341078
1079+ - name : Run Channel
1080+ working-directory : ./Solver/test/NavierStokes/Channel
1081+ run : |
1082+ source /opt/intel/oneapi/setvars.sh || true
1083+ mpiexec -n 8 ./horses3d.ns Channel.control
1084+ if : ' !cancelled()'
0 commit comments