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
|
---|