已解决,请老师看一下有没有错误。
#Get unscaled ZPE
freqchk $1 N $Tinit $P 1.0 Y N > $tmp
ZPE=`grep "Zero-point correction=" $tmp | awk '{print $3}'`
ZPEscl=`echo "$ZPE*$ZPEfac" |bc | awk '{printf "%16.6f", $0}'`
for ((i=0;i<=$nTstep;i=i+1))
do
Tnow=`echo "$Tinit+$i*$Tstepsize"|bc`
#Using deltaH scale factor
freqchk $1 N $Tnow $P $deltaHfac Y N > $tmp
ZPEtmp=`grep "Zero-point correction=" $tmp | awk '{print $3}'`
Ucorrtmp=`grep "Thermal correction to Energy=" $tmp | awk '{print $5}'`
Hcorrtmp=`grep "Thermal correction to Enthalpy=" $tmp | awk '{print $5}'`
U_0Tcorr=`echo "$Ucorrtmp-$ZPEtmp" |bc | awk '{printf "%16.6f", $0}'`
H_0Tcorr=`echo "$Hcorrtmp-$ZPEtmp" |bc | awk '{printf "%16.6f", $0}'`
# Get Cv
freqchk $1 N $Tnow $P $ZPEfac Y N > $tmp
Cv=`grep "Total " $tmp | awk '{print $3}'`
#Using entropy scale factor
freqchk $1 N $Tnow $P $Sfac Y N > $tmp
Sscl=`grep "Total " $tmp | awk '{print $4}'`
Ucorrscl=`echo "$ZPEscl+$U_0Tcorr" |bc | awk '{printf "%16.6f", $0}'`
Hcorrscl=`echo "$ZPEscl+$H_0Tcorr" |bc | awk '{printf "%16.6f", $0}'`
Gcorrscl=`echo "$Hcorrscl-$Tnow*$Sscl/1000/627.5095" |bc -l | awk '{printf "%16.6f", $0}'`
Uscl=`echo "$Ucorrscl+$Eelec" |bc | awk '{printf "%16.6f", $0}'`
Hscl=`echo "$Hcorrscl+$Eelec" |bc | awk '{printf "%16.6f", $0}'`
Gscl=`echo "$Gcorrscl+$Eelec" |bc | awk '{printf "%16.6f", $0}'`
echo "T=" $Tnow "U=" $Uscl "H=" $Hscl "G=" $Gscl "S=" $Sscl "Cv=" $Cv
rm -f $tmp
done