|
mcstart.dat文件内容如下:
0.381
148.2
0.340
28.0
5.0
0.3354
1.5820
38.2
1.264
303.0
-6.18
700
1.094
16.04
shell脚本部分代码如下:
PORE_WIDTH_DIRECTORY=(0.3549 0.7098 1.0647 1.4196 1.7745 2.1294 2.4843
2.8392 3.1941 3.5490 3.9039 4.2588 4.6136 4.9686)
CHEMICAL_POTENTIAL=(-23.11 -22.36 -21.81 -21.48 -21.24 -20.35 -19.66 -19.38
-17.80 -17.5 -16.95 -16.39 -16.06 -15.82 -15.64 -15.08
-14.52 -14.19 -13.95 -13.78 -13.03 -12.47 -12.14 -11.91
-11.02 -10.46 -10.04 -9.06 -8.5 -8.17 -7.61 -7.05
-6.72 -6.49 -6.31 -5.57 -5.19 -4.94 -4.74 -4.5)
PRESSURE_DIRECTORY=(1.00e-08 2.50e-08 5.00e-08 7.50e-08 1.00e-07 3.00e-07 7.00e-07 1.00e-06
7.00e-06 1.00e-05 2.00e-05 4.00e-05 6.00e-05 8.00e-05 1.00e-04 2.00e-04
4.00e-04 6.00e-04 8.00e-04 1.00e-03 2.50e-03 5.00e-03 7.50e-03 1.00e-02
3.00e-02 6.00e-02 1.00e-01 3.33e-01 6.66e-01 1.00e+00 2.00e+00 4.00e+00
6.00e+00 8.00e+00 1.00e+01 2.50e+01 4.00e+01 5.50e+01 7.00e+01 9.50e+01)
。。。。。。
。。。。。。
。。。。。。
### copy initial files to the corresponding directories
echo -ne "Initializing simulation startup files ........................\t"
for i in ${PORE_WIDTH_DIRECTORY[@]}
do
k=0
for j in ${PRESSURE_DIRECTORY[@]}
do
cd ~
cp a.out result.dat mcstart.dat mcstep.dat $WORK_DIRECTORY/w_${i}nm/p_${j}kpa
cd $WORK_DIRECTORY/w_${i}nm/p_${j}kpa
a=`head -9 mcstart.dat | tail +9`
b=`head -11 mcstart.dat | tail +11`
mv mcstart.dat mcstart.dat.$$
k=`expr $k + 1`
sed -e 's/$a/${i}/g' -e 's/$b/${CHEMICAL_POTENTIAL[$k]}/g' mcstart.dat.$$ > mcstart.dat
rm -rf mcstart.dat.$$
done
done
echo "Done."
想替换原mcstart.dat里的第9和11行内的内容分别为对应的PORE_WIDTH_DIRECTORY和CHEMICAL_POTENTIAL条件,但是执行完上述该代码后,mcstart.dat没任何变换,为啥?? |
|