Faulty Output of "spin components" for deprecated SpinOrbit switch

Bug #1811464 reported by Peter Christian Schmitz
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Siesta
Fix Committed
High
Alberto Garcia
4.1
Fix Committed
Medium
Alberto Garcia

Bug Description

VERSION: siesta-psml-R1--709-594

When the switches

SpinOrbit true
Spin non-polarized

are set together, the code prints

redata: Spin configuration = spin-orbit+onsite
redata: Number of spin components = 8

, suggesting a non-collinear calculation with onsite SOC. However, the real nonpolarized calculation with

# SpinOrbit false (not set)
Spin non-polarized

yields

redata: Spin configuration = none
redata: Number of spin components = 1

and the SAME energy, which is not possible if the first was true. Additionally, a calculation with off-site SOC

# SpinOrbit false (not set)
Spin spin-orbit

yields

redata: Spin configuration = spin-orbit+offsite
redata: Number of spin components = 8

So the presence of the supposed-to-be deprecated SpinOrbit causes an output which does not match the actually performed calculation.
Likely, the output routine still depends on SpinOrbit and needs to be updated.

Related branches

Revision history for this message
Peter Christian Schmitz (pcschmitz2018) wrote :
Revision history for this message
Nick Papior (nickpapior) wrote :

Thanks for the bug-report!

This should already be fixed in the latest version of the PSML branch.

You could you try with:
https://bazaar.launchpad.net/~siesta-pseudos-bases/siesta/trunk-psml/tarball/598

I'll consider this resolved. :)

Revision history for this message
Alberto Garcia (albertog) wrote :

It is indeed a bug and it affects the trunk version also.
The fix is coming soon.

Changed in siesta:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Alberto Garcia (albertog)
assignee: Alberto Garcia (albertog) → nobody
assignee: nobody → Alberto Garcia (albertog)
status: Confirmed → Fix Committed
Revision history for this message
Nick Papior (nickpapior) wrote :

Ah, so something changed between 4.1 and trunk... I see...

For the record, 4.1 implicitly seems to have the fix, without warning messages.

Revision history for this message
Alberto Garcia (albertog) wrote :

Actually, 4.1 also exhibits the bug. I had assumed it was a 'trunk' issue and
started with that branch, instead of checking.
The problem is that the chain of if_then_else's acts on several logical variables that can
be true at the same time (e.g., spin%SO and spin%none)

Revision history for this message
Alberto Garcia (albertog) wrote :

I have now backported the fix to 4.1, and propagated it to trunk-psml.

In trunk and trunk-psml, the net effect of the bug was that "spin%SO" remained true, while
neither spin%SO_offsite nor spin%SO_onsite were set. Hence no SO contributions were really computed, and the energy was the same as the "spin%none" case.

Revision history for this message
Zeila Zanolli (zeila) wrote : Re: [Bug 1811464] Re: Faulty Output of "spin components" for deprecated SpinOrbit switch

great! thanks!

 Z
---------------------------------------------------------------
Dr. Zeila Zanolli

Ramon y Cajal fellow at the
Institut Català de Nanociència i Nanotecnologia (ICN2), Barcelona, Spain
Steering Committee, European Theoretical Spectroscopy Facility
http://www.etsf.eu/
Board Member, Young Academy of Europe http://yacadeuro.org/

Phone: +34 937373605
Email: <email address hidden>
Web: http://zeilazanolli.wordpress.com/home
Twitter: @ZeilaZanolli
<https://vpn.icn2.cat/proxy/32d9bc05/http/intranet/Lists/Institutional%20signature/@ZeilaZanolli>
ResearcherID: http://www.researcherid.com/rid/F-9568-2010
----------------------------------------------------------------

On Sun, Jan 13, 2019 at 5:20 PM Alberto Garcia <email address hidden> wrote:

> I have now backported the fix to 4.1, and propagated it to trunk-psml.
>
> In trunk and trunk-psml, the net effect of the bug was that "spin%SO"
> remained true, while
> neither spin%SO_offsite nor spin%SO_onsite were set. Hence no SO
> contributions were really computed, and the energy was the same as the
> "spin%none" case.
>
>
> ** Changed in: siesta/4.1
> Status: New => Fix Committed
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1811464
>
> Title:
> Faulty Output of "spin components" for deprecated SpinOrbit switch
>
> Status in Siesta:
> Fix Committed
> Status in Siesta 4.1 series:
> Fix Committed
>
> Bug description:
> VERSION: siesta-psml-R1--709-594
>
> When the switches
>
> SpinOrbit true
> Spin non-polarized
>
> are set together, the code prints
>
> redata: Spin configuration = spin-orbit+onsite
> redata: Number of spin components = 8
>
> , suggesting a non-collinear calculation with onsite SOC. However, the
> real nonpolarized calculation with
>
> # SpinOrbit false (not set)
> Spin non-polarized
>
> yields
>
> redata: Spin configuration = none
> redata: Number of spin components = 1
>
> and the SAME energy, which is not possible if the first was true.
> Additionally, a calculation with off-site SOC
>
> # SpinOrbit false (not set)
> Spin spin-orbit
>
> yields
>
> redata: Spin configuration = spin-orbit+offsite
> redata: Number of spin components = 8
>
>
> So the presence of the supposed-to-be deprecated SpinOrbit causes an
> output which does not match the actually performed calculation.
> Likely, the output routine still depends on SpinOrbit and needs to be
> updated.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/siesta/+bug/1811464/+subscriptions
>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.