[ase-users] VASP module in ASE
Chaitanya Krishna
icymist at gmail.com
Mon Sep 1 22:55:16 CEST 2008
Hi Jonas,
Sometimes you can also have the tag Selective Dynamics on the 7th line
of the POSCAR. Hope you take care to check about this tag. I still
haven't gone through the code. :P
Snip from VASP manual:
>>>
This file contains the lattice geometry and the ionic positions,
optionally also starting velocities and predictor-corrector
coordinates for a MD-run. The usual format is:
Cubic BN
3.57
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
1 1
Selective dynamics
Cartesian
0.00 0.00 0.00 T T F
0.25 0.25 0.25 F F F
Cartesian
0.01 0.01 0.01
0.00 0.00 0.00
<<<
Cheers,
Chaitanya.
On Mon, Sep 1, 2008 at 5:45 PM, Jonas Björk <j.bjork at liverpool.ac.uk> wrote:
>
> On Mon, 2008-09-01 at 17:20 +0200, Jens Jørgen Mortensen wrote:
>> On Mon, 2008-09-01 at 15:23 +0100, Jonas Björk wrote:
>> > In Vasp when writing out the k-points explicitly you can decide
>> whether
>> > writing them in Cartesian coordinates (units of 2pi/a) or in
>> reciprocal
>> > coordinates (units b1, b2, b3). What is the standard in ASE?
>>
>> Units of 2pi/a - usually in the range from -0.5 to 0.5.
>
> OK, thanks.
>
>>
>> > > +
>> > > + # How can this ever work? In ASE, we don't assume that the
>> > > + # atoms are ordered in any way?
>> > > + atom_num=[[num[0],1]] ???
>> > > + for m in range(1,len(num)): ???
>> > > + if num[m]==atom_num[-1][0]: ???
>> > > + atom_num[-1][1]+=1 ???
>> > > + else: ???
>> > > + atom_num.append([num[m], 1]) ???
>> > >
>> > > ??? Here you are assuming that the atoms are ordered after atomic
>> number
>> > > - right? We should fix that!
>> >
>> > I am not assuming anything about the ordering of the atoms here, at
>> > least not if I understand ASE right:
>> >
>> >
>> > First I get a list of the chemical symbols of each atom. I should
>> change
>> > the name 'num' to 'symbols' or something else more appropriate.
>> >
>> > num = atoms.get_chemical_symbols()
>> >
>> > # How can this ever work? In ASE, we don't assume that the
>> > # atoms are ordered in any way?
>> >
>> > Then count how many atoms of the SAME species in a row in the Atoms
>> > list.
>> >
>> > For example if the get_chemical_symbols() gives a list like this:
>> >
>> > ['C', 'C', 'C', 'H', 'H', 'H', 'C', 'C', 'O']
>> > the atom_num will take the form:
>> >
>> > [['C', 6], ['H', 3], ['C', 2], ['O',1]]
>>
>> I guess you mean:
>>
>> [['C', 3], ['H', 3], ['C', 2], ['O',1]]
>>
>> Anyway - I understand now.
>>
>> > and the first rows in the Vasp atomic position file (POSCAR) will look
>> > like this:
>> >
>> > C H C O
>> > 1.0
>> > 1.0 0 0
>> > 0 1.0 0
>> > 0 0 1.0
>> > 6 3 2 1
>> >
>> > The first row is just a label, standard is to write out the atomic
>> > species here (makes it possible for e.g. VMD to figure out the atomic
>> > species from just the POSCAR file).
>> > The next four rows has the unit cell vectors and a scaling parameter.
>> > The sixth row has information about the number of atomic species of
>> each
>> > kind. In this case, first there will be 6 atoms of the same kind,
>> > followed by 3 atoms of same kind, 2 atoms of same kind and 1 single
>> > atom.
>> >
>> > When Vasp runs it will look in what order the POTCAR file is built to
>> > figure out which pseudo potential should be assigned to which group of
>> > atoms. In this case it will build the POTCAR file by joining a carbon
>> > POTCAR file, hydrogen POTCAR file, carbon (again), oxygen. With this
>> > order.
>> >
>> > It would be possible to build the POSCAR and POTCAR file only using
>> the
>> > get_chemical_symbols() and assign a pseudo potential to each
>> individual
>> > atom. But what we would end up with is a really messy POSCAR file with
>> a
>> > number 1 for each atom in the sixth row, and an unnecessary large
>> POTCAR
>> > file.
>>
>> Let's say I want to do 256 water molecules, and the order is
>> HHOHHOHHOHHO ..., then I will also get a HUGE POTCAR file. I think it
>> would be best if the ASE Vasp interface could be intelligent and reorder
>> things so that the POTCAR file only has two setups.
>
> I agree, lets do it this way.
>
>
> Jonas
>
>
> _______________________________________________
> 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