Not really, but you can make a bash script to do this (find an example
attached after he end of the explanation). What this script does is:

1) Creates three files to be included for the three different siesta runs,
with the appropriate parameters for each calculation.

2) Creates three fdf files that will be changed fro run to run only in the
include file to be read.

3) Runs siesta three times with appropriate names for each run, reading
the output from the previous calculation. To make sure, copies the
STRUCT_OUT and XV files to new ones with the name of the corresponding
run. This is because I am not sure if a phonon calculation will output a
struct/xv file for each displacement.

Of course, you should replace whatever X appears in the script with the
appropriate parameters...

Cheers,

Marcos

#!/bin/bash

cat > task.relax << EOF

MeshCutoff           XXX   Ry
MD.TypeOfRun         CG
MD.NumCGSteps        500
#... all other parameters related to relaxation here ...

%block kgrid_Monkhorst_Pack
   xx   xx   xx   x.x
   xx   xx   xx   x.x
   xx   xx   xx   x.x
%endblock kgrid_Monkhorst_Pack

EOF

cat > task.phonon << EOF

MeshCutoff           XXX   Ry
MD.TypeOfRun         FC
#... all other parameters related to phonon calculations here ...

%block kgrid_Monkhorst_Pack
   xx   xx   xx   x.x
   xx   xx   xx   x.x
   xx   xx   xx   x.x
%endblock kgrid_Monkhorst_Pack

EOF

cat > task.pdos_ldos << EOF

MeshCutoff           XXX   Ry
MD.TypeOfRun         CG
MD.NumCGSteps        000

%block ProjectedDensityOfStates
   xxx  xxx  xxx   xxx   eV
%endblock ProjectedDensityOfStates

%block LocalDensityOfStates
   xxx  xxx   eV
%endblock LocalDensityOfStates

%block kgrid_Monkhorst_Pack
   xx   xx   xx   x.x
   xx   xx   xx   x.x
   xx   xx   xx   x.x
%endblock kgrid_Monkhorst_Pack

EOF


for run in relax pdos_ldos phonon
do

#In the first run, the blah.relax.STRUCT_OUT file will not exist.
#It doesn't matter, all that will happen is an error that will not stop
#the rest of the script from being executed - I'm not caring much about
#programming elegance here :)

cp blah.relax.STRUCT_OUT blah.STRUCT_IN

cat > blah.$run.fdf << EOF

SystemName     blah
SystemLabel    blah

%include task.$run

MD.UseStructFile      .true.

AtomicCoordinatesFormat      Fractional
%block AtomicCoordinatesAndAtomicSpecies
... Place the atomic coordinates in fractional format here.
... They will be overridden by the pdos and phonon run, which
... will read the coordinates from file from the STRUCT_IN file
%endblock AtomicCoordinatesAndAtomicSpecies

#rest of fdf file flags that will not change
#from one run to the other come here

EOF

mpirun -np X siesta < blah.$run.fdf > blah.$run.out
cp blah.STRUCT_OUT blah.$run.STRUCT_OUT

done



Vous avez écrit / You have written / Lei ha scritto / Você escreveu...
Jonas Baltrusaitis
> Hi,
>
> I was just wondering if there is a way to setup a single input to perform
> several consecutive tasks, e.g. geometry optimization followed by
> frequency calculation followed by DOS and PDOS calculations? Similar to
> Gaussian or NWChem where one input can be used for numerous tasks
>
> thanks
>
> Jonas Baltrusaitis
> University of Iowa
>
>
>
>


-- 
Dr. Marcos Verissimo Alves
Post-Doctoral Fellow
Unité de Physico-Chimie et de Physique des Matériaux (PCPM)
Université Catholique de Louvain
1 Place Croix du Sud, B-1348
Louvain-la-Neuve
Belgique

------

Gort, Klaatu barada nikto. Klaatu barada nikto. Klaatu barada nikto.

Free translation:

Gort, Google is your friend. Google is your friend. Google is your friend.

Reply via email to