1fc37ad8cSJames Wright#!/bin/bash 2*ae2b091fSJames Wright# SPDX-FileCopyrightText: Copyright (c) 2017-2024, HONEE contributors. 3*ae2b091fSJames Wright# SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause 4fc37ad8cSJames Wright 5fc37ad8cSJames Wrightdeclare -A run_flags 6fc37ad8cSJames Wright run_flags[problem]=euler_vortex 7fc37ad8cSJames Wright run_flags[degree]=2 8fc37ad8cSJames Wright run_flags[dm_plex_box_faces]=20,20,1 9fc37ad8cSJames Wright run_flags[lx]=1e3 10fc37ad8cSJames Wright run_flags[ly]=1e3 11fc37ad8cSJames Wright run_flags[lz]=1 12fc37ad8cSJames Wright run_flags[ts_max_time]=.02 13fc37ad8cSJames Wright run_flags[ts_rk_type]=5bs 14fc37ad8cSJames Wright run_flags[ts_rtol]=1e-10 15fc37ad8cSJames Wright run_flags[ts_atol]=1e-10 16fc37ad8cSJames Wright 17fc37ad8cSJames Wrightdeclare -A test_flags 18fc37ad8cSJames Wright test_flags[degree_start]=1 19fc37ad8cSJames Wright test_flags[degree_stride]=1 20fc37ad8cSJames Wright test_flags[degree_end]=2 21fc37ad8cSJames Wright test_flags[res_start]=6 22fc37ad8cSJames Wright test_flags[res_stride]=2 23fc37ad8cSJames Wright test_flags[res_end]=10 24fc37ad8cSJames Wright 25fc37ad8cSJames Wrightfile_name=conv_test_result.csv 26fc37ad8cSJames Wright 27fc37ad8cSJames Wrightecho ",mesh_res,degree,rel_error" > $file_name 28fc37ad8cSJames Wright 29fc37ad8cSJames Wrighti=0 30fc37ad8cSJames Wrightfor ((d=${test_flags[degree_start]}; d<=${test_flags[degree_end]}; d+=${test_flags[degree_stride]})); do 31fc37ad8cSJames Wright run_flags[degree]=$d 32fc37ad8cSJames Wright for ((res=${test_flags[res_start]}; res<=${test_flags[res_end]}; res+=${test_flags[res_stride]})); do 33fc37ad8cSJames Wright run_flags[dm_plex_box_faces]=$res,$res,1 34fc37ad8cSJames Wright args='' 35fc37ad8cSJames Wright for arg in "${!run_flags[@]}"; do 36fc37ad8cSJames Wright if ! [[ -z ${run_flags[$arg]} ]]; then 37fc37ad8cSJames Wright args="$args -$arg ${run_flags[$arg]}" 38fc37ad8cSJames Wright fi 39fc37ad8cSJames Wright done 40fc37ad8cSJames Wright ./navierstokes $args | grep "Relative Error:" | awk -v i="$i" -v res="$res" -v d="$d" '{ printf "%d,%d,%d,%.5f\n", i, res, d, $3}' >> $file_name 41fc37ad8cSJames Wright i=$((i+1)) 42fc37ad8cSJames Wright done 43fc37ad8cSJames Wrightdone 44fc37ad8cSJames Wright 45fc37ad8cSJames Wright# Compare the output CSV file with the reference file 46fc37ad8cSJames Wrightcount=$(diff conv_test_result.csv tests-output/fluids-navierstokes-conv-euler.csv | grep "^>" | wc -l) 47fc37ad8cSJames Wrightif [ ${count} != 0 ]; then 48fc37ad8cSJames Wright printf "\n# TEST FAILED!\n\n" 49fc37ad8cSJames Wright diff -q conv_test_result.csv tests-output/fluids-navierstokes-conv-euler.csv 50fc37ad8cSJames Wright printf "\n" 51fc37ad8cSJames Wrightfi 52