Easy/standard way to get XYZ-style output from input file

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
spamrefuse
Posts: 35
Joined: Wed Jan 20, 2010 3:08 am

Easy/standard way to get XYZ-style output from input file

Post by spamrefuse » Mon Jul 12, 2010 5:11 am

Hi,

I need an easy and quick method to only convert an abinit input file to a standard
output file (e.g. XYZ-format), which can be read easily by graphical software.
This allows me to verify the atoms' coordinates before starting a DFT calculation.

I am using VMD as my graphical toolkit. It cannot read abinit files natively, but
i already have written a plugin that converts abinit output files (DEN, GEO files)
for visualization. The DEN and GEO files are standardized and easy to convert.

I'd like to read the input file too in order to double-check the initial coordinates and
structure of the atoms. The incredible flexibility of entering the coordinates of the atoms
into the input file (convenient for the user!) is a nightmare for writing a conversion plugin!!!

Hence my request to faciliate abinit with a conversion using its own input parser and
just output an easy output format without doing DFT. For example:

abinit -xyz myinput.files > myinput.XYZ

(or any other standardized output for atomic structure & coordinates).

Thanks!
Rob.

pmanglade
Posts: 20
Joined: Mon Aug 17, 2009 9:49 am

Re: Easy/standard way to get XYZ-style output from input fil

Post by pmanglade » Mon Jul 12, 2010 9:51 am

Unfortunately (correct me if I'm wrong) fortran codes don't stand input line options. One would have to write an explicit C main function to handle an input line option.
Yet, fortunately, Abinit always output in its own systematic way every input data given to him. Can't you try to directly parse the output file of Abinit to build a xyz file ? Would it be less convenient than the option you propose ?

spamrefuse
Posts: 35
Joined: Wed Jan 20, 2010 3:08 am

Re: Easy/standard way to get XYZ-style output from input fil

Post by spamrefuse » Mon Jul 12, 2010 11:13 am

Of course one can create some kind of rediculous input file
with silly criteria so that the executable effectively doesn't
calculate anything and just prints out the coordinates of the
atoms in a GEO file.

But that solution I'd like to avoid.
Instead it would be great if there's an input parameter that
will tell abinit to just do that: don't calculate anything, but
read the input file and output the atomic coordinates in
whatever easy output format (GEO is great!).

No need for kpoints, ecut, and tollerances.....

Rob.

pmanglade
Posts: 20
Joined: Mon Aug 17, 2009 9:49 am

Re: Easy/standard way to get XYZ-style output from input fil

Post by pmanglade » Mon Jul 12, 2010 11:34 am

Would you be satisfied with some kind of "dryrun" option (in the input file) that would make Abinit parse the input file, print out its usual output after analysis and escape ? In the case you answer yes, would you be interested in implemented that ? Or would you like prefer someone else to do it for you ?

spamrefuse
Posts: 35
Joined: Wed Jan 20, 2010 3:08 am

Re: Easy/standard way to get XYZ-style output from input fil

Post by spamrefuse » Mon Jul 12, 2010 3:05 pm

I've been given another hint via the developper's forum.

It seems to be possible to link external software with the abinit parser
code so that the software can read input files with the same flexibility.

I have to figure out how it has to be done, but that should solve my problem too.

Rob.

Locked