forum@abinit.org
Subject: The ABINIT Users Mailing List ( CLOSED )
List archive
- From: Petr Sestak <sestak@kn.vutbr.cz>
- To: forum@abinit.org, pganesh@ciw.edu
- Subject: Re: Re: [abinit-forum] constrained optimization
- Date: Mon, 12 Jan 2009 14:08:10 +0100 (CET)
Hi P. Ganesh
PGanesh wrote:
> Dear Petr,
>
> This is very helpful and interesting. I am trying to understand it. Are r1,
r2 and r3 the three lattice vectors (i.e. the first three rows of rprim in
Abinit)?
Yes, r1, r2 and r3 are lattice vectors (RPRIM parameter).
> What you call the compliance tensor, you use to get the strain that needs to
be applied to the structure (r_(n-1))) from the stress-residue.
The term compliance tensor can be misleading. In fact, the field "@du" is
usually set by the guess, because nobody knows the compliance matrix in
non-equilibrium state (moreover the rank of compliance tensor).
> Size of its elements will determine the rate of convergence and by selecting
certain components to zero one can allow certain lattice vectors to remain
constant, while others relax (I don't see how though. For example if I chose
'du' such that it makes e[1]=1, e[6]=0, e[5]=0, then I can fix the 'x'
component of @r1, but I am not changing 'x' component of @r3 either!.
The components of the field "@du" can control only the relaxation of the
stress
tensor component. They can not control directly the final RPRIM vector. I
would
like to apologize if I have misled you.
> One can of course fix @r1 and @r2 while @r3 changes by hand as you showed in
the direct method).
> In short, for my case of interest, I think what you are saying is that the
matrix (''e'") that transforms the vector r3(old)->r3(new) has elements
proportional to the stress tensor (assuming the target stress is all zero). I
need to study your code to see how you choose the proportionality constants
that control the convergence.
>
> Please correct me if I am wrong. I will then try to test it myself.
>
> Thanks,
> Ganesh
Best regards
Peter Sestak
>
> Petr Sestak wrote:
>> 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
>>
>
- Re: Re: [abinit-forum] constrained optimization, Petr Šesták, 01/07/2009
- Re: Re: [abinit-forum] constrained optimization, matthieu verstraete, 01/07/2009
- Re: Re: Re: [abinit-forum] constrained optimization, Petr Sestak, 01/08/2009
- Re: [abinit-forum] constrained optimization, PGanesh, 01/08/2009
- Re: Re: [abinit-forum] constrained optimization, Petr Sestak, 01/12/2009
- Re: [abinit-forum] constrained optimization, PGanesh, 01/08/2009
- Re: Re: Re: [abinit-forum] constrained optimization, Petr Sestak, 01/08/2009
- Re: Re: [abinit-forum] constrained optimization, matthieu verstraete, 01/07/2009
Archive powered by MHonArc 2.6.15.