conv.sh 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. #!/bin/bash
  2. CORES=1;
  3. export EXEC=examples/bin/fmm_cheb
  4. # Set run parameters
  5. declare -a nodes=();
  6. declare -a cores=();
  7. declare -a mpi_proc=();
  8. declare -a threads=();
  9. declare -a testcase=();
  10. declare -a n_pts=();
  11. declare -a m=();
  12. declare -a q=();
  13. declare -a tol=();
  14. declare -a depth=();
  15. declare -a unif=();
  16. declare -a adap=();
  17. declare -a max_time=();
  18. ###################################################################################################
  19. # SMOOTH INPUT, LAPLACE KERNEL, SINGLE NODE CONVERGENCE RESULTS #
  20. ###################################################################################################
  21. # m=10, q=9, tol=1e-{0,1,2,3,4,5,6}
  22. nodes+=( 1 1 1 1 1 1 1 :)
  23. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  24. mpi_proc+=( 1 1 1 1 1 1 1 :)
  25. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  26. testcase+=( 1 1 1 1 1 1 1 :)
  27. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) :)
  28. m_pts+=( 1 1 1 1 1 1 1 :)
  29. m+=( 10 10 10 10 10 10 10 :)
  30. q+=( 9 9 9 9 9 9 9 :)
  31. tol+=( 1e-0 1e-1 1e-2 1e-3 1e-4 1e-5 1e-6 :)
  32. depth+=( 15 15 15 15 15 15 15 :)
  33. unif+=( 1 1 1 1 1 1 1 :)
  34. adap+=( 1 1 1 1 1 1 1 :)
  35. max_time+=( 1000000 1000000 1000000 1000000 1000000 1000000 1000000 :)
  36. # m=10, q=14, tol=1e-{0,1,2,3,4,5,6,7}
  37. nodes+=( 1 1 1 1 1 1 1 1 :)
  38. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  39. mpi_proc+=( 1 1 1 1 1 1 1 1 :)
  40. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  41. testcase+=( 1 1 1 1 1 1 1 1 :)
  42. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) :)
  43. m_pts+=( 1 1 1 1 1 1 1 1 :)
  44. m+=( 10 10 10 10 10 10 10 10 :)
  45. q+=( 14 14 14 14 14 14 14 14 :)
  46. tol+=( 1e-0 1e-1 1e-2 1e-3 1e-4 1e-5 1e-6 1e-7 :)
  47. depth+=( 15 15 15 15 15 15 15 15 :)
  48. unif+=( 1 1 1 1 1 1 1 1 :)
  49. adap+=( 1 1 1 1 1 1 1 1 :)
  50. max_time+=( 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 :)
  51. # m={4,6,8,10,12}, q=9, tol=1e-4
  52. nodes+=( 1 1 1 1 1 :)
  53. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  54. mpi_proc+=( 1 1 1 1 1 :)
  55. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  56. testcase+=( 1 1 1 1 1 :)
  57. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) :)
  58. m_pts+=( 1 1 1 1 1 :)
  59. m+=( 4 6 8 10 12 :)
  60. q+=( 9 9 9 9 9 :)
  61. tol+=( 1e-4 1e-4 1e-4 1e-4 1e-4 :)
  62. depth+=( 15 15 15 15 15 :)
  63. unif+=( 1 1 1 1 1 :)
  64. adap+=( 1 1 1 1 1 :)
  65. max_time+=( 1000000 1000000 1000000 1000000 1000000 :)
  66. # m={4,6,8,10,12}, q=14, tol=1e-4
  67. nodes+=( 1 1 1 1 1 : :)
  68. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  69. mpi_proc+=( 1 1 1 1 1 : :)
  70. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  71. testcase+=( 1 1 1 1 1 : :)
  72. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) : :)
  73. m_pts+=( 1 1 1 1 1 : :)
  74. m+=( 4 6 8 10 12 : :)
  75. q+=( 14 14 14 14 14 : :)
  76. tol+=( 1e-4 1e-4 1e-4 1e-4 1e-4 : :)
  77. depth+=( 15 15 15 15 15 : :)
  78. unif+=( 1 1 1 1 1 : :)
  79. adap+=( 1 1 1 1 1 : :)
  80. max_time+=( 1000000 1000000 1000000 1000000 1000000 : :)
  81. ###################################################################################################
  82. # DISCONTINUOUS SPHERE, LAPLACE KERNEL, SINGLE NODE CONVERGENCE RESULTS #
  83. ###################################################################################################
  84. # m=10, q=9, depth={4,5,6,7,8,9}
  85. nodes+=( 1 1 1 1 1 1 :)
  86. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  87. mpi_proc+=( 1 1 1 1 1 1 :)
  88. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  89. testcase+=( 2 2 2 2 2 2 :)
  90. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) :)
  91. m_pts+=( 1 1 1 1 1 1 :)
  92. m+=( 10 10 10 10 10 10 :)
  93. q+=( 9 9 9 9 9 9 :)
  94. tol+=( 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 :)
  95. depth+=( 4 5 6 7 8 9 :)
  96. unif+=( 1 1 1 1 1 1 :)
  97. adap+=( 1 1 1 1 1 1 :)
  98. max_time+=( 1000000 1000000 1000000 1000000 1000000 1000000 :)
  99. # m=10, q=14, depth={4,5,6,7,8,9}
  100. nodes+=( 1 1 1 1 1 1 : :)
  101. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  102. mpi_proc+=( 1 1 1 1 1 1 : :)
  103. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  104. testcase+=( 2 2 2 2 2 2 : :)
  105. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) : :)
  106. m_pts+=( 1 1 1 1 1 1 : :)
  107. m+=( 10 10 10 10 10 10 : :)
  108. q+=( 14 14 14 14 14 14 : :)
  109. tol+=( 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 : :)
  110. depth+=( 4 5 6 7 8 9 : :)
  111. unif+=( 1 1 1 1 1 1 : :)
  112. adap+=( 1 1 1 1 1 1 : :)
  113. max_time+=( 1000000 1000000 1000000 1000000 1000000 1000000 : :)
  114. ###################################################################################################
  115. # SMOOTH INPUT, STOKES KERNEL, SINGLE NODE CONVERGENCE RESULTS #
  116. ###################################################################################################
  117. # m={4,6,8,10,12}, q=9, tol=1e-4
  118. nodes+=( 1 1 1 1 1 :)
  119. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  120. mpi_proc+=( 1 1 1 1 1 :)
  121. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  122. testcase+=( 3 3 3 3 3 :)
  123. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) :)
  124. m_pts+=( 1 1 1 1 1 :)
  125. m+=( 4 6 8 10 12 :)
  126. q+=( 9 9 9 9 9 :)
  127. tol+=( 1e-4 1e-4 1e-4 1e-4 1e-4 :)
  128. depth+=( 15 15 15 15 15 :)
  129. unif+=( 1 1 1 1 1 :)
  130. adap+=( 1 1 1 1 1 :)
  131. max_time+=( 1000000 1000000 1000000 1000000 1000000 :)
  132. # m={4,6,8,10,12}, q=14, tol=1e-4
  133. nodes+=( 1 1 1 1 1 : :)
  134. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  135. mpi_proc+=( 1 1 1 1 1 : :)
  136. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  137. testcase+=( 3 3 3 3 3 : :)
  138. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) : :)
  139. m_pts+=( 1 1 1 1 1 : :)
  140. m+=( 4 6 8 10 12 : :)
  141. q+=( 14 14 14 14 14 : :)
  142. tol+=( 1e-4 1e-4 1e-4 1e-4 1e-4 : :)
  143. depth+=( 15 15 15 15 15 : :)
  144. unif+=( 1 1 1 1 1 : :)
  145. adap+=( 1 1 1 1 1 : :)
  146. max_time+=( 1000000 1000000 1000000 1000000 1000000 : :)
  147. ###################################################################################################
  148. # SMOOTH INPUT, HELMHOLTZ KERNEL, SINGLE NODE CONVERGENCE RESULTS #
  149. ###################################################################################################
  150. # m={4,6,8,10,12}, q=9, tol=1e-5
  151. nodes+=( 1 1 1 1 1 :)
  152. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  153. mpi_proc+=( 1 1 1 1 1 :)
  154. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  155. testcase+=( 5 5 5 5 5 :)
  156. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) :)
  157. m_pts+=( 1 1 1 1 1 :)
  158. m+=( 4 6 8 10 12 :)
  159. q+=( 9 9 9 9 9 :)
  160. tol+=( 1e-5 1e-5 1e-5 1e-5 1e-5 :)
  161. depth+=( 10 10 10 10 10 :)
  162. unif+=( 1 1 1 1 1 :)
  163. adap+=( 1 1 1 1 1 :)
  164. max_time+=( 10000000 10000000 10000000 10000000 10000000 :)
  165. # m={4,6,8,10,12}, q=14, tol=1e-5
  166. nodes+=( 1 1 1 1 1 : :)
  167. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  168. mpi_proc+=( 1 1 1 1 1 : :)
  169. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  170. testcase+=( 5 5 5 5 5 : :)
  171. n_pts+=( $((8**1)) $((8**1)) $((8**1)) $((8**1)) $((8**1)) : :)
  172. m_pts+=( 1 1 1 1 1 : :)
  173. m+=( 4 6 8 10 12 : :)
  174. q+=( 14 14 14 14 14 : :)
  175. tol+=( 1e-5 1e-5 1e-5 1e-5 1e-5 : :)
  176. depth+=( 10 10 10 10 10 : :)
  177. unif+=( 1 1 1 1 1 : :)
  178. adap+=( 1 1 1 1 1 : :)
  179. max_time+=( 10000000 10000000 10000000 10000000 10000000 : :)
  180. ###################################################################################################
  181. # Export arrays
  182. export nodes_="$(declare -p nodes)";
  183. export cores_="$(declare -p cores)";
  184. export mpi_proc_="$(declare -p mpi_proc)";
  185. export threads_="$(declare -p threads)";
  186. export testcase_="$(declare -p testcase)";
  187. export n_pts_="$(declare -p n_pts)";
  188. export m_pts_="$(declare -p m_pts)";
  189. export m_="$(declare -p m)";
  190. export q_="$(declare -p q)";
  191. export tol_="$(declare -p tol)";
  192. export depth_="$(declare -p depth)";
  193. export unif_="$(declare -p unif)";
  194. export adap_="$(declare -p adap)";
  195. export max_time_="$(declare -p max_time)";
  196. export RESULT_FNAME=$(basename ${0%.*}).out;
  197. export WORK_DIR=$(dirname ${PWD}/$0)/..
  198. cd ${WORK_DIR}
  199. TERM_WIDTH=$(stty size | cut -d ' ' -f 2)
  200. ./scripts/.submit_jobs.sh | cut -b -${TERM_WIDTH}