The following file is an excerpt from the zsh script that I used for my research. -- Shun
::::sh
$ermod/tools/gromacs/gen_structure -t ../${solu}_${solv}.top -s solute
run_ermod()
{
mpirun -machinefile $hostfile -np $NODES $ermod/bin/ermod
}
# make them absolute ...
SOLVENTDIR=$PWD/../../../solvents/run/${solv}
SOLUTEDIR=$PWD/../../../solutes/run/${solu}
if [[ ! -e slfrange ]] || [[ ! -e intrange ]]; then
pushd soln
# trial run: soln
$ermod/tools/gromacs/gen_input -l ../../${solu}_${solv}_run.log -x ../../${solu}_${solv}_run.xtc --minenergy -400.0 --div 1
mv MDinfo MDinfo.real
sed '1{s/\([0-9]\+\) \([0-9]\+\)/1000 \2/}' MDinfo.real > MDinfo
run_ermod
sed -ne '2p' uvrange.tt > ../slfrange.s
sed -ne '3,$p' uvrange.tt > ../intrange.s
rm -rf engsln.* slfeng.* *.tt weight_soln
rm -rf HISTORY
popd
pushd refs
# trial run: refs
$ermod/tools/gromacs/gen_input -l $SOLVENTDIR/run.log -x $SOLVENTDIR/run.xtc --flexible $SOLUTEDIR/traj0.g96 --minenergy -400.0 --div 1
sed -i '1{s/\([0-9]\+\) \([0-9]\+\)/1000 \2/}' MDinfo
sed -i 's/eclbin=5.0e-2/eclbin=2e-1/;/inptemp/imaxins=1,' parameters_er
run_ermod
sed -ne '2p' uvrange.tt >> ../slfrange.s
sed -ne '3,$p' uvrange.tt >> ../intrange.s
rm -rf engref.* slfeng.* corref.* *.tt weight_refs
rm -rf HISTORY
popd
mv -f slfrange.s slfrange
mv -f intrange.s intrange
fi
# determine energy
enemin=$(awk '$2 < x { x=$2 }; END { print x }' < slfrange)
enemax=$(awk 'BEGIN { x = -999 }; $3 > x { x=$3 }; END { print x }' < slfrange)
intmin=$(awk '$2 < x { x=$2 }; END { print x }' < intrange)
(( deltae = enemax - enemin ))
(( min1 = enemin - 2 * deltae ))
(( max1 = enemax + 2 * deltae ))
(( intmin1 = intmin - 25 ))
if [[ ! -e EcdInfo ]]; then
echo "species eclbin ecfbin ec0bin finfac ecdmin ecfmns ecdcen eccore ecdmax pecore" > EcdInfo
echo "0 0.2e-2 0.2e-2 0.2e-2 1.0 $min1 $enemin $enemax $max1" >> EcdInfo
fi
if [[ ! -e soln/slfeng.10 ]]; then
pushd soln
$ermod/tools/gromacs/gen_input -l ../../${solu}_${solv}_run.log -x ../../${solu}_${solv}_run.xtc --minenergy $intmin1
ln -s ../EcdInfo .
sed -e '/ecdmin/iperead=1,' parameters_er > parameters_er.new
mv parameters_er.new parameters_er
run_ermod
popd
fi
if [[ ! -e refs/corref.05 ]]; then
pushd refs
$ermod/tools/gromacs/gen_input -l $SOLVENTDIR/run.log -x $SOLVENTDIR/run.xtc --flexible $SOLUTEDIR/traj0.xtc --minenergy $intmin1
ln -s ../EcdInfo .
sed -e '/ecdmin/iperead=1,' parameters_er | sed -e '/inptemp/imaxins=100,' > parameters_er.new
mv parameters_er parameters_er.old
mv parameters_er.new parameters_er
run_ermod
popd
fi
cat << "EOF" > parameters_fe
&fevars
peread="yes",
inptemp=298.15, tiny=1e-10
/
EOF
$ermod/bin/slvfe | tee slvfe.log
popd
} >& fe.log