Fenòmens: minor changes to lab p4

- Modified gnuplot code.
- Changed |run.bash| so it can be executed standalone to interface with
  the mc2 program with a lot of possible options (run
  `./run.bash --help`).
- Added some more temperatures to runAll.bash in order to get better
  precision around the critical temperature.

Change-Id: I4c8bd84eeccd9d444981e885ba41b9fd6fc75481
diff --git a/quad10/fenomens/lab/p4/run.bash b/quad10/fenomens/lab/p4/run.bash
index 73031d7..96122de 100755
--- a/quad10/fenomens/lab/p4/run.bash
+++ b/quad10/fenomens/lab/p4/run.bash
@@ -1,12 +1,87 @@
 #!/bin/bash
+progname=$0
+function usage() {
+  cat <<END
+
+  Usage: $progname T L [outFilePrefix [--help --skipIfComputed
+             --nSeeds NSEEDS --mcTot MCTOT --mcIni MCINI --mcD MCD
+             --initialSeed INITIALSEED]]
+
+  the output file will be saved at "data_out/{{outFilePrefix}}"
+
+  optional arguments:
+    -h, --help            show this help message and exit.
+    -s, --skipIfComputed  skip if the output file already exists.
+    -n, --nSeeds          number of seeds which will be used for the
+                          simulation.
+    -m, --mcTot           number of iterations which will be performed
+                          in the simulation for each seed.
+    -i, --mcIni           number of iterations before the program
+                          starts measuring physical properties of the
+                          system.
+    -d, --mcD             the program will measure the physical
+                          properties when iteration % MCD == 0.
+    --initialSeed         initial seed for the Monte Carlo algorithm.
+END
+}
+
+if (( "$#" < 2 )); then
+  usage
+  exit 1
+fi
+
 T="$1"
 L="$2"
-outFolder="dep_en_L/$L"
-outFilePrefix="${outFolder}/$T"
+defaultOutFilePrefix="L$L-T$T"
+outFilePrefix="${3:-$defaultOutFilePrefix}"
 
-if [ -f "data_out/${outFilePrefix}.res" ]; then
+opts=$(getopt -l "help,skipIfComputed,nSeeds:,mcTot:,mcIni:,mcD:,initialSeed:" -o "hsn:m:i:d:" -n "$progname" -- "${@:4}")
+eval set -- "$opts"
+
+skipIfComputed=false
+nSeeds=150
+mcTot=40000
+mcIni=2000
+mcD=20
+initialSeed=117654
+
+while true; do
+  case "$1" in
+    -h | --help)
+      usage
+      exit
+      ;;
+    -s | --skipIfComputed)
+      skipIfComputed=true
+      shift
+      ;;
+    -n | --nSeeds)
+      nSeeds="$2"
+      shift 2
+      ;;
+    -m | --mcTot)
+      mcTot="$2"
+      shift 2
+      ;;
+    -i | --mcIni)
+      mcIni="$2"
+      shift 2
+      ;;
+    -d | --mcD)
+      mcD="$2"
+      shift 2
+      ;;
+    --initialSeed)
+      initialSeed="$2"
+      shift 2
+      ;;
+    *) break ;;
+  esac
+done
+
+if [ "$skipIfComputed" == "true" ] && [ -f "data_out/${outFilePrefix}.res" ]; then
   echo "Skipping computation for L=$L, T=$T (.res file already exists)"
-  exit 0
+  exit
 fi
 
 echo "Starting computation for L=$L, T=$T"
@@ -16,10 +91,10 @@
 L=$L,
 NOM="$outFilePrefix",
 TEMP=$T,
-NSEED=150,
-SEED0=117654,
-MCTOT=40000,
-MCINI=2000,
-MCD=20
+NSEED=$nSeeds,
+SEED0=$initialSeed,
+MCTOT=$mcTot,
+MCINI=$mcIni,
+MCD=$mcD
 &END
 EOF