Skip to Content.
Sympa Menu

forum - Re: Re: Re: [abinit-forum] constrained optimization

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: Re: Re: [abinit-forum] constrained optimization


Chronological Thread 
  • From: Petr Sestak <sestak@kn.vutbr.cz>
  • To: forum@abinit.org, matthieu.jean.verstraete@gmail.com
  • Subject: Re: Re: Re: [abinit-forum] constrained optimization
  • Date: Thu, 8 Jan 2009 15:40:43 +0100 (CET)

Hi Matthieu and P. Ganesh,

There are two ways how to affect the relaxation procedure. The first is to set
some component of array @du (tensor bit) to zero value to avoid the relaxation
of corresponding stress tensor component. However, this tensor is affecting
only the final stress tensor, but we cannot control directly the translation
vectors. I think, that the relaxation procedure in the Abinit code is very
similar or same except the tensor bit as you wrote. May I ask, if the Abinit
is
able to avoid relaxation of some stress tensor component during the relaxation
to the given values of stress tensor (parameter STRTARGET)? Because I guess,
that this is the only difference between the mentioned relaxation procedures.

The second way is direct modification of the relaxation procedure. I am using
this in some very special cases when the first way can not be used. This
modification I used at the PGanesh problem as I demonstrated in my previous
answer. I changed the following code lines

@r1=(0, $r1[1]*$e[1]+$r1[2]*$e[6]+$r1[3]*$e[5],
$r1[1]*$e[6]+$r1[2]*$e[2]+$r1[3]*$e[4],
$r1[1]*$e[5]+$r1[2]*$e[4]+$r1[3]*$e[3]);
@r2=(0, $r2[1]*$e[1]+$r2[2]*$e[6]+$r2[3]*$e[5],
$r2[1]*$e[6]+$r2[2]*$e[2]+$r2[3]*$e[4],
$r2[1]*$e[5]+$r2[2]*$e[4]+$r2[3]*$e[3]);
@r3=(0, $r3[1]*$e[1]+$r3[2]*$e[6]+$r3[3]*$e[5],
$r3[1]*$e[6]+$r3[2]*$e[2]+$r3[3]*$e[4],
$r3[1]*$e[5]+$r3[2]*$e[4]+$r3[3]*$e[3]);

to
@r1=(0, $r1[1], $r1[2], $r1[3]);
@r2=(0, $r2[1], $r2[2], $r2[3]);
@r3=(0, $r3[1]*$e[1]+$r3[2]*$e[6]+$r3[3]*$e[5],
$r3[1]*$e[6]+$r3[2]*$e[2]+$r3[3]*$e[4],
$r3[1]*$e[5]+$r3[2]*$e[4]+$r3[3]*$e[3]);

I am afraid, that the direct modification of the relaxation procedure can not
be implemented to the source code because it is different for each structure
and relaxation conditions. This is the reason why I am using the external
script.

I have some idea how to solve this problem. I will try to implement it to my
scipt and if I get some good results I will let you know.

Yes, my indices i,j are in the cartesian coordinates.

Best regards

Ing. Peter Sestak
Institute of Physical Engineering
Faculty of Mechanical Engineering
Brno University of Technology



Archive powered by MHonArc 2.6.15.

Top of Page