Menu

tips-ecdinfo

Shun Sakuraba

Generating EcdInfo semi-automatically

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

Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.