|
MAPXCH
: Import theoretical electron density maps
Authors: Doug du Boulay,
Materials and Structures Laboratory, Tokyo Institute of
Technology, Nagatsuta, Midori-Ku, Yokohama Japan.
MAPXCH currently imports a abinitio (DFT) 3D
electron density map from the open source
ABINITproject or
from
Wien2klapw5-3D
into an Xtal archive file.
To compare theoretical and experimental charge
densities it is useful to know that all densities are on
the same scale, with the same contour intervals and the
same map orientations, so that topographic features can be
reliably compared. To this end MAPXCH was written to import
the electron density maps of the completely unrelated and
unaffiliated external density functional theory programs
Wien2k and ABINIT into Xtal, to exploit the relatively
reliable contouring machinary that already exists herein
(amongst other things).
At last checking, the
Wien2kDFT code
included one program, lapw5, intended for determining the
electron density on a planar grid of values for contouring
in external software.
Florent
Boucherkindly made available (to existing Wien2k
users) a modified version of lapw5, heretofore named
lapw53D, with which it was possible to compute the electron
density on a 3D grid of values, in much the same manner as
an existng planar lapw5 calculation.
The program lapw53D requires a default filename
mapping file -
lapw53D.def with the
contents:
For use with Xtal we need a lapw53D
control file
case.in53D with the
contents:
Note especially the grid points
97 97 49 which will vary on a study by
study basis, but if they are too large, the whole map
cannot be squeezed into the F77 fixed length Xtal memory.
For Xtal it is necessary that the unduplicated grid
dimensions be divisible by 2, 3 and/or 5 and for trigonal
symmetrys divisibility by 3 is essential.
So, having run your Wien2k DFT SCF calculations to
convergence, run lapw53D to calculate the 3D grid data
points which are stored in the raw binary
case.3dmap file.
Then, run Xtal with the command
MAPXCH w2k2map inpfile
case to read both the
case.struct file to
obtain unit cell, symmetry and atom information and, also
the
case.3dmap to transform
the 3D gridded Wien2k density map into the Xtal map file as
a full cell map. After the Xtal archive is created STARTX
and ADDATM are run in update mode to check the symmetry and
atom site information, then the archive is coppied to the
.map file.
If you don't actually have a
case.3dmap file, the
MAPXCH w2k2map command
should still read in the
case.struct , which
should be sufficient to, for instance, run
PIG and produce an
equivalent
.pdb file, or to run
CIFIO cifout to generate
a CIF.
To obtain a valence density output from the program
ABINIT it is sufficient to add the command
to your ABINIT control file. Then at
succesful completion of the job all cell, symmetry and atom
site information is written, along with the resultant
valence density, to the file
case_DEN . In contrast
to Xtal, ABINIT plays hard and fast with the symmetry and
cell in order to minimize cell volumes and optimize
computation times. As a result some deductive logic is
required to transform the 3D map data and cell to a more
standard crystallographic setting. This can be lossy and
the MAPXCH code is experimental.
One problem with the ABINIT
case_DEN file is that
the entire electron density map is written as a single
Fortran90 record of double precision data. Reading it
within Xtal stresses the memory limitations, severely
limiting the size of map that can be accomodated.
As with the Wien2k data input method, after creating
the Xtal archive it is passed to STARTX and ADDATM to check
the symmetry and atom sites, before being coppied to a
.map file for
contouring within xtal.
It turned out to be impossible to read the 3D
electron density from VALRAY, because it doesnt create such
a file. Even the 2D data optionally stored for a slice in
the
bindaf file comes with
no parameters describing its origin, orientation,
dimensions etc., which is a shame. Nevertheless you can
read in all the reflection and phase information from the
bindaf file and use it
to calculate a
residual Fourier density map, in Xtal.
No multipoles, but thats life.
Having run an XD multipole refinement with
xdlsm, it is then
necessary to run
xdfour to evaluate the
electron density on an appropriate three dimensional grid
of data points as shown in the examples to follow.
MAPXCH can then read in
the unit cell and symmetry from the
xd.mas file, the
refined coordinates from the
xd.res file and the 3d
grid from
xd_fou.grd .
The only real reason for bothering with this is that
the atom site labeling in
CONTRS is essentially
automatic, the postscript rendering from
PREVUE con or
PLOTX con works ok under
linux and, thereafter
SURFIN gives a relatively
quick and nasty interactive view of the XD electron
density.
-
Optionally read ABINIT
case_DEN file
-
Optionally read Wien2k
case.struct and
case.3dmap files
-
Initializes an xtal archive bdf and creates an
xtal
map file.
Read a Wien2k 3D map file, presumably a
difference electron density map, straight into an xtal
.map
file
This example reads an ABINIT valence
electron density map into an xtal input
.aan archive file for
updating using STARTX and ADDATM before copying to the
standard
.map file. Dummy
reflections are determined (assuming
λ=0.5Ĺ) and a reverse Fourier transform
calculates the phase as well as A and B. The
Fc frt option calculates
an effective Frel by adding a pseudo core to the valence
electrons
[291]. Then total density, promolecular structure
factors are computed in CRYLSQ and a difference Fourier map
is evaluated.
Calculate a true ABINIT
difference valence density map.
A VALRAY import example
An XD import example, purely for electron density
contour maps.
|