[Pw_forum] question about constrained magnetization

Gabriele Sclauzero sclauzer at sissa.it
Wed Dec 2 16:16:09 CET 2009


Dear Cyrille,

Cyrille Barreteau wrote:
> Dear all,
> 
> I want to perform a calculation using the penalization technique.
> In an unconstrained scf calculation the input_magnetization(i) (i=1,ntyp)
> variable contains the m/n initial value of atom of type i, and this 
> quantity should
> obviously belong to [-1,1] interval.
> To perform a constrained magnetization of "atomic type" I have to
> set the variable constrained_magnetization='atomic' and the magnetization
> will be the one given by input_magnetization(i).
> Therefore now input_magnetization(i) is no longer m/n but m only.
> However it seems that the range of input_magnetization has not been
> modified and is still within [-1,1] interval.
> If ever I set input_magnetization(i)>1 then the code automatically
> replace it by 1 and I cannot explore values larger than 1.

I see your problem, thanks for pointing it out. I think that as a quick fix you can try to 
substitute the following line in PW/add_bfield.f90

            m2(1:npol,na) = m_loc(1:npol,na) - mcons(1:npol,nt)

with

            m2(1:npol,na) = m_loc(1:npol,na) - mcons(1:npol,nt)*r_loc(na)

and recompile. In the CVS version it should be line 67 of the file, just after
         IF (i_cons==1) THEN
            ! i_cons = 1 means that the npol components of the magnetization
            ! are constrained, they are given in the input-file

Please let me know if it works.


Regards,

GS


> 
> Is there a way to circumvent this problem?
> For clarity I have added below a simple example illustrating my problem.
> thanks in advance..
> 
>    cyrille
> 

-- 


o ------------------------------------------------ o
| Gabriele Sclauzero, PhD Student                  |
| c/o:   SISSA & CNR-INFM Democritos,              |
|        via Beirut 2-4, 34014 Trieste (Italy)     |
| email: sclauzer at sissa.it                         |
| phone: +39 040 3787 511                          |
| skype: gurlonotturno                             |
o ------------------------------------------------ o



More information about the users mailing list