czytanie opcji
[unres.git] / ctest / prota_unres_energy_check_mult.sh
old mode 100644 (file)
new mode 100755 (executable)
index efe6d4c..5234ae2
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Writen by Dawid JagieÅ‚a and Adam Sieradzan
+# Writen by Dawid Jagie?a and Adam Sieradzan
 # and Cezary Czaplewski
 #
 #
@@ -43,7 +43,7 @@ elif [ "$1" == "1l2y_MIN_INT" ]; then
  fi
 elif [ "$1" == "1l2y_MIN_REGULAR_INT" ]; then
  extremediff="10.0"                    # extreme energy difference, comething went terribly wrong
- expectenergy="-9.4385"                        # expected total energy
+ expectenergy="9.4385"                 # expected total energy
 #
 # something wrong with REGULAR and sometimes gives code 8 and different energy
 # for now 8 is only warning and cutoffdiff is large
@@ -57,16 +57,20 @@ elif [ "$1" == "1l2y_MIN_REGULAR_INT" ]; then
  fi
 
 elif [ "$1" == "1l2y_micro" ]; then
- refe="74.2623"
+ refe="79.9"
  stat=`awk '{if ( $1 != "#" ) {n++;a=a+$5;a2=a2+$5^2}}END{print a/n,sqrt((a2-a^2/n)/n)}' $file_stat`
  array=(${stat// / })
  echo 'average total energy ' ${array[0]}
  echo 'standard deviation ' ${array[1]}
- if [ `echo "a=${array[0]}-${refe};if(0>a)a*=-1;a>5.0"|bc -l` != "0" ]; then
-  echo 'difference ' `echo "a=${array[0]}-${refe};if(0>a)a*=-1;a"|bc -l` "from reference ave etot ${refe} greater than 5.0"
+
+ ./matplotlib_plot.py $file_stat 
+ echo  "<DartMeasurementFile name=\"Energy $1\" type=\"image/png\">`pwd`/${file_stat}_ene.png</DartMeasurementFile>"
+
+ if [ `echo "a=${array[0]}-${refe};if(0>a)a*=-1;a>6.0"|bc -l` != "0" ]; then
+  echo 'difference ' `echo "a=${array[0]}-${refe};if(0>a)a*=-1;a"|bc -l` "from reference ave etot ${refe} greater than 6.0"
   exit 1
- elif [ `echo "a=${array[1]};a>0.30"|bc -l` != "0" ]; then
-  echo 'standard deviation greater than 0.30'
+ elif [ `echo "a=${array[1]};a>0.40"|bc -l` != "0" ]; then
+  echo 'standard deviation greater than 0.40'
   exit 1
  else
   exit 0
@@ -150,7 +154,7 @@ elif [ "$1" == "1DKZcut-lang" ]; then
 
 elif [ "$1" == "1DKZcut-min" ]; then
  extremediff="10.0"                    # extreme energy difference, comething went terribly wrong
- expectenergy="338.4051"               # - expected total energy
+ expectenergy="323.6931"               # - expected total energy
  cutoffdiff="8.0"                      # energy cutoff variation - more then this rises warning  
  
  sumsl_return=`grep SUMSL $file|awk '{print $4}'`
@@ -163,7 +167,7 @@ elif [ "$1" == "1DKZcut-min" ]; then
 
 elif [ "$1" == "1DKZcut-ene" ]; then
  extremediff="10000.0"                 # extreme energy difference, comething went terribly wrong
- expectenergy="-443.2887"      # - expected total energy
+ expectenergy="-443.2674"      # - expected total energy
  cutoffdiff="0.01"                     # energy cutoff variation - more then this rises warning  
 
 elif [ "$1" == "1DKZcut-micro" ]; then
@@ -184,10 +188,10 @@ elif [ "$1" == "1DKZcut-micro" ]; then
 
 elif [ "$1" == "1ei0_min" ]; then
  extremediff="20.0"                    # extreme energy difference, comething went terribly wrong
- expectenergy="141.9976"               # - expected total energy
+ expectenergy="148.5862"               # - expected total energy
  cutoffdiff="10.0"                     # energy cutoff variation - more then this rises warning  
  
- refe="134.706"
+ refe="127.044"
  startene=`grep ETOT $file|head -1| awk '{print $2*1.0}'`
  echo "initial energy=${startene} reference=${refe}"
  if [ `echo "a=${startene}-(${refe});if(0>a)a*=-1;a>0.01"|bc -l` != "0" ]; then
@@ -223,7 +227,7 @@ elif [ "$1" ==  "Ts866_checkgrad_full" ] ; then
  ene=`grep ETOT $file|head -1| awk '{print $2*1.0}'`
  hene=`grep H_CONS $file|head -1| awk '{print $2*1.0}'`
  
- ene_ref=3124.347
+ ene_ref=3124.502
  hene_ref=1872.981
  
  echo "ETOT= " ${ene} " reference= " ${ene_ref}
@@ -239,9 +243,9 @@ elif [ "$1" ==  "Ts866_checkgrad_full" ] ; then
  fi
  
  
- if [ `echo "a=${diff};a>0.0020"|bc -l` != "0" ]; then
+ if [ `echo "a=${diff};a>0.0080"|bc -l` != "0" ]; then
     echo 'ERROR largest abs(1-numerical/analytical)' ${diff}
-    echo ' greater than 0.0020'
+    echo ' greater than 0.0080'
     exit_error=1
  fi
 
@@ -302,10 +306,12 @@ if [[ $grepene == "NaN" ]]; then
 fi
 
 # Check if energy value is extremely different from expected
-blaene=`floating $grepene`
-myene=`echo $blaene |bc`
-diff=`echo $myene"+("$expectenergy")"|bc`
-absdiff=`echo $diff| sed 's/-//'`
+#blaene=`floating $grepene`
+#myene=`echo $blaene |bc`
+#diff=`echo $myene"+("$expectenergy")"|bc`
+#absdiff=`echo $diff| sed 's/-//'`
+myene=$grepene
+absdiff=`awk "function abs(v) {return v < 0 ? -v : v}BEGIN{print abs($grepene+$expectenergy)}"`
 
 true1=`echo "$absdiff >= $extremediff"|bc`
 if [ $true1 -eq 1 ]; then