[Pw_forum] Some questions about non-collinear calculation and penalty function

Gabriele Sclauzero sclauzer at sissa.it
Thu Mar 17 10:03:57 CET 2011


Dear Sahar, 

   I'll try to reply to these question if I can

Il giorno 03/mar/2011, alle ore 19.39, Sahar Mirshamsi ha scritto:

> Hi all,
> I have some questions regarding non-collinear calculation and using
> penalty function in pwscf.
> 1)	In constaint_magnetization ='atomic', is starting magnetization as the
> target magnetization?

Yes, the starting_magnetization(:) are used both for the starting and the target local magnetizations in that case.

> I have read this post  
> http://www.democritos.it/pipermail/pw_forum/2009-December/015342.html 
> and also in input.f90 I found 
>           mcons(1,nt) = starting_magnetization(nt) * SIN( theta ) * COS(
> phi )
>           mcons(2,nt) = starting_magnetization(nt) * SIN( theta ) * SIN(
> phi )
>           mcons(3,nt) = starting_magnetization(nt) * COS( theta )
> So it means both magnitude and direction of atomic magnetizations are
> constrained, is this correct?

Yes, you can fix the direction using angle1 and angle2.

> 2)	If above statement is correct, then the same problem as posted in above
> link will still exist,  since starting_magnetization=m/n, then for
> constraining the magnitude of magnetization to desired value, we should
> multiply the magnitude of magnetization by charge and then replace it as
> starting_magnitization, is this correct?

I'm not sure I understand when you say
> starting_magnetization=m/n

Which part of the code are you speaking about? Can you specify where?

If I understood correctly, I think that this kind of problem was fixed by Paolo after the forum discussion you are referring to. 
If you look in input.f90, the case with constraints has been distinguished from that without.
In the former, the starting magnetization is no more normalized between -1 and 1 (search for 
  SELECT CASE( trim( constrained_magnetization ) )
in that file)

> 3)	What is the relation between charge and magnetization printed in scf
> calculation with those which we can get with using projwf.x, I expect they
> should get almost same numbers but in scf output for carbons in Graphene
> nanoribbon I get charge=0.6 and magnetization=0.1 while in projwf.x output
> I get charge=4 and polarization=0.2-0.3 which the latest one makes more
> sense.

Such a large difference sound strange and suspicious to me. The two methods of computing local magnetic moments are different, 
but I believe they should not give contrasting results.
There has been some recent discussion about the first method, which mainly concerns the subroutine make_pointlists.f90 
(see recent posts on the forum and the subroutine itself). 
Is your atomic structure fully relaxed, or are there any atoms too close to each other?

> 4)	Also, in some cases of non-collinear calculation with using penalty
> function, when I track "estimated scf accuracy" it is decreasing till
> reaching the threshold  and stopping the job while "total energy" is
> oscillating in some range instead of converging to a number , any idea
> what's the problem?

is this range larger than the "estimated scf accuracy"? Please provide some example on this point.


> 5)	The total energy printed in scf calculation does not include constraint
> energy, right? It's just energy of the structure with the constraint
> configuration of magnetizations, right?
> I appreciate any help in finding the answers of these questions.

I'm not completely sure on this point, but it looks to me that the constraint energy is included through the potential, which is augmented in the add_bfield.f90 subroutine. 
The magnetic penalty energy is also computed and printed by the same subroutine (search for etcon).
Not sure that the two energies are the same...

What I think I have understood is that you should trust only the total energy for the system where the constraint is (almost) satisfied, implying that both constraint energy and constraining potential are very small. To achieve this you have to play with lambda: a bigger lambda gives a better fulfilment of the constraint, but at the same time convergence becomes much more difficult (depending on the system and on the starting configuration).


HTH


GS

> 
> Sahar Mishamsi
> Quantum Theory Project and Physics Department,
> University of Florida
> 
> 
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum


§ Gabriele Sclauzero, EPFL SB ITP CSEA
   PH H2 462, Station 3, CH-1015 Lausanne

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20110317/5f37cb35/attachment.html>


More information about the users mailing list