[ase-users] [gpaw-users] (no subject)

Peterson, Andrew andrew_peterson at brown.edu
Mon Apr 30 15:59:24 CEST 2012


Rizwan,

(This is more of an ASE issue than a GPAW issue, so I'm switching to that
list.)

We'll need more information on your problem in order to help you
troubleshoot it. What is the atomic system you are looking at? (Consider
including your start.traj file in your email.) What is the error message
you are getting or what other issue is it that makes you think the
constraint is not working?

If the optimization gets "stuck" (forces no longer decreasing), you may try
switching to BFGS instead of BFGSLineSearch. Note that in the current
version of ASE, QuasiNewton and BFGSLineSearch are equivalent. I believe
there is a potential issue with BFGSLineSearch and any constraint that
modifies forces without a corresponding modification to the potential
energy. Since there is no mechanism for a constraint to modify the
potential energy, this could happen to any constraint that modifies forces.
The inconsistency between the forces and potential energy surface will give
confusing information to BFGSLineSearch's estimation of the Hessian, which
could result in the algorithm getting stuck. In my understanding, BFGS only
uses information from the forces, while BFGSLineSearch uses both force and
energy information, so switching to BFGS should take care of that issue.
This is something we should probably try to fix in how we handle
constraints (at least if I am understanding the problem correctly).

Andy

On Mon, Apr 30, 2012 at 7:17 AM, Rizwan Ahmed <riah at fysik.dtu.dk> wrote:

> Dear GPAW-users,
>
> Have any one used BondSpring (..........). It forces bond-lengths between
> atoms under the maximum bond-length (threshold length) by applying force.
> But it does not seem to work in my case. Do any one know what could be the
> possible problem?
>
> slab = io.read('start.traj')
>
> newoutfile = 'Pt111_323_2OH_2H2O_1H3O'
>
> calc = GPAW(nbands=-40,
>                    h=0.19,
>                    kpts = (4,6,1),
>                    xc='RPBE',
>                    poissonsolver=PoissonSolver(),
>                    txt= newoutfile+'.txt',
>                    maxiter = 300,
>                    width = 0.1)
>
> slab.set_calculator(calc)
>
> cons = FixAtoms(mask=[atom.tag > 2 for atom in slab])
> c = BondSpring(a1=31, a2=32, threshhold_length=1.20, springconstant=5.)
> d = BondSpring(a1=31, a2=33, threshhold_length=1.20, springconstant=5.)
> e = BondSpring(a1=31, a2=24, threshhold_length=1.20, springconstant=5.)
>
> slab.set_constraint([cons, d, e, c])
>
> io.write('slab.traj', slab)
>
> qn = QuasiNewton(slab, trajectory='initial.traj')
> qn.run(fmax=0.05)
>
> energy = slab.get_potential_energy()
>
>
> Thanks and best wishes,
> Rizwan
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>



-- 
Andrew Peterson
Assistant Professor
Brown University School of Engineering
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20120430/3ecc7e28/attachment.html>


More information about the ase-users mailing list