[ase-users] Fwd: HCP structure of La2O3
Eric Hermes
ehermes at chem.wisc.edu
Wed Oct 4 16:48:53 CEST 2017
On Wed, 2017-10-04 at 15:18 +0530, Punit Kumar via ase-users wrote:
> Thanks for the reply. But it is written on the ase web page (https://
> wiki.fysik.dtu.dk/ase/ase/lattice.html#module-ase.lattice) under
> USAGE section that in case of compounds symbol should be a tuple or
> list of elements.
> Also for hcp Fe2O3 posted at
> https://gitlab.com/ase/ase/blob/master/ase/lattice/compounds.py , the
> symbol used is tuple of Fe and O.
Punit,
The example you link is using a custom "factory" class to generate
these structures, not the HexagonalClosedPacked class itself. This
class is designed to create simple HCP crystals, e.g. bulk Ruthenium.
The most flexible tool for creating arbitrary bulk systems is the
ase.spacegroup.crystal function
(https://wiki.fysik.dtu.dk/ase/ase/spacegroup/spacegroup.html). To
create La2O3 using this function, you can use the following code:
from __future__ import division
from ase.spacegroup import crystal
la2o3 = crystal(symbols=['La', 'O'], # One for each inequivalent atom
basis=[(1/3, 2/3, 1/4), (1/4, 1/4, 0)],
spacegroup='P321',
cellpar=[3.93, 3.93, 6.12, 90, 90, 120])
When I need to create an Atoms object for a system with experimentally
known crystal structure, I typically search for the system on
http://rruff.geo.arizona.edu/AMS/amcsd.php.
To use this website, enter the elements in your system in the
"Chemistry Search" field. For example, to find La2O3, enter "(La,O)".
You will likely need to exclude other atoms, as there are a lot of very
complicated systems that have La and O in them. To do this, search for
"(La,O) -" instead. Depending on your system, there may still be
multiple results, so you may have to find the one that you are
interested in. In the case of La2O3, there's only one result.
The crystal structure starts on the line above "atom x y z". In this
case, that line is "3.93 3.93 6.12 90 90 120 P321". This is the list of
unit cell parameters (a, b, c, alpha, beta, gamma) and the space group.
As you can see, I entered those directly into the "spacegroup" and
"cellpar" arguments to the crystal function. The next couple of lines
list symmetrically inequivalent atoms, which are provided to the
"symbols" and "basis" arguments as a list of strings and a list of
tuples, respectively. The crystal function automatically applies
symmetry operations to obtain the full unit cell.
Alternatively, you can just download the .cif file provided by the
arizona.edu website and read that into ASE :)
Eric
> Thank You
> Punit
> IIT Bombay
>
> On 4 October 2017 at 14:47, Oscar Xavier Guerrero <oscarxavier.ox at gma
> il.com> wrote:
> > Seems that it's because it doesn't support more than one element.
> > You could create it with one and then manually modify the other.
> >
> >
> > 2017-10-04 9:31 GMT+02:00 Punit Kumar via ase-users <ase-users at list
> > serv.fysik.dtu.dk>:
> > > ---------- Forwarded message ----------
> > > From: Punit Kumar <ip.punit.2016 at gmail.com>
> > > Date: 2 October 2017 at 12:43
> > > Subject: TypeError: The symbol argument must be a string or an
> > > atomic number.
> > > To: ase-users at listserv.fysik.dtu.dk
> > >
> > >
> > > Hello ase users
> > >
> > > I am trying to make an hcp structure of lanthanum oxide(la2o3)
> > > by using HexagonalClosedPacked tag from ase.lattice.hexagonal
> > > module. For which the command line I am using is
> > >
> > > >>>la2o3 = HexagonalClosedPacked(symbol=('La', 'O'),
> > > latticeconstant={'a':3.94, 'c/a':1.56, 'alpha':90, 'beta':90,
> > > 'gamma':120})
> > >
> > > This will gives me an error
> > >
> > > TypeError: The symbol argument must be a string or an atomic
> > > number.
> > >
> > > Any help regarding this is appreciated.
> > >
> > > Thank You
> > > Punit
> > > IIT Bombay
> > >
> > >
> > > _______________________________________________
> > > ase-users mailing list
> > > ase-users at listserv.fysik.dtu.dk
> > > https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
> >
> >
>
> _______________________________________________
> ase-users mailing list
> ase-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
More information about the ase-users
mailing list