[a0bcf1] | 1 | #!/bin/sh
|
---|
| 2 | #
|
---|
| 3 | # uses gather_results with known files
|
---|
| 4 |
|
---|
| 5 | if [ -z "$1" ];then
|
---|
| 6 | echo "Usage: $0 <mol>"
|
---|
| 7 | echo "where <mol> is one directory in the defaults-dir, containing pcp.*${suf} files."
|
---|
| 8 | exit 1
|
---|
| 9 | fi
|
---|
| 10 |
|
---|
| 11 | elementliste="H C O Si"
|
---|
| 12 | . suffix
|
---|
| 13 |
|
---|
| 14 |
|
---|
| 15 | for mol in $@; do
|
---|
| 16 | DDir="${configdir}/$mol"
|
---|
| 17 | SDir=$PWD
|
---|
| 18 | TEX="$mol.tex"
|
---|
| 19 | DVI="$mol.dvi"
|
---|
| 20 | PS="$mol.ps"
|
---|
| 21 |
|
---|
| 22 | # start TeX-File
|
---|
| 23 | echo "\documentclass[11pt, a4paper]{article}" >${DDir}/$TEX
|
---|
| 24 | echo "\usepackage{rotating}" >>${DDir}/$TEX
|
---|
| 25 | echo "\usepackage{graphicx}" >>${DDir}/$TEX
|
---|
| 26 | echo "\usepackage{latexsym}" >>${DDir}/$TEX
|
---|
| 27 | echo "\usepackage{amsfonts}" >>${DDir}/$TEX
|
---|
| 28 | echo "\usepackage{amssymb}" >>${DDir}/$TEX
|
---|
| 29 | echo "\begin{document}" >>${DDir}/$TEX
|
---|
| 30 |
|
---|
| 31 | # gather susceptibility, copy plot file, call gnuplot
|
---|
| 32 | echo "Gathering susceptibility ..."
|
---|
| 33 | ./gather_result ${DDir}/ chi
|
---|
| 34 | echo "\include{results-chi}" >>${DDir}/$TEX
|
---|
| 35 | echo "\include{results-chi_iso}" >>${DDir}/$TEX
|
---|
| 36 | sed -e "s#results#results-chi#g" ${pcpdir}/util/plot-chi.plt >${DDir}/plot-chi.plt
|
---|
| 37 | cd ${DDir}
|
---|
| 38 | gnuplot plot-chi.plt
|
---|
| 39 | sed -i -e "s#^ \(.*\) \(.*\) i#\1\t\2#" results-chi_iso${suf}
|
---|
| 40 | sed -i -e "s#figure#sidewayfigure#g" results-chi.tex
|
---|
| 41 | cd ${SDir}
|
---|
| 42 |
|
---|
| 43 | # build ecut list and search for first Ht
|
---|
| 44 | i=1
|
---|
| 45 | firstecut=""
|
---|
| 46 | while [ "$i" -lt 128 ]; do
|
---|
| 47 | if [ -e "$DDir/${i}Ht/pcp.spread.all" ]; then
|
---|
| 48 | ecuts="$ecuts $i"
|
---|
| 49 | # Mark the first
|
---|
| 50 | if [ -z "$firstecut" ]; then
|
---|
| 51 | firstecut="$i"
|
---|
| 52 | fi
|
---|
| 53 | fi
|
---|
| 54 | let i=$i+1
|
---|
| 55 | done
|
---|
| 56 |
|
---|
| 57 | # go through all different sigmas
|
---|
| 58 | for type in $elementliste; do
|
---|
| 59 | ion=0
|
---|
| 60 | while [ -e "$DDir/${firstecut}Ht/pcp.sigma_i${ion}_${type}${suf}" ]; do
|
---|
| 61 | echo "Gathering shielding tensor for ion ${ion} of type ${type} ..."
|
---|
| 62 | ./gather_result ${DDir}/ "sigma_i${ion}_${type}"
|
---|
| 63 | sed -e "s#sigma#sigma-i${ion}-${type}#g" -e "s#results#results-sigma_i${ion}_${type}#" ${pcpdir}/util/plot-sigma.plt >${DDir}/plot-sigma_i${ion}_${type}.plt
|
---|
| 64 | cd ${DDir}
|
---|
| 65 | gnuplot "plot-sigma_i${ion}_${type}.plt"
|
---|
| 66 | sed -i -e "s#^ \(.*\) \(.*\) i#\1\t\2#" results-sigma_i${ion}_${type}_iso${suf}
|
---|
| 67 | sed -i -e "s#figure#sidewayfigure#g" results-sigma_i${ion}_${type}.tex
|
---|
| 68 | cd ${SDir}
|
---|
| 69 | echo "\include{results-sigma_i${ion}_${type}}" >>${DDir}/$TEX
|
---|
| 70 | echo "\include{results-sigma_i${ion}_${type}_iso}" >>${DDir}/$TEX
|
---|
| 71 | # step on to next ion, if exists. If not, go to next type and zeroth ion
|
---|
| 72 | let ion=$ion+1
|
---|
| 73 | done
|
---|
| 74 | if [ -e "$DDir/${firstecut}Ht/pcp.sigma_i0_${type}${suf}" ]; then
|
---|
| 75 | echo "Collecting shielding tensor, averaging and error estimation ..."
|
---|
| 76 | # ./average_result <molecule dir> <variable> <element> <columns> <destfile> [SUFFIX]
|
---|
| 77 | ./average_result ${DDir}/ "sigma" ${type} 9 "${DDir}/results-sigma_${type}_avg${suf}"
|
---|
| 78 | ./average_result ${DDir}/ "sigma" ${type} 1 "${DDir}/results-sigma_${type}_iso_avg${suf}" _iso
|
---|
| 79 | fi
|
---|
| 80 |
|
---|
| 81 | ion=0
|
---|
| 82 | while [ -e "$DDir/${firstecut}Ht/pcp.sigma_i${ion}_${type}_rezi${suf}" ]; do
|
---|
| 83 | echo "Gathering reciprocal shielding tensor for ion ${ion} of type ${type} ..."
|
---|
| 84 | ./gather_result ${DDir}/ "sigma_i${ion}_${type}_rezi"
|
---|
| 85 | sed -e "s#sigma#sigma-i${ion}-${type}_rezi#g" -e "s#results#results-sigma_i${ion}_${type}_rezi#" ${pcpdir}/util/plot-sigma.plt >${DDir}/plot-sigma_i${ion}_${type}_rezi.plt
|
---|
| 86 | cd ${DDir}
|
---|
| 87 | gnuplot "plot-sigma_i${ion}_${type}_rezi.plt"
|
---|
| 88 | sed -i -e "s#^ \(.*\) \(.*\) i#\1\t\2#" results-sigma_i${ion}_${type}_rezi_iso${suf}
|
---|
| 89 | sed -i -e "s#figure#sidewayfigure#g" results-sigma_i${ion}_${type}_rezi.tex
|
---|
| 90 | cd ${SDir}
|
---|
| 91 | echo "\include{results-sigma_i${ion}_${type}_rezi}" >>${DDir}/$TEX
|
---|
| 92 | echo "\include{results-sigma_i${ion}_${type}_rezi_iso}" >>${DDir}/$TEX
|
---|
| 93 | # step on to next ion, if exists. If not, go to next type and zeroth ion
|
---|
| 94 | let ion=$ion+1
|
---|
| 95 | done
|
---|
| 96 | if [ -e "$DDir/${firstecut}Ht/pcp.sigma_i0_${type}_rezi${suf}" ]; then
|
---|
| 97 | echo "Collecting reciprocal shielding tensor, averaging and error estimation ..."
|
---|
| 98 | ./average_result ${DDir}/ "sigma" ${type} 9 "${DDir}/results-sigma_${type}_rezi_avg${suf}" "_rezi"
|
---|
| 99 | ./average_result ${DDir}/ "sigma" ${type} 1 "${DDir}/results-sigma_${type}_rezi_iso_avg${suf}" "_rezi_iso"
|
---|
| 100 | fi
|
---|
| 101 | done
|
---|
| 102 |
|
---|
| 103 | # 2D-Vektorplots der verschiedenen Prozess zusammenfuehren
|
---|
| 104 | RES="$DDir/pcp.current${suf}"
|
---|
| 105 | DATE="`date`"
|
---|
| 106 | echo "# Results of 2d current vector plot of molecule ${mol}, gathered on $date" >$RES
|
---|
| 107 |
|
---|
| 108 | index=0
|
---|
| 109 | axis=-1
|
---|
| 110 | node=-1
|
---|
| 111 | for i in $ecuts; do
|
---|
| 112 | cpu=0
|
---|
| 113 | while [ -e "$DDir/${i}Ht/pcp.current_proc${cpu}${suf}" ]; do
|
---|
| 114 | # Give each block a header and grep info therefrom
|
---|
| 115 | if [ "$cpu" == "0" ]; then
|
---|
| 116 | echo "# Result of ${i} Hartree calculations" >>$RES
|
---|
| 117 | axis=`head -n 1 "$DDir/${i}Ht/pcp.current_proc${cpu}${suf}" | awk -F"_" {'print $2'} | awk -F" " {'print $1'}`
|
---|
| 118 | grid=`head -n 1 "$DDir/${i}Ht/pcp.current_proc${cpu}${suf}" | awk -F"node " {'print $2'} | awk -F"," {'print $1'}`
|
---|
| 119 | fi
|
---|
| 120 | cat <"$DDir/${i}Ht/pcp.current_proc${cpu}${suf}" >>$RES
|
---|
| 121 | let cpu=$cpu+1
|
---|
| 122 | done
|
---|
| 123 | # Put some blank lines in between for gnuplot index to work
|
---|
| 124 | if [ "$cpu" != "0" ]; then
|
---|
| 125 | echo -e -n "\n\n\n" >>$RES
|
---|
| 126 | PLOT="$DDir/pcp.current_${i}Ht.plt"
|
---|
| 127 | echo "#!/usr/local/bin/gnuplot" >$PLOT
|
---|
| 128 | echo "# set terminal postscript landscape noenhanced monochrome " >>$PLOT
|
---|
| 129 | echo "# dashed defaultplex "Helvetica" 14" >>$PLOT
|
---|
| 130 | echo "# set output 'output.ps'" >>$PLOT
|
---|
| 131 | #echo "set terminal pslatex auxfile" >>$PLOT
|
---|
| 132 | #echo "set output \"${type}_current_${i}Ht.tex\"" >>$PLOT
|
---|
| 133 | echo "set terminal postscript enhanced color" >>$PLOT
|
---|
| 134 | echo "set output \"${mol}_current_${i}Ht.eps\"" >>$PLOT
|
---|
| 135 | echo "set mxtics 5.000000" >>$PLOT
|
---|
| 136 | echo "set mytics 5.000000" >>$PLOT
|
---|
| 137 | echo "set xtics border mirror norotate 1" >>$PLOT
|
---|
| 138 | echo "set ytics border mirror norotate 0.5" >>$PLOT
|
---|
| 139 | echo "plot '$RES' index ${index} using 1:2:3:4 with vectors title 'Stromflu\"s ${mol}, Schnittachse ${axis} bei Punkt ${grid}'" >>$PLOT
|
---|
| 140 | echo "set terminal x11" >>$PLOT
|
---|
| 141 | echo "replot" >>$PLOT
|
---|
| 142 | echo "# EOF" >>$PLOT
|
---|
| 143 | let index=$index+1
|
---|
| 144 | fi
|
---|
| 145 | done
|
---|
| 146 |
|
---|
| 147 | # End TeX-File and call with latex
|
---|
| 148 | echo "\end{document}" >>${DDir}/$TEX
|
---|
| 149 | cd ${DDir}
|
---|
| 150 | latex $TEX
|
---|
| 151 | dvips -o $PS $DVI
|
---|
| 152 | cd ${SDir}
|
---|
| 153 | done
|
---|
| 154 |
|
---|
| 155 | echo "all done."
|
---|
| 156 |
|
---|
| 157 | exit 0
|
---|