150c0860bSLeila Ghaffari#!/bin/bash 250c0860bSLeila Ghaffari 350c0860bSLeila Ghaffari# Copyright (c) 2017-2018, Lawrence Livermore National Security, LLC. 450c0860bSLeila Ghaffari# Produced at the Lawrence Livermore National Laboratory. LLNL-CODE-734707. 550c0860bSLeila Ghaffari# All Rights reserved. See files LICENSE and NOTICE for details. 650c0860bSLeila Ghaffari# 750c0860bSLeila Ghaffari# This file is part of CEED, a collection of benchmarks, miniapps, software 850c0860bSLeila Ghaffari# libraries and APIs for efficient high-order finite element and spectral 950c0860bSLeila Ghaffari# element discretizations for exascale applications. For more information and 1050c0860bSLeila Ghaffari# source code availability see http://github.com/ceed. 1150c0860bSLeila Ghaffari# 1250c0860bSLeila Ghaffari# The CEED research is supported by the Exascale Computing Project 17-SC-20-SC, 1350c0860bSLeila Ghaffari# a collaborative effort of two U.S. Department of Energy organizations (Office 1450c0860bSLeila Ghaffari# of Science and the National Nuclear Security Administration) responsible for 1550c0860bSLeila Ghaffari# the planning and preparation of a capable exascale ecosystem, including 1650c0860bSLeila Ghaffari# software, applications, hardware, advanced system engineering and early 1750c0860bSLeila Ghaffari# testbed platforms, in support of the nation's exascale computing imperative. 1850c0860bSLeila Ghaffari 1950c0860bSLeila Ghaffarideclare -A run_flags 2050c0860bSLeila Ghaffari run_flags[problem]=euler_vortex 2150c0860bSLeila Ghaffari run_flags[degree]=2 2250c0860bSLeila Ghaffari run_flags[dm_plex_box_faces]=20,20,1 231f814bfdSLeila Ghaffari run_flags[euler_test]=none 241f814bfdSLeila Ghaffari run_flags[lx]=1e3 251f814bfdSLeila Ghaffari run_flags[ly]=1e3 2650c0860bSLeila Ghaffari run_flags[lz]=1 271f814bfdSLeila Ghaffari run_flags[ts_max_time]=.02 2850c0860bSLeila Ghaffari run_flags[ts_rk_type]=5bs 2950c0860bSLeila Ghaffari run_flags[ts_rtol]=1e-10 3050c0860bSLeila Ghaffari run_flags[ts_atol]=1e-10 3150c0860bSLeila Ghaffari 3250c0860bSLeila Ghaffarideclare -A test_flags 3350c0860bSLeila Ghaffari test_flags[degree_start]=1 3450c0860bSLeila Ghaffari test_flags[degree_stride]=1 351f814bfdSLeila Ghaffari test_flags[degree_end]=3 3650c0860bSLeila Ghaffari test_flags[res_start]=6 371f814bfdSLeila Ghaffari test_flags[res_stride]=2 381f814bfdSLeila Ghaffari test_flags[res_end]=10 3950c0860bSLeila Ghaffari 40*19c46194SLeila Ghaffarifile_name=conv_test_result.csv 41*19c46194SLeila Ghaffari 42*19c46194SLeila Ghaffariecho ",mesh_res,degree,rel_error" > $file_name 43*19c46194SLeila Ghaffari 4450c0860bSLeila Ghaffarii=0 4550c0860bSLeila Ghaffarifor ((d=${test_flags[degree_start]}; d<=${test_flags[degree_end]}; d+=${test_flags[degree_stride]})); do 4650c0860bSLeila Ghaffari run_flags[degree]=$d 4750c0860bSLeila Ghaffari for ((res=${test_flags[res_start]}; res<=${test_flags[res_end]}; res+=${test_flags[res_stride]})); do 4850c0860bSLeila Ghaffari run_flags[dm_plex_box_faces]=$res,$res,1 4950c0860bSLeila Ghaffari args='' 5050c0860bSLeila Ghaffari for arg in "${!run_flags[@]}"; do 5150c0860bSLeila Ghaffari if ! [[ -z ${run_flags[$arg]} ]]; then 5250c0860bSLeila Ghaffari args="$args -$arg ${run_flags[$arg]}" 5350c0860bSLeila Ghaffari fi 5450c0860bSLeila Ghaffari done 55*19c46194SLeila Ghaffari ./navierstokes $args | grep "Relative Error:" | awk -v i="$i" -v res="$res" -v d="$d" '{ print i","res","d","$3}' >> $file_name 5650c0860bSLeila Ghaffari i=$((i+1)) 5750c0860bSLeila Ghaffari done 5850c0860bSLeila Ghaffaridone 592931417aSLeila Ghaffari 602931417aSLeila Ghaffari# Compare the output CSV file with the reference file 61*19c46194SLeila Ghaffaricount=$(diff conv_test_result.csv tests-output/fluids_navierstokes_etv.csv | grep "^>" | wc -l) 62*19c46194SLeila Ghaffariif [ ${count} != 0 ]; then 63*19c46194SLeila Ghaffari printf "\n# TEST FAILED!\n\n" 64*19c46194SLeila Ghaffarifi 65