[ase-users] VASP+Hookean constraint
Glen Jenness
glenjenness at gmail.com
Tue Jan 24 16:36:08 CET 2017
Turning off the index shuffling in VASP can be a tricky business due to how
VASP stores information.
When working with GaAs, I had a unit cell with 64 GaAs units --- when
ordered as Ga64As64, VASP ran fine, but when ordered as Ga As Ga As etc.,
it ran out of memory --- same computer architecture for both runs.
So while turning off index shuffling for small systems might be viable, for
modest and larger systems it will cause problems.
On Tue, Jan 24, 2017 at 9:56 AM, Tristan Maxson via ase-users <
ase-users at listserv.fysik.dtu.dk> wrote:
> Optionally, can we turn off this feature of shuffling? Sometimes I would
> like to preserve my atoms ordering.
>
> Tristan Maxson
>
> On Jan 24, 2017 9:46 AM, "Eric Hermes" <ehermes at chem.wisc.edu> wrote:
>
>> On Mon, 2017-01-23 at 19:34 -0500, Tristan Maxson via ase-users wrote:
>> > A second solution would be to attempt to use the interactive vasp
>> > calculator. I don't recall how far Eric Hermes got with this, but I
>> > had my original version halfway working for this exact purpose.
>> > Maybe he can clarify where this project is at currently and what work
>> > still needs to be done.
>> >
>> > Last I recall though, this calculator was very rudimentary and
>> > required you to set up the calculation except for the POSCAR by
>> > hand. While this is a pain to some degree, the benefit of running
>> > VASP interactively should be quite large as it does not have to
>> > restart and can use the old wavefunctions etc.
>>
>> The VaspInteractive calculator is "complete" in the sense that it
>> *should* work exactly like the original Vasp calculator, except that
>> VASP keywords affecting dynamics are incompatible. I would appreciate
>> it if people could try out the VaspInteractive calculator to see if it
>> is useful in their workflow.
>>
>> That said, the VaspInteractive calculator will not fix this issue. This
>> is an issue with the Hookean class. VaspInteractive shuffles atom
>> indices in exactly the same way as the Vasp calculator -- in fact, it
>> uses the exact same code to do so.
>>
>> Ultimately, I think we need some unit tests on index_shuffle. We
>> consistently have issues with constraints breaking when used in VASP
>> because of broken or missing index_shuffle methods. I'll try to take a
>> look at Andrew's MR some time today.
>>
>> Eric
>>
>> >
>> > Thank you,
>> > Tristan Maxson
>> >
>> > On Mon, Jan 23, 2017 at 5:42 PM, Peterson, Andrew via ase-users <ase-
>> > users at listserv.fysik.dtu.dk> wrote:
>> > > Looks like index_shuffle was not implemented correctly for the
>> > > Hookean constraint. I think I just fixed it in MR !405. However, I
>> > > don't have Vasp, so can't check your example. (Note this occurs
>> > > because Vasp internally re-arranges the atom order.) I added a test
>> > > to make sure indices were shuffling as I expect them too, but it
>> > > would be nice if you are able to try the branch in the merge
>> > > request to make sure it works for you...
>> > >
>> > > https://gitlab.com/ase/ase/merge_requests/405
>> > > https://gitlab.com/andrew_peterson/ase/commits/hookean-shuffle
>> > >
>> > > On Mon, Jan 23, 2017 at 3:31 PM, Glen Jenness via ase-users <ase-us
>> > > ers at listserv.fysik.dtu.dk> wrote:
>> > > > Dear ASE Users,
>> > > > I am attempting to use the Hookean constraint with VASP (with the
>> > > > eventual goal of doing some minima hopping).
>> > > >
>> > > > However, I keep running into the following error:
>> > > >
>> > > > Traceback (most recent call last):
>> > > > File "mwe.py", line 27, in <module>
>> > > > opt.run(fmax=0.05)
>> > > > File "/home/1482/programs/ase/ase/optimize/optimize.py", line
>> > > > 161, in run
>> > > > self.set_force_consistent()
>> > > > File "/home/1482/programs/ase/ase/optimize/optimize.py", line
>> > > > 214, in set_force_consistent
>> > > > self.atoms.get_potential_energy(force_consistent=True)
>> > > > File "/home/1482/programs/ase/ase/atoms.py", line 680, in
>> > > > get_potential_energy
>> > > > self, force_consistent=force_consistent)
>> > > > File "/home/1482/programs/ase/ase/calculators/vasp.py", line
>> > > > 834, in get_potential_energy
>> > > > self.update(atoms)
>> > > > File "/home/1482/programs/ase/ase/calculators/vasp.py", line
>> > > > 492, in update
>> > > > self.calculate(atoms)
>> > > > File "/home/1482/programs/ase/ase/calculators/vasp.py", line
>> > > > 684, in calculate
>> > > > self.initialize(atoms)
>> > > > File "/home/1482/programs/ase/ase/calculators/vasp.py", line
>> > > > 592, in initialize
>> > > > self.atoms_sorted = atoms[self.sort]
>> > > > File "/home/1482/programs/ase/ase/atoms.py", line 949, in
>> > > > __getitem__
>> > > > con.index_shuffle(self, i)
>> > > > File "/home/1482/programs/ase/ase/constraints.py", line 946, in
>> > > > index_shuffle
>> > > > self.indices = [ind.index(self.indices[0]),
>> > > > AttributeError: 'numpy.ndarray' object has no attribute 'index'
>> > > >
>> > > > Can anyone provide any insight into this?
>> > > >
>> > > > Attached is a MWE that demonstrates the problem.
>> > > >
>> > > >
>> > > > Thanks!
>> > > > Dr. Glen Jenness
>> > > > Catalysis Center for Energy Innovation (CCEI)
>> > > > University of Delaware
>> > > >
>> > > > _______________________________________________
>> > > > 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
>> > >
>
>
> _______________________________________________
> ase-users mailing list
> ase-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
>
--
Dr. Glen Jenness
Catalysis Center for Energy Innovation (CCEI)
University of Delaware
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20170124/7209d0cd/attachment-0001.html>
More information about the ase-users
mailing list