Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - gayani2025

Pages: [1] 2 3
1
Hi All,

I was trying to do a collinear transport calculation. However could not find a way to fix the spin. Then I tried to fix the spin using below block

initial_spin = InitialSpin(scaled_spins=scaled_spins)

# Build FixedSpin from the same angles; only lock atoms with m > 0
fixed_spin_list = [(i, theta, phi) for (i, m, theta, phi) in scaled_spins if m > 0.0]
fixed_spin = FixedSpin(spin_directions=fixed_spin_list, fixed_spin_energy=5*eV)

# Apply the constraint as a local magnetic field
device_optimisedrspinupextendspinfixedtest1.setMagneticField(fixed_spin)

However Spin is not fixed as I wanted.  There is  message in the log file

# WARNING: The calculation converged to the unphysical zero density solution.  #
Mulliken population is also attached here. Can someone pls guide me how to do the fixed spin in collinear spin transport calculation

------------------------------------------------------------------------------+
|                                                                              |
| Noncollinear Mulliken Population                                             |
|                                                                              |
+------------------------------------------------------------------------------+
|                                                                              |
| Element     Up        Down       Theta (Degrees)   Phi (Degrees)             |
|                                                                              |
|   0  Ni     0.1003    0.0977       180.0000           0.0000                 |
|   1  Ni     0.0008    0.0001         0.0000         180.0000                 |
|   2  Ni     0.0000    0.0000       180.0000         180.0000                 |
|   3  Ni     0.1003    0.0977       180.0000           0.0000                 |
|   4  Ni     0.0008    0.0001         0.0000         180.0000                 |
|   5  Ni     0.0000    0.0000       180.0000         180.0000                 |
|   6  Ni     0.1003    0.0977       180.0000           0.0000                 |
|   7  Ni     0.0008    0.0001         0.0000         180.0000                 |
|   8  Ni     0.0000    0.0000       180.0000         180.0000                 |
|   9  Ni     0.1003    0.0977       180.0000           0.0000                 |
|  10  Ni     0.0008    0.0001         0.0000         180.0000                 |
|  11  Ni     0.0000    0.0000       180.0000         180.0000                 |
|  12  Ni     0.1003    0.0977       180.0000           0.0000                 |
|  13  Ni     0.0008    0.0001         0.0000         180.0000                 |
|  14  Ni     0.0000    0.0000       180.0000         180.0000                 |
|  15  Ni     0.1003    0.0977       180.0000           0.0000                 |
|  16  Ni     0.0008    0.0001         0.0000         180.0000                 |
|  17  Ni     0.0000    0.0000       180.0000         180.0000                 |
|  18  Ni     0.1003    0.0977       180.0000           0.0000                 |
|  19  Ni     0.0008    0.0001         0.0000         180.0000                 |
|  20  Ni     0.0000    0.0000       180.0000         180.0000                 |
|  21  Ni     0.1003    0.0977       180.0000           0.0000                 |
|  22  Ni     0.0008    0.0001         0.0000         180.0000                 |
|  23  Ni     0.0000    0.0000       180.0000         180.0000                 |
|  24  Ni     0.1003    0.0977       180.0000           0.0000                 |
|  25  Ni     0.0008    0.0001         0.0000         180.0000                 |
|  26  Ni     0.0000    0.0000       180.0000         180.0000                 |
|  27  Ni     0.1003    0.0977       180.0000           0.0000                 |

2
Hi,


Thank you for your reply.

Please see the attached slide, where I have explained both the experimental I–V curve and the results I obtained from the simulation. As you mentioned, I don’t think I have fixed the spin correctly in my setup.

Could you please advise which option I should use in this type of situation?  I found this. https://docs.quantumatk.com/manual/Types/FixedSpin/FixedSpin.html() . But it is for non collinear situation.

 I have also attached the Python files of the setup I have been using.

As I understand it, I need to perform a collinear spin transport calculation and be able to fix the spin of the Ni electrode for both up and down orientations. Is that correct?

Thank you for your guidance.

3
Hii,

No actually I also could not fix the spin yet.

Best wishes
Gayani

4


Dear All,

I am performing spin-polarized transport calculations using Ni electrodes — one with spin-up and the other with spin-down initialization. However, I observe that the spin-down Ni electrode relaxes to spin-up during the calculation, as confirmed by the Mulliken population analysis.

To address this, I understand that I need to fix the spin direction during the calculation. I came across the FixedSpin class, which provides a way to fix spins by applying an energy penalty.
https://docs.quantumatk.com/manual/Types/FixedSpin/FixedSpin.html

 However, the documentation and examples I found (such as the Cr dimer case) are based on non-collinear spin calculations.

I would like to know:

How can I apply fixed spin directions in a collinear spin transport calculation?

Is there an example or tutorial available for using FixedSpin in the collinear spin framework, especially in the context of transport calculations?

I’ve attached the input script I used so far. Any guidance or example code would be greatly appreciated.

Thank you in advance!


Gayani

5
General Questions and Answers / Re: Magnetic tunnel junctions
« on: August 4, 2025, 11:01 »
Hi

https://docs.quantumatk.com/tutorials/fe_mgo_fe/fe_mgo_fe.html   this is  a good starting point

Best wishes
Gayani

6
Dear All,

I am currently following the QuantumATK tutorial on transport calculations:
https://docs.quantumatk.com/tutorials/atk_transport_calculations/atk_transport_calculations.html

As a first step, I performed the calculation at zero bias. Following the procedure described in the tutorial, I then used the optimized device configuration from the zero-bias calculation as the starting point for the finite bias transport calculation.

I have attached the steps I followed for your reference. Could you please take a look and let me know if my approach is correct?

Thank you very much in advance.


7
Dear All,

I am currently performing a spin transport calculation using QuantumATK, where the left electrode is Nickel (Ni) and the right electrode is Gold (Au). An organic molecule is placed in the central region between the electrodes.

In the setup, I initialized the Ni atoms with both spin-up and spin-down configurations in separate calculations, while keeping all other atoms non-magnetic (zero initial spin). However, in both cases, the transmission spectrum turned out to be almost identical.
(Ni electrode=2.5V Au=0V)

Upon inspecting the Mulliken spin population, I observed that even when I initialized Ni with spin-down, the calculation converged to a spin-up state. It appears that the system spontaneously flips the spin during relaxation.

I’ve attached the relevant input  (py)and output figures as well as a PDF  for your reference.

I would greatly appreciate any guidance on how to enforce a stable spin-down state on the Ni electrode, as I’m trying to study how the transmission spectrum changes when the Ni tip is spin-up versus spin-down.

Looking forward to your suggestions.

Thanks
Gayani

8
Hi Frank,


Apologies — this is not a direct answer to your question, but rather a question from my side.

I'm currently using QuantumATK W-2024.09-Sp1, and I'm interested in calculating I–V curve for my spin transport calculation. I noticed that the IV Curve option doesn't appear to be available in my version.

Are you using the IV Characteristics tool to perform this calculation?

Thanks in advance!

Gayani

9
Hi Asif,

Thank you for the message. I kept all three layers of Ni and Au fixed. Only allowed one layer closer to molecule relaxed.  In the tutorial it says ....

"Next, open the optimization_icon Optimization block to specify that the first and last four atoms in the central region (the atoms in the electrode extensions) should be kept fixed during the relaxation. This is very important – if any of these atoms move you no longer have a periodic structure at the edges of the central cell, which is required for generating and attaching device electrodes later on."   

10
Dear All,
I am currently following the tutorial at:
https://docs.quantumatk.com/tutorials/fe_mgo_fe/fe_mgo_fe.html#femgofe-started
As instructed, I have separated the device central region. However, I am now trying to attach the left and right electrodes using the "Device from Bulk" tool, but it doesn't seem to work.
Could you please advise me on how to proceed or let me know what I might be missing?
Thank you for your help.
Best regards,

11
Hi,

Thank you for your message. To overcome the computational limitations, we have designed a simplified system using only the chiral molecule for the transport calculation, aiming to capture the qualitative spin selectivity.

I have set up the geometry optimization of the central region following the available tutorials. I believe this setup should capture the essential features of the system.

I would appreciate it if you could have a quick look and let me know if the current setup looks reasonable.

Thank you again for your support.

13
Thank you very much for your valuable comment. I also wanted to ask whether you have come across any example studies on spin transport in perovskite systems of this type. Despite searching the literature, I was unable to find relevant examples. If you happen to know of a study involving spin transport in perovskites—particularly with similar device configurations—it would be greatly appreciated if you could share it.

Additionally, I have access to a computing cluster where I can use up to 64 CPUs. I would be grateful if you could comment on whether this computational capacity is likely sufficient for a spin transport simulation of this scale, or if I should expect significant limitations.

Thank you again for your time and guidance.

14
Dear All,

I have been actively exploring spin transport simulations in QuantumATK, referring to several tutorials and incorporating valuable insights provided by the ATK community. Attached are two snapshots of my current system setup, where I aim to investigate spin transport properties through a perovskite device region, using Ni and Au as electrodes.

I have fully optimized the bulk structures of Ni, Au, and the perovskite, and constructed the interface regions using the Interfaces tool in the Builder. However, based on my current understanding and experience with this system, it appears that performing spin transport calculations in this configuration may not be feasible.

As evident in the attached snapshots, the system suffers from relatively high interfacial strain and involves a large number of atoms in the device region. Additionally, the nature of the heterojunction requires longer electrodes for accurate transport results, which would further increase the system size significantly and add to the computational complexity.

To the best of my knowledge, I have not come across any published spin transport studies involving perovskites in this specific configuration, which suggests that this may be a particularly challenging system to model.

I would be very grateful for any suggestions or feedback on how best to approach this problem, including potential alternatives or simplifications that could make the study more computationally tractable.

Thank you for your time and consideration.

GN

15
Thank you.
Fixed it

# %% Define high-symmetry points
def mysym():
    return {
        "G": numpy.array((0.0, 0.0, 0.0)),
        "M": numpy.array((0.0, 0.5, 0.0)),
        "K": numpy.array((1.0/3.0, 1.0/3.0, 0.0)),
    }

# %% Load optimized structure from correct file
optimized_configuration = nlread('WSe2_run3.hdf5', object_id='optgeom')[0]

# Assign custom symmetry points
optimized_configuration.bravaisLattice().symmetryPoints = mysym

# %% Compute band structure along Γ–M–K–Γ
bandstructure = Bandstructure(
    configuration=optimized_configuration,
    route=['G', 'M', 'K', 'G'],
    points_per_segment=100
)

# %% Save results
nlsave('WSe2_run3.hdf5', bandstructure)


Pages: [1] 2 3