Joel Mascarenhas
unread,Jul 6, 2026, 8:19:53 AMJul 6Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Boris Computational Spintronics
Subject: Exercise 18.1 (single Pt SHE) — your forum script gives <S> = 0 on v3.80
Hi Serban,
I'm running Exercise 18.1 (spin Hall effect in a single Pt slab) on BORIS v3.80 via the Python/NetSocks interface, using the exact script you posted on the group (May 2024). The charge solve is correct but the spin accumulation comes out zero, and I can't find what differs.
I ran your script verbatim:
ns = NSClient(); ns.configure(True)
l,w,t = 320e-9, 320e-9, 40e-9
Pt = ns.Conductor([0, 0, 0, l, w, t], [5e-9, 2e-9, 2e-9])
Pt.modules(['transport'])
Pt.param.elC = 7e6
Pt.param.l_sf = 1.4e-9
Pt.param.SHA = 0.1
ns.setdefaultelectrodes()
ns.setpotential(1e-2)
ns.setode('LLG-SA', 'RK4')
Pt.display('S')
ns.computefields()
Volume averages afterwards:
<Jc> = [-2.19e11, ~0, ~0] A/m^2 (correct: sigma*V/Lx along -x)
<S> = [5e-21, 4e-17, -2e-18] A/m (i.e. zero to numerical noise)
So the charge transport is fine, but no spin accumulation develops. A few observations:
- The transport module is added and Jc is correct, so the transport solver is running for charge.
- I confirmed via the GUI panel that after configure(True) the "Static transport solver" starts Off. Turning it On (statictransportsolver 1) plus driving with Relax instead of computefields also gave <S> = 0.
- ns.setode() with no arguments returns an empty string on my build, so I can't confirm the ODE query, though setode('LLG-SA','RK4') is issued without error.
Is there an additional step needed on v3.80 to make the spin (S) part of the transport solver engage for a normal-metal-only mesh, or has the required setup changed since the forum post? A minimal working v3.80 command sequence for 18.1 would be a great help.
Thanks very much,
Joel M