#!/bin/csh
# Main script for building and installing CPMD
# Ernst Schumacher
www.chemsoft.ch April 08 2012
# unpacking cpmd-v3_15_1.tgz and compiling cpmd.x
# unpacking CPMD-test.tar.gz
# unpacking cpmd2cube.tar.gz and compiling cpmd2cube.x
# unpacking and installing vmd-1.8.7
# If the last two archives are not found in /home/$USER the
# test run runme-b2h6.sh just omits using their functions
#
if ( `uname -m` == x86_64 ) then
set bn = 64
else
set bn = 32
endif
if (! -e /home/$USER/CPMD/cpmd.x ) then
if (! -e cpmd-v3_15_1.tgz ) then
echo Please get 'cpmd-v3_15_1.tgz'
echo from
http://www.cpmd.org
echo You need a password, obtained by registering,
echo for downloading the CPMD package
exit
endif
# unpack the archive into your home directory
tar xzvf cpmd-v3_15_1.tgz >& tar.log
chmod -R 777 CPMD
cd ~/CPMD/CONFIGURE
switch ($bn)
case 32:
mv PC-GFORTRAN PC-GFORTRAN.junk
sed 12c\ "LFLAGS='-L/usr/lib/atlas -llapack -lblas'" PC-GFORTRAN.junk > PC-GFORTRAN
rm -f PC-GFORTRAN.junk
breaksw
case 64:
mv LINUX-x86_64-FEDORA LINUX-x86_64-FEDORA.junk
sed 13c\ " LFLAGS='/usr/lib64/libfftw.so.2.0.5 -L/usr/lib64/atlas -llapack -lblas'" LINUX-x86_64-FEDORA.junk > LINUX-x86_64-FEDORA
rm -f LINUX-x86_64-FEDORA.junk
endsw
clear
echo Building and running cpmd.x
echo from CPMD on ubuntu V.10.10
echo cpmdmake script version 2011-08-04
echo using gfortran v.4.4.3 or higher
echo " "
cd ~/CPMD
switch ($bn)
case 32:
./mkconfig.sh PC-GFORTRAN > Makefile
breaksw
case 64:
./mkconfig.sh LINUX-x86_64-FEDORA > Makefile
endsw
date +"%D %T"
echo making cpmd.x
make >& make.log
date +"%D %T"
if (! -e cpmd.x ) then
echo Something went wrong! Look into
echo ~/CPMD/make.log
echo to find out what
exit
endif
echo ............. success
# mv cpmd.x ..
make clean > /dev/null
cd /home/$USER
endif
#
if (! -e ~/CPMD-test ) then
if (! -e cpmd-test.tar.gz ) then
echo get cpmd-test.tar.gz
echo from
http://www.cpmd.org/downloads/contrib
echo You need the same password as for CPMD.
echo Instead of using one of the test input files
echo you can also compose one of your own
echo consulting the Manual.
exit
else
tar xzvf cpmd-test.tar.gz >& tar.log
endif
endif
#
if (! -e ~/cpmd2cube ) then
if (! -e cpmd2cube.tar.gz ) then
echo get cpmd2cube.tar.gz
echo from
http://www.cpmd.org/downloads/contrib
echo if you want to use visualization.
echo You need the same password as for CPMD
else
tar xzvf cpmd2cube.tar.gz >& tar.log
cd cpmd2cube
./Configure -makefile Linux-PC-GFORTRAN-FFTW
make
make clean
endif
endif
if ( -e ~/cpmd2cube/cpmd2cube.x ) then
cp ~/cpmd2cube/cpmd2cube.x ~/CPMD
endif
#
cd /home/$USER
if (! -e ~/vmd-1.8.7 ) then
switch ($bn)
case 32:
if (! -e vmd-1.8.7.bin.LINUX.opengl.tar.gz ) then
wget chemsoft.ch/downloads/vmd-1.8.7.bin.LINUX.opengl.tar.gz
endif
tar xzvf vmd-1.8.7.bin.LINUX.opengl.tar.gz >& tar.log
breaksw
case 64:
if (! -e vmd-1.8.7.bin.LINUXAMD64.opengl.tar.gz ) then
wget chemsoft.ch/downloads/vmd-1.8.7.bin.LINUXAMD64.opengl.tar.gz
endif
tar xzvf vmd-1.8.7.bin.LINUXAMD64.opengl.tar.gz >& tar.log
endsw
cd vmd-1.8.7
./configure
cd src
sudo make install
setenv PATH $PATH\:\/usr\/local\/bin\/vmd
endif
#
cd /home/$USER
rm -f *tar.gz
cd ~/CPMD-test/properties
cp *.inp *.psp *.vmd *.xyz *.sh ~/CPMD
cd ~/CPMD
# get rid of arch
mv runme-b2h6.sh runme-b2h6.junk
sed 's/.`arch`//g' runme-b2h6.junk > runme-b2h6.sh
rm -f runme-b2h6.junk
# need cutoff 96.0 for AMD64
mv b2h6-wf.inp b2h6-wf.junk
sed 's/90.0/96.0/' b2h6-wf.junk > b2h6-wf.inp
rm -f b2h6-wf.junk
mv b2h6-prop.inp b2h6-prop.junk
sed 's/90.0/96.0/' b2h6-prop.junk > b2h6-prop.inp
rm -f b2h6-prop.junk
mv b2h6-ks.inp b2h6-ks.junk
sed 's/90.0/96.0/' b2h6-ks.junk > b2h6-ks.inp
rm -f b2h6-ks.junk
mv b2h6-ksorbs.inp b2h6-ksorbs.junk
sed 's/90.0/96.0/' b2h6-ksorbs.junk > b2h6-ksorbs.inp
rm -f b2h6-ksorbs.junk
# need to separate LOCALIZE from other property calcs
cp b2h6-prop.inp b2h6-propnl.inp
mv b2h6-prop.inp b2h6-proploc.inp
mv b2h6-propnl.inp b2h6-propnl.junk
sed 11D b2h6-propnl.junk > b2h6-propnl.inp
rm -f b2h6-propnl.junk
mv b2h6-proploc.inp b2h6-proploc.junk
sed 12,19D b2h6-proploc.junk > b2h6-proploc.inp
rm -f b2h6-proploc.junk
# adjust runme for changed properties calculation
mv runme-b2h6.sh runme-b2h6.junk
sed -e 49c\ '\.\/cpmd.x b2h6-propnl.inp . > b2h6-propnl.out' \
-e 50i\ '\.\/cpmd.x b2h6-proploc.inp . > b2h6.proploc.out' runme-b2h6.junk > runme-b2h6.sh
rm -f runme-b2h6.junk
chmod +x runme-b2h6.sh
echo " "
echo Now, run all jobs from CPMD-test/properties,
echo optimizing the wavefunctions of B2H6
echo and obtaining several properties.
echo This takes 8 to 15 min
./runme-b2h6.sh
if ( -e b2h6-wf.out ) cat b2h6-wf.out
if ( -e b2h6-ksorb-6.tga ) eog b2h6-ksorb-6.tga
exit