Recent Posts

Pages: 1 ... 6 7 [8] 9 10
71
General Questions and Answers / Re: Issue with launching simulation from SLURM
« Last post by filipr on October 31, 2025, 16:46 »
It's hard to help with this problem as there is not really enough information (what machines, OS, how was SLURM configured and how was the job submitted). Isuggest that you start by contacting your cluster admin and see if they can look into the issue, as it is most likely not a problem with QuantumATK but rather a problem with how the machines and SLURM was configured. The IT admin will be typically be able to log into the specific nodes and see whether the process is running and see if there is actually any output.
72
Most QuantumATK operations do collective calls and cannot be manually mpi parallelized by e.g. just splitting a list of k-points among mpi processes.

What you can do instead is that you can first do the DFT ground state in a separate calculation and store the configuration to an HDF5 file. Then you can make a separate post-processing script that calculate OrbitalMoment() for a single k-point in a loop over a subset of all the k-points you are interested in, where the subset is determined from an input argument or environment variable (e.g. job array index).

Here's an unfinished example to give you the idea:
Code
import sys
my_process_index = int(sys.argv[1])
total_num_procs = ??

all_kpoints = numpy.array([[...], [...], ..., [...]])

my_kpoints = # logic to get local sequence of k-points here

configuration = nlread("dft_ground_state_calc.hdf5", BulkConfiguration)[-1]

orbital_moments = []
for kpoint in my_kpoints:
    orb_moment_analysis = OrbitalMoment(configuration, kpoints=MonkhorstPackGrid(1, 1, 1, k_point_shift=kpoint))
    orbital_moments.append(orb_moment_analysis.atomResolvedOrbitalMoment())

# Save 'orbital_moments' to file somehow, e.g. pickle

Then you can run this script either in a bash loop in a single script or submit it as multiple jobs or as a job array. Then you can collect the result files from each job and gather into a single array.
73
Hello,

I have tried using the MACE potential for both vibrational correction and pre-relaxation. The results show that negative vibrational modes still appear for the hexagonal interstitial configuration, whereas the split interstitial defects do not exhibit any negative modes. Consequently, the diffusivity was only calculated for the split interstitial and split-interstitial–to–split-interstitial migration paths.

Also, regarding the NEB convergence issue you mentioned earlier — do you have any suggestions on how I can make the convergence faster? For reference, I used the PBE functional for generating the training data in the MTP-accelerated calculations (in the previous calculation).

Best regards,
Shinyeong
74
Hello everyone,

I need to calculate atom-resolved orbital moments using OrbitalMoment() in QuantumATK and obtain the values per atom and per k-point. My first question is: is it possible to directly get this information from the output?

If not, my fallback solution is to compute the function for a single k-point at a time and loop over all k-points. This works fine sequentially.

However, when I try to parallelize my code with mpi4py by distributing k-points over several ranks, I run into problems:

Deadlocks can occur during the computation.

At the end of the loop, all ranks return the same orbital moment values, even though each rank is supposed to work on a different k-point.

It seems that OrbitalMoment() does not execute independently on each rank and requires some form of internal synchronization or communication.

I would appreciate any guidance on:

Whether it is possible to obtain atom-resolved orbital moments for each k-point directly.

If independent parallel computation per k-point is possible, and how to do it safely with QuantumATK.

Thanks a lot for your help!
75
General Questions and Answers / Issue with launching simulation from SLURM
« Last post by AsifShah on October 21, 2025, 12:07 »
Dear Admin,
I am trying to launch a simulation from SLURM. It shows active status on squeue but the log file is empty for long time.
I m using latest QuantumATK X.2025.06.

Kindly help in this regard!
76
Hi Anders,

Great! I will try this. Thank you so much for your help!
77
Hello QuantumATK team,

Thank you for your guidance; the process is now clear to me. I go through the reference image attached showing a temperature profile analysis for SiO₂ quartz (MTP pretrained, RNEMD) using the Molecular Dynamics Analyzer in QuantumATK.
Could you please share the official documentation or example workflow/script that explains how to set up and perform the RNEMD (Reverse Non-Equilibrium Molecular Dynamics) simulation for SiO₂ using the MTP potential and generate and fit the temperature profile as shown in this plot?

Any references or sample Python scripts for automating this process in the QuantumATK Script Generator would be very helpful.

Thank you in advance for your guidance!
78
Hi kaihuang,

Can you check with these quick fixes for the file D0_BulkDevice.py

1. Increase electrode extension.
2. Use k_point_sampling = MonkhorstPackGrid(na=12, nc=300).
3. Use medium basis set.


79
Dear QuantumATK team,

My research strongly relies on ATK for calculating transport properties, and the LCAO framework in ATK has been extremely helpful and valuable for my studies.

Recently, I calculated the transmission spectrum of monolayer graphene. Since graphene is a well-studied material with a simple structure, it is often used as a benchmark system. However, I encountered a strange problem.


(Web image here. If it's not shown, find in the attachment.)

As shown in the figures:
- Fig.(a) presents the graphene band structure calculated using VASP along a chosen direction c. b direction has vacuum layer. The lattice has been orthogonalized, showing the well-known two Dirac cones, with the Fermi energy set to zero. ATK band-structure calculation matches this result.
- Fig.(b) and (c) show the bulk (unit cell) non-bias transmission spectrum calculated using ATK 2024. In (b), the x-axis is k-parallel and the y-axis is energy; in (c), the x-axis is energy and the y-axis is transmission. Overall, (b) looks very similar to the band structure in (a) which right, but there is one abnormal transmission channel (green line). This green channel causes the transmission at the Fermi level in (c) to be 1 instead of 0, which is clearly incorrect. The calculation was done using DFT with Dojo pseudopotentials.

To identify the issue, I tried several approaches: Using ATK 2022 instead of 2024; Rewriting the structure with cleaner fractional coordinates (Fig.(d)); Increasing the k-grid to up to 18×1×96 (Fig.(e)). None of these changes fixed the problem.

I also tried using SG15 pseudopotentials (Fig.(f)), it’s even worse that two fake conduction channels appeared (green lines).

I also tried building a bulk-like device by repeating the unit cell several times (Fig.(g)). In that case, the fake channel disappeared, but the transmission became non-integer, and the non-zero region below the Fermi level appeared as discrete lines rather than continuous bands.

Finally, I tested the Slater–Koster (method following the official tutorial (https://docs.quantumatk.com/tutorials/transmission_gr_mos2/transmission_gr_mos2.html). The result was correct and free of fake channels. However, since my main workflow is based on DFT, the S-K method is not suitable for my project. The fact that the S-K method works correctly suggests that my structure setup is fine and the problem might come from the DFT implementation in ATK.

I have attached the calculation files for both the bulk (unit cell) case (corresponds to Fig.(e)) and the bulk-like device case (corresponds to Fig.(g)).

I sincerely hope to receive your advice.

Thank you very much!
Kai
80
I suppose you are mainly looking at how the electron density changes with bias, so you can just subtract the zero-bias electron density and that's your bias-induced charge transfer.

Dear experts,

Good afternoon, how to compute cgg, cgd, cgs  of a fet using quantum atk?
Pages: 1 ... 6 7 [8] 9 10