Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] how to use constrait equation in relaxing the atom?

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] how to use constrait equation in relaxing the atom?


Chronological Thread 
  • From: Steven Erwin <erwin@dave.nrl.navy.mil>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] how to use constrait equation in relaxing the atom?
  • Date: Mon, 27 Sep 2004 09:10:56 -0400
  • Organization: Naval Research Laboratory

Dear Yudong Liu,

Since I contributed the geometry constraint subroutine (and may be the only user to date!), I will try to answer your question.

The constraints are implemented in a fairly general -- although possibly confusing -- manner. The input variable 'wtatcon' (WeighTs for AToms in CONstraint equations) tells the whole story:

--
"Gives the weights determining how the motion of atoms is constrained during structural optimization or molecular dynamics (see nconeq, natcon, and iatcon). For each of the nconeq independent constraint equations, wtatcon is a 3*natcon array giving weights, W[I], for the x, y, and z components of each of the atoms (labeled by I) in the list of indices iatcon. Prior to taking an atomic step, the calculated forces, F[I], are replaced by projected forces, F'[I], which satisfy the set of constraint equations

Sum[mu=x,y,z; I=1,natcon]: W[mu,I] * F'[mu,I] = 0 for each of the nconeq arrays W[I]."
--

Your example -- relaxing an atom in a fixed plane -- is especially easy. Use the following tokens/values to allow all atoms to relax while keeping the z-coordinate of atom #16 frozen at its initial value:

nconeq 1 natcon 1 iatcon 16 wtatcon 0 0 1.

A slightly more complicated example would be the following. Suppose you have a surface in which two nominally equivalent atoms (say, #15 and #16) MIGHT have a broken-symmetry ground state in which their heights are different. You could, of course, just choose your surface unit cell large enough to allow this, perturb the heights of these two atoms, and then relax everything. But a more systematic approach would be to calculate the total energy as a function of their height difference. You can do this by the following setting:

nconeq 1 natcon 2 iatcon 15 16 wtatcon 0 0 +1 0 0 -1,

which enforces the constraint z(atom15)-z(atom16)=constant during a geometry relaxation.

I hope this gives you enough of an answer to make some progress. Please let me know if you need more information. From the generality of your question, I guess the documentation wasn't very helpful to you. This makes me think I should re-write the 'wtatcon' entry!

Regards,

Steve Erwin


liuyudong97@mails.tsinghua.edu.cn wrote:
Dear all:
Abinit seems to permit the relax a atom in a fixed plane by employing the
structural optimization command------nconeq, natcon, iatcon, and wtatcon.I
guess that equations' formulasim possible is xi+yi=0.5 or sth.

Now,My question is:
How to use these command (or constrait equation) exactly? Can an expert show
me an example?
your help will be greatly appreciated!

by
yours
Yudong Liu


--
Steven C. Erwin, Code 6390 erwin@dave.nrl.navy.mil
Center for Computational Materials Science tel 202/404-8630
Naval Research Laboratory, Washington DC 20375 fax 202/404-7546
+++++++++++++++ http://cst-www.nrl.navy.mil/~erwin ++++++++++++++++





Archive powered by MHonArc 2.6.16.

Top of Page