11#! /bin/bash
2+ # SBATCH --job-name=gmgpolar # create a short name for your job
3+ # SBATCH --output=slurm-%A.out # stdout file %A=job id
4+ # SBATCH --error=slurm-%A.err # stderr file
5+ # SBATCH -N 1
6+ # SBATCH -n 1
7+ # SBATCH -c 4
8+ # SBATCH -t 6000
9+ # SBATCH --exclusive
210
3- # fixed variables
11+ # #
12+ # # This is the run configuration to reproduce GMGPolar results of Figure 8 a) - d) in
13+ # # Bourne et al. - Solver comparison for Poisson-like equations on tokamak geometries (2023)
14+ # #
15+ # fixed variables (some of these variables have no effect, variables have to be cleaned up for a better presentation)
416debug=0
517v1=1
618v2=1
719cycle=1
820compute_rho=0
921level=-1
10- plotit=0
11- solveit=1
1222maxiter=300
1323periodic=1
14- origin_NOT_coarse=0
1524theta_aniso=0
16- paraview=0
1725discr=1
1826nr_exp=4
1927ntheta_exp=4
2028res_norm=3
21- R0=1e-5
22- DirBC_Interior=1
29+ R0=1e-6
30+ DirBC_Interior=0
2331smoother=3
2432rel_red_conv=1e-11
2533
2634# Problem
27- prob=7
35+ # prob=7 # setting not regarded: modified later on in loop
2836alpha_coeff=2 # Zoni shifted
2937beta_coeff=1
3038
3139# geometry/grid
3240R=1.0
33- fac_ani=1
34- mod_pk=0
41+ fac_ani=0
42+ # mod_pk=0 # setting not regarded: modified later on in loop
3543kappa_eps=0.3
3644delta_e=0.2
37- divideBy2=0
45+ # divideBy2=0 # setting not regarded: modified later on in loop
3846
3947# MG
4048openmp=4
41- extrapolation=1
49+ # extrapolation=1 # setting not regarded: modified later on in loop
4250
43- # f_grid_r="radii_files/aniso3/divide0.txt"
44- # f_grid_theta="angles_files/aniso3/divide0.txt"
45- f_grid_r=" "
46- f_grid_theta=" "
47-
48- build_dir=build_gnu
51+ build_dir=build
4952
5053# overwrite existing file with an empty file
5154break > output.txt
5255
56+ # #########
57+ # # create grids
58+ # ########
59+ mod_pk=0 # mod_pk has no effect on the creation of grids as the set of (r,theta) is
60+ # the same for all geometries, only the mapping F(r,theta) -> (x,y) changes.
61+
62+ mkdir -p angles_files/Rmax" $R " /aniso" $fac_ani " /
63+ mkdir -p radii_files/Rmax" $R " /aniso" $fac_ani " /
64+
65+ echo $prob $alpha_coeff $beta_coeff $fac_ani $extrapolation $mod_pk
66+ for divideBy2 in 0 1 2 3 4 5 6 # create different grid sizes
67+ do
68+ # # ATTENTION / REMARK:
69+ # # Please note that these calls will abort/segfault as creation of grids and computation in one step
70+ # # is not yet supported by GMGPolar. We will make this functionality available in a future commit.
71+ # # Please ignore abort/segfault for the calls in this loop.
72+ ./${build_dir} /gmgpolar_simulation -n $nr_exp -a $fac_ani --mod_pk $mod_pk --DirBC_Interior $DirBC_Interior --divideBy2 $divideBy2 -r $R0 --smoother $smoother --verbose 2 --debug $debug --extrapolation $extrapolation --optimized 1 --openmp $openmp --v1 $v1 --v2 $v2 -R $R --prob $prob --maxiter $maxiter --alpha_coeff $alpha_coeff --beta_coeff $beta_coeff --res_norm $res_norm --write_radii_angles 1 --f_grid_r " radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --f_grid_theta " angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt"
73+ done
74+
75+
5376# ################################################
5477# # TABLE 1-2: TEST CASES
5578# ################################################
79+ # module load mumps/mumps-5.4.1/mumps-5.4.1-gcc-11.3.0-openmpi-s7bj6hi
5680mkdir -p outputs
5781
5882echo " prob alpha_coeff beta_coeff fac_ani extrapolation mod_pk"
@@ -61,35 +85,25 @@ for mod_pk in 2 1
6185do
6286 # Cartesian + beta 0 + ani 0
6387 prob=7
64- fac_ani=0
65- # for beta_coeff in 0 1
66- # do
6788 echo $prob $alpha_coeff $beta_coeff $fac_ani $extrapolation $mod_pk
68- for extrapolation in 0 1
89+ for extrapolation in 1
6990 do
7091 for divideBy2 in 0 1 2 3 4 5 6 # iterate over the different grid sizes
7192 do
72- echo " ./${build_dir} /main -n " $nr_exp " -a " $fac_ani " --mod_pk " $mod_pk " --DirBC_Interior " $DirBC_Interior " --divideBy2 0 -r " $R0 " --smoother " $smoother " --verbose 2 --debug " $debug " --extrapolation " $extrapolation " --optimized 1 --openmp " $openmp " --v1 " $v1 " --v2 " $v2 " -R " $R " --prob " $prob " --maxiter " $maxiter " --alpha_coeff " $alpha_coeff " --beta_coeff " $beta_coeff " --res_norm " $res_norm " --f_grid_r radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --f_grid_theta angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --rel_red_conv " $rel_red_conv " 1> outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt 2> outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt"
73- ./${build_dir} /main -n $nr_exp -a $fac_ani --mod_pk $mod_pk --DirBC_Interior $DirBC_Interior --divideBy2 0 -r $R0 --smoother $smoother --verbose 2 --debug $debug --extrapolation $extrapolation --optimized 1 --openmp $openmp --v1 $v1 --v2 $v2 -R $R --prob $prob --maxiter $maxiter --alpha_coeff $alpha_coeff --beta_coeff $beta_coeff --res_norm $res_norm --f_grid_r " radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --f_grid_theta " angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --rel_red_conv $rel_red_conv 1> " outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " .txt" 2> " outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " .txt"
93+ echo " ./${build_dir} /gmgpolar_simulation -n " $nr_exp " -a " $fac_ani " --mod_pk " $mod_pk " --DirBC_Interior " $DirBC_Interior " --divideBy2 0 -r " $R0 " --smoother " $smoother " --verbose 2 --debug " $debug " --extrapolation " $extrapolation " --optimized 1 --openmp " $openmp " --v1 " $v1 " --v2 " $v2 " -R " $R " --prob " $prob " --maxiter " $maxiter " --alpha_coeff " $alpha_coeff " --beta_coeff " $beta_coeff " --res_norm " $res_norm " --f_grid_r radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --f_grid_theta angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --rel_red_conv " $rel_red_conv " 1> outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt 2> outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt"
94+ ./${build_dir} /gmgpolar_simulation -n $nr_exp -a $fac_ani --mod_pk $mod_pk --DirBC_Interior $DirBC_Interior --divideBy2 0 -r $R0 --smoother $smoother --verbose 2 --debug $debug --extrapolation $extrapolation --optimized 1 --openmp $openmp --v1 $v1 --v2 $v2 -R $R --prob $prob --maxiter $maxiter --alpha_coeff $alpha_coeff --beta_coeff $beta_coeff --res_norm $res_norm --f_grid_r " radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --f_grid_theta " angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --rel_red_conv $rel_red_conv 1> " outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _ " $rel_red_conv " .txt" 2> " outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _ " $rel_red_conv " .txt"
7495 done
7596 done
76- # done
7797
7898 # Polar + beta 0-1 + ani 0-1
7999 prob=6
80- for fac_ani in 0 1
81- do
82- # for beta_coeff in 0 1
83- # do
84- echo $prob $alpha_coeff $beta_coeff $fac_ani $extrapolation $mod_pk
85- for extrapolation in 0 1
100+ echo $prob $alpha_coeff $beta_coeff $fac_ani $extrapolation $mod_pk
101+ for extrapolation in 1
102+ do
103+ for divideBy2 in 0 1 2 3 4 5 6 # iterate over the different grid sizes
86104 do
87- for divideBy2 in 0 1 2 3 4 5 6 # iterate over the different grid sizes
88- do
89- echo " ./${build_dir} /main -n " $nr_exp " -a " $fac_ani " --mod_pk " $mod_pk " --DirBC_Interior " $DirBC_Interior " --divideBy2 0 -r " $R0 " --smoother " $smoother " --verbose 2 --debug " $debug " --extrapolation " $extrapolation " --optimized 1 --openmp " $openmp " --v1 " $v1 " --v2 " $v2 " -R " $R " --prob " $prob " --maxiter " $maxiter " --alpha_coeff " $alpha_coeff " --beta_coeff " $beta_coeff " --res_norm " $res_norm " --f_grid_r radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --f_grid_theta angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --rel_red_conv " $rel_red_conv " 1> outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt 2> outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt"
90- ./${build_dir} /main -n $nr_exp -a $fac_ani --mod_pk $mod_pk --DirBC_Interior $DirBC_Interior --divideBy2 0 -r $R0 --smoother $smoother --verbose 2 --debug $debug --extrapolation $extrapolation --optimized 1 --openmp $openmp --v1 $v1 --v2 $v2 -R $R --prob $prob --maxiter $maxiter --alpha_coeff $alpha_coeff --beta_coeff $beta_coeff --res_norm $res_norm --f_grid_r " radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --f_grid_theta " angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --rel_red_conv $rel_red_conv 1> " outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " .txt" 2> " outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " .txt"
91- done
105+ echo " ./${build_dir} /gmgpolar_simulation -n " $nr_exp " -a " $fac_ani " --mod_pk " $mod_pk " --DirBC_Interior " $DirBC_Interior " --divideBy2 0 -r " $R0 " --smoother " $smoother " --verbose 2 --debug " $debug " --extrapolation " $extrapolation " --optimized 1 --openmp " $openmp " --v1 " $v1 " --v2 " $v2 " -R " $R " --prob " $prob " --maxiter " $maxiter " --alpha_coeff " $alpha_coeff " --beta_coeff " $beta_coeff " --res_norm " $res_norm " --f_grid_r radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --f_grid_theta angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt --rel_red_conv " $rel_red_conv " 1> outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt 2> outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt"
106+ ./${build_dir} /gmgpolar_simulation -n $nr_exp -a $fac_ani --mod_pk $mod_pk --DirBC_Interior $DirBC_Interior --divideBy2 0 -r $R0 --smoother $smoother --verbose 2 --debug $debug --extrapolation $extrapolation --optimized 1 --openmp $openmp --v1 $v1 --v2 $v2 -R $R --prob $prob --maxiter $maxiter --alpha_coeff $alpha_coeff --beta_coeff $beta_coeff --res_norm $res_norm --f_grid_r " radii_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --f_grid_theta " angles_files/Rmax" $R " /aniso" $fac_ani " /divide" $divideBy2 " .txt" --rel_red_conv $rel_red_conv 1> " outputs/job.out_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt" 2> " outputs/job.err_" $fac_ani " _" $mod_pk " _" $prob " _" $beta_coeff " _" $extrapolation " _" $divideBy2 " _" $rel_red_conv " .txt"
92107 done
93- # done
94- done
108+ done
95109done
0 commit comments