[Pw_forum] can't read wavefunction and coords

Jonas Baltrusaitis jasius_1 at yahoo.com
Mon Apr 27 16:19:51 CEST 2009


Gabriele,

thanks for your response. I reran input without the SCF step. I don't thin it's reading coords right. The source of confusion is that I am inputting and outputing coords in angstroms in optimization but it gets transferred into alat in normal mode calcs.

Still, this is what I backcalculate with xcrysden:

Optimized coords:
ATOMIC POSITIONS
Si -0.053476533 -0.187541319 +0.057950773
...

Normal mode calculation coords:
ATOMIC_POSITIONS
Si      -0.037813604  -0.132611686   0.040977368
H       -0.042235675  -0.102590555   0.268983495
H       -0.221511706  -0.243919610  -0.030796850
H       -0.032400640   0.077902395  -0.042412224
H        0.144511653  -0.248234756  -0.027243038

below is my latest input
incidently, is there a way to tell pwscf to use only angstroms in output? It is convenient for me to use angstroms when setting up the initial input so I'd like to stay with angstroms

JOnas

#!/bin/sh

# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=/home/jbaltrus/$PBS_JOBNAME

# check whether echo has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi

$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and phcg.x to calculate the normal"
$ECHO "modes of a molecule (SiH4) at Gamma."
$ECHO 
$ECHO

# set the needed environment variables
PREFIX=`pwd`
BIN_DIR=/share/apps/espresso-4.0.4/bin
PSEUDO_DIR=/share/apps/espresso-4.0.4/pseudo
TMP_DIR=/share/apps/scratch/

mkdir $EXAMPLE_DIR/results

PARA_PREFIX="mpiexec -n 8 -machinefile $PBS_NODEFILE"
PARA_POSTFIX="-rmpool 0 -nodes 2 -procs 4"


# required executables and pseudopotentials
BIN_LIST="pw.x phcg.x ph.x"
PSEUDO_LIST="Si.vbc.UPF H.vbc.UPF C.pz-rrkjus.UPF H.vbc.UPF"

$ECHO
$ECHO "  executables directory: $BIN_DIR"
$ECHO "  pseudo directory:      $PSEUDO_DIR"
$ECHO "  temporary directory:   $TMP_DIR"
$ECHO "  checking that needed directories and files exist...\c"

# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
    if test ! -d $DIR ; then
        $ECHO
        $ECHO "ERROR: $DIR not existent or not a directory"
        $ECHO "Aborting"
        exit 1
    fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
    if test ! -d $DIR ; then
        mkdir $DIR
    fi
done
cd $EXAMPLE_DIR/results

# check for executables
for FILE in $BIN_LIST ; do
    if test ! -x $BIN_DIR/$FILE ; then
        $ECHO
        $ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
        $ECHO "Aborting"
        exit 1
    fi
done

# check for pseudopotentials
for FILE in $PSEUDO_LIST ; do
    if test ! -r $PSEUDO_DIR/$FILE ; then
        $ECHO
        $ECHO "ERROR: $PSEUDO_DIR/$FILE not existent or not readable"
        $ECHO "Aborting"
        exit 1
    fi
done
$ECHO " done"

# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
PH_COMMAND="$PARA_PREFIX $BIN_DIR/ph.x $PARA_POSTFIX"
PHCG_COMMAND="$PARA_PREFIX $BIN_DIR/phcg.x $PARA_POSTFIX"
DYNMAT_COMMAND=" $BIN_DIR/dynmat.x"
$ECHO
$ECHO "  running pw.x     as: $PW_COMMAND"
$ECHO "  running ph.x     as: $PH_COMMAND"
$ECHO "  running phcg.x   as: $PHCG_COMMAND"
$ECHO "  running dynmat.x as: $DYNMAT_COMMAND"
$ECHO

# clean TMP_DIR
$ECHO "  cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"

# geometry optimization calculation
cat > sih4.opt.in << EOF
 &control
    calculation='relax'
    pseudo_dir = '$PSEUDO_DIR/',
    restart_mode = ’from_scratch’,
    outdir='$TMP_DIR/'
    title='Test Silane SiH4 gamma only'
    prefix='sih4'
    tprnfor=.true., tstress=.true.
 /
 &system
    ibrav=2, celldm(1) =12.0, nat=5, ntyp= 2,
    ecutwfc =16.0
 /
  &electrons
    mixing_mode='plain'
    mixing_beta = 0.7,
    conv_thr =  1.0d-8
 /
&IONS
/
ATOMIC_SPECIES
 Si 28.086 Si.vbc.UPF
  H  1.008  H.vbc.UPF
ATOMIC_POSITIONS (angstrom)
Si      -0.117489394     -0.768144287      0.335809279
H       -0.211023980     -0.607144136      1.652050052
H       -1.814442124     -1.682247277     -0.460054024
H       -0.023954807      0.421221649     -0.250551950
H        0.963879018     -1.487802354      0.053153717
K_POINTS (gamma)
EOF
$ECHO "  running the geometry opt calculation for SiH4...\c"
$PW_COMMAND < sih4.opt.in > sih4.opt.out
check_failure $?
$ECHO " done"


# normal mode calculation for SiH4
cat > sih4.nm.in << EOF
normal modes for sih4
 &inputph
  tr2_ph=1.0d-14,
  prefix='sih4',
  amass(1)=28.086,
  amass(2)=1.008,
  outdir='$TMP_DIR/',
  epsil=.true.,
  trans=.true., asr=.true.
  raman=.false.
  fildyn='sih4.dyn'
 /
 0.0 0.0 0.0
EOF
$ECHO "  running normal mode calculation for SiH4...\c"
$PHCG_COMMAND < sih4.nm.in > sih4.nm.out
check_failure $?
$ECHO " done"

# IR cross sections  for SiH4
cat > sih4.dyn.in << EOF
 &input fildyn='sih4.dyn', asr='zero-dim' /
EOF

$ECHO "  running IR cross section calculation for SiH4...\c"
$DYNMAT_COMMAND < sih4.dyn.in > sih4.dyn.out
check_failure $?
$ECHO " done"


$ECHO
$ECHO "$EXAMPLE_DIR: done"


--- On Mon, 4/27/09, Gabriele Sclauzero <sclauzer at sissa.it> wrote:

> From: Gabriele Sclauzero <sclauzer at sissa.it>
> Subject: Re: [Pw_forum] can't read wavefunction and coords
> To: "PWSCF Forum" <pw_forum at pwscf.org>
> Date: Monday, April 27, 2009, 1:50 AM
> Dear Jonas
> 
> Jonas Baltrusaitis wrote:
> > Hi all,
> > 
> > I am following an example 9 in trying to setup a
> single input to: 1. optimize structure
> > at gamma point 2. calculate scf 3. phonon calculation
> 4. IR cross section calculation
> > 
> > What's absolutely not clear from example 9 is how
> (why) the wavefunction and coords
> > gets read from scf calculation part to latter parts.
> It just does. 
> 
> Informations (system configuration, scf potential,
> wavefunctions...) are exchaged between 
> successive steps of a calculations with the programs
> included in QE through the files 
> contained in the directory you specify in outdir variable,
> and will have prefix as prefix 
> (eg. yourprefix.save contains system configuration, PPs,
> charge density..., yourprefix.wfc 
> contains the wavefunction coefficients...)
> 
> > Whereas it does not
> > into scf run  if I add optimization run before scf and
> start scf with restart
> > directive. It simply disregards my restart command. I
> was pretty convinced that restart
> > will read previous wavefunction but now I just
> don't know
> 
> In principle, if you specify the same prefix and outdir, it
> should. Have you some evidence 
> that it does not?
> 
> Anyway, I think you don't need to do an scf after the
> relax run. You can use the data 
> produced by this run as if it was an scf run (in fact it is
> a sequence of scf steps).
> 
> HTH
> 
> GS
> 
> -- 
> 
> 
> o ------------------------------------------------ o
> | Gabriele Sclauzero, PhD Student                  |
> | c/o:   SISSA & CNR-INFM Democritos,              |
> |        via Beirut 2-4, 34014 Trieste (Italy)     |
> | email: sclauzer at sissa.it                         |
> | phone: +39 040 3787 511                          |
> | skype: gurlonotturno                             |
> o ------------------------------------------------ o
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum


      



More information about the users mailing list