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.


Topics - gayani2025

Pages: [1] 2
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


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

3
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.


4
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

5
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,

6
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

7
Dear All, I'm trying to do a geometry optimization of this perovskite. I found a similar relevant settings which describe there system 

Previous study
The DFT calculations were performed using the Fireball package. All geometry optimizations and electronic structure analyses were performed using the BLYP exchange-correlation functional with D3 corrections and norm-conserving pseudopotentials with a basis set of optimized numerical atomic-like orbitals. Systems were allowed to relax until the remaining atomic forces reached below 5 × 10−2 eV Å−1.  a 2 × 2 unit cell containing 300 atoms. The Brillouin reciprocal zone was sampled by a Monkhorst-Pack grid of 5 × 5 × 1 for the 2 × 2 slab.

Based on above details I have set up the system.    
I am using  GGA-BLYP functional and Grimme D3 dispersion corrections. A norm-conserving LCAO basis set (analogous to those in PseudoDojo) is used with a 600 eV density mesh cutoff. Occupations were modeled using Fermi–Dirac smearing at 300 K. Brillouin zone integration is performed with a 5×5×1 Monkhorst-Pack grid.

My question is I have selected Norm conserving Pseudo Dojo potential. Is it a good choice ? Do I have to switch  to SG15 or FHI. This is a semiconducting material (so I selected Fermi Dirac smearing 300K) with a band gap of 1.5-1.9 eV. Please advice. Thanks

8
Dear All,
Please advice whether this procedure is correct to make unit cell for the geometry optimization.
To prepare the perovskite slab model for geometry optimization in vacuum, I followed a systematic approach using the Surface Cleavage Tool to ensure structural integrity, particularly for the organic component:

Initial Structure:
I started with the experimental bulk crystal structure of the organic–inorganic hybrid perovskite.

Replication:
To avoid the issue of missing surface atoms (especially hydrogen), I first replicated the bulk structure along the c-axis. This ensured a complete molecular unit at the cleaved surface.

Surface Cleavage:
Using the Surface Cleave tool, I created a (001) surface from the replicated structure. This orientation was selected to expose the desired perovskite layer.

Vacuum Addition:
After cleavage, I introduced vacuum spacing on both the top and bottom of the slab to simulate a freestanding perovskite monolayer and eliminate interactions between periodic images.

Layer Isolation:
Finally, I manually removed the excess layers, retaining only a single perovskite unit within the slab. This step ensured that the system represents an isolated slab in vacuum.

⚠️ Note: Direct application of the surface cleavage tool without prior replication caused incomplete surface termination, particularly resulting in missing hydrogen atoms in the organic component. Replication prior to cleavage was therefore essential to obtain a physically realistic and chemically complete slab.

9
Dear All,

I am currently setting up a system to study spin transport using an organic-inorganic perovskite structure. The electrodes I am using are Ni (for spin injection) and Au.

After reviewing some relevant tutorials and incorporating suggestions from earlier discussions, I have outlined the following proposed steps for the study:

Optimize the device configuration

Extend the electrode lengths as needed

Perform the spin transport calculation

I have already prepared the geometry optimization script for the initial step. As a preliminary test (Test 1), I have assigned spin polarization as follows: Ni with spin-up, and perovskite and Au with zero spin, based on discussions with our experimental collaborators.

I would appreciate it if someone could kindly review my parameter selections and let me know if they are appropriate for this system.

Thank you very much for your support.

Best regards,
GN

10
Dear All,

I have setup a system for a Spin transport study. Perovskite is sandwiched between Ni And Au

Ni is injecting spin from the top and gold is for collecting from the bottom. I made the structure following multilayers structure and then made the device. Can someone please check this structure whether it is correctly assembled. I have attached two python scripts for the geometry

Thanks
Gayani

11
General Questions and Answers / STM image replication
« on: June 5, 2025, 10:24 »
Dear All,

 I got an STM image using LDOS (pls see the attachment). My question is I want to replicate this image in x and y direction.

Can someone advise me how to do this.
Thanks

GN

12
Dear All,

My version is W-2024.09-SP1
I want to study spin current through a Perovskite materials
As a startup I'm doing some tutorials.
https://docs.quantumatk.com/tutorials/atk_transport_calculations/atk_transport_calculations.html#atk-transport-calculations
So the defined Calculator ATK-Slator Koster cannot be found in my menu. Can you please advise me on how to proceed with this. I want to start from the very beginning since this is the first time that I'm doing this type of a calculation.

Thanks
GN







13
General Questions and Answers / AFM images
« on: June 3, 2025, 07:23 »
Dear All,

I need to obtain AFM images
1. I have seen AFM Cantilever Tip in the Builders. Can I use this?
2. Is there a tutorial or example I can refer?

Thanks
GN

14
Dear All,

I have generated below file to do the geometry optimization with fix W atom. If I want to just fix the W atom without moving is this the correct way of doing this. Pls advice.  Thnaks


# Set up lattice
vector_a = [3.29, 0.0, 0.0]*Angstrom
vector_b = [-1.645, 2.849223578450803, 0.0]*Angstrom
vector_c = [0.0, 0.0, 22.97]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Selenium, Tungsten, Selenium]

# Define coordinates
fractional_coordinates = [[ 0.            ,  0.            ,  0.418969960818],
                          [ 0.333333333333,  0.666666666667,  0.49180975185 ],
                          [ 0.            ,  0.            ,  0.564649542882]]

# Set up configuration
wse2_0001 = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Add tags
wse2_0001.addTags('W', [1])

wse2_0001_name = "wse2_0001"


# %% Set LCAOCalculator

# %% LCAOCalculator

# ----------------------------------------
# Exchange-Correlation
# ----------------------------------------
exchange_correlation = GGA.BLYP

correction_extension = GrimmeDFTD3(exchange_correlation=exchange_correlation)

k_point_sampling = MonkhorstPackGrid(na=1, nb=1, nc=1)

numerical_accuracy_parameters = NumericalAccuracyParameters(
    density_mesh_cutoff=500.0 * eV,
    k_point_sampling=k_point_sampling,
    occupation_method=GaussianSmearing(broadening=600.0 * Kelvin),

calculator = LCAOCalculator(
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    checkpoint_handler=NoCheckpointHandler,
    correction_extension=correction_extension,
)


# %% Set Calculator

wse2_0001.setCalculator(calculator)

nlsave('WSe2_0001_results.hdf5', wse2_0001)


# %% OptimizeGeometry

fix_atom_indices_0 = wse2_0001.indicesFromTags(['W'])

constraints = [FixAtomConstraints(fix_atom_indices_0)]

restart_strategy = RestartFromTrajectory(
    trajectory_filename='WSe2_0001_resultsopt.hdf5', object_id='optimize_trajectory'
)

optimized_configuration = OptimizeGeometry(
    configuration=wse2_0001,
    constraints=constraints,
    trajectory_filename='WSe2_0001_resultsopt.hdf5',
    trajectory_object_id='optimize_trajectory',
    restart_strategy=restart_strategy,
)

nlsave('WSe2_0001_resultsopt.hdf5', optimized_configuration, object_id='optgeom') 
                                                                                     

15
Dear All,

I'm trying to run optimization of a gold-perovskite system. I have attached the inputs and log files. Can you please comment on how to resolve this. Thanks

[Wed May  7 16:17:22 2025]: Connection to server lost - reconnection attempt 4/5.
====================[Wed May  7 16:19:22 2025]: Connection to server terminated after failing 5 heartbeats
==============================

                            |--------------------------------------------------|
Calculating Density Matrix : ==================================================


===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 0 PID 252154 RUNNING AT in-005.stdct.loc
=   KILLED BY SIGNAL: 11 (Segmentation fault)
===================================================================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Resource Usage on 2025-05-07 16:29:11.463864:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        JobId: 80364.stdct-mgmt-02
        Project: personal-gayaninp
        Exit Status: 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        NCPUs: Requested(24), Used(24)
        CPU Time Used: 261:59:27
        Memory: Requested(46080mb), Used(5241176kb)
        Vmem Used: 8168140kb
        Walltime: Requested(168:00:00), Used(25:59:16)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Execution Nodes Used: (IN-005[0]:ncpus=24:mem=47185920kb)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        No GPU-related information available for this job.

Pages: [1] 2