Recent Posts

Pages: 1 2 [3] 4 5 ... 10
21
1. Yes, memory, and you found the right solution - more threads rather than more MPIs per node reduces memory usage but keep the speed roughly the same, in many cases.
2. There are two guides in the manual around performance/parallelization and memory usage:
https://docs.quantumatk.com/manual/technicalnotes/parallelization/parallelization.html
https://docs.quantumatk.com/manual/technicalnotes/advanced_performance/advanced_performance.html
It's hard to give a single advice that works for all systems, but QuantumATK speeds up very well to high count of cores, and the more memory you need, the more you should rely on threading rather than MPI.
3. To me this is a very natural part of the projection algorithm, not least considering the way QuantumATK uses atomic orbitals as basis. It also provides a logical way to interpret the results. If your larger system is not really an extension of something with a smaller periodicity, the effective band structure may not be the best tool to analyze the results. The band gap for any system can always be inferred from the density of states, and the curvature is the same as the effective mass basically, which can also be computed directly for the supercell system.
22
General Questions and Answers / Re: Dipole moment for periodic system
« Last post by UtpalLab123 on March 25, 2025, 10:09 »
Yes, Sir, I am talking about the out of plane dipole moment. Sir, is there any way to calculate the out of plane dipole moment for a periodic system?
23
I have an additional question. When materials A and B are combined in a hetero structure, the polarization of materials A and B are different. Then, the polarization should be different in two areas, but the result is only one polarization. Then, I wonder in which area this polarization was calculated (ex. A, B, A-B).
24
It should work for a slab configuration too, and I guess even a heterostructure.
As for the normalization, the absolute value is anyway typically not so accurate or relevant, what you are looking for are changes in the polarization with e.g. stress or geometry. As long as those calculations are run on the same volume/area, the overall normalization factor cancels out when looking at the trend.
25
There are basically two ways to interpret "temperature" in this context. You may see that there is an temperature for each electrode in a device calculation (and in fact also one for regular bulk calculations). These refer to the electron temperature, or more specifically the width of the Fermi distribution used to compute the occupation of eigenstates. It is easy to change this in a device to e.g. consider thermoelectric effects.

This, finite, temperature is to some extent a numerical trick to be able to use fewer k-points. If the Fermi distribution were a sharp step function, it would be very hard to reach convergence in the self-consistent cycle without a huge number of k-points. Formally this means that every calculation should be extrapolated to zero electron temperature by running successive calculations at lower and lower electron temperature, restarting from the higher temperature in each step to help convergence. In practice this is usually overlooked, and typically not that important :-)

Note however that the default electron temperature is QuantumATK is quite high (1000 K) to help convergence, in particular for metals, but it often leads to a Fermi level that is a bit offset from the center of the  band gap where it should be in our definition of zero energy. So for insulators and semiconductors it is strongly recommended to lower the default to 200-300 K to avoid incorrect results.

Separately, if you want to consider the lattice temperature, things get more complex fast. Now you have to introduce phonons, or lattice vibrations, to move the atoms around from their equilibrium positions. There is a special technique in QuantumATK for this, see https://docs.quantumatk.com/manual/Types/SpecialThermalDisplacement/SpecialThermalDisplacement.html, which perhaps is a bit unknown, but can be very powerful. It has been used to compute e.g. the dielectric constant or band gap as a function of temperature. A straightforward but more time-consuming approach is to use molecular dynamics (MD) to evolve the geometry at finite temperature over time, and compute the property of interest for a sequence of time-steps, and average. The result should be equivalent to the STD method, as has been verified for e.g. temperature-dependent conductance of metal nanowires.

26
I read the manual on polarization, but it only covers calculations for primitive cells, and I don't know if the polarization term can calculate polarization on the interface.
1st question : Is it possible to calculate polarization at the interface of a heterostructure in QuantumATK?
2nd question : How is the area for calculating polarization in QunatumATK polarization? ex) entire bulk configuration
27
Hi Cam,

COSMO is QATK is enabled for slab geometries. To set up a slab geometry it is assumed that the surface normal is aligned along the positive C direction. The COSMO surface is then placed on the surface that has the highest C value. Note that if you have a thin film like geometry, only one surface will be placed on the top side of the film. When setting up a slab this can be created using either a SurfaceConfiguration or a BulkConfiguration. In both cases Dirichlet/Neumann boundary conditions should be used along the C direction. Dirichlet can require that the potential is zero at the boundary, anchoring the to total potential to a specific value. Neumann can require that the potential gradient is zero at the boundary. These are both non-periodic boundary conditions and can be used with structures with an overall charge. The A and B directions can use periodic 2D-FFT boundary conditions. In the SurfaceConfiguration the slab is connected to the electrode, which models the extension of the material in the negative C direction. In a BulkConfiguration the bottom side of the surface needs to be terminated in a way so that the top solvated side is relatively unaffected by the termination. It is also recommended that enough vacuum be added on the top and bottom sides to allow the boundary conditions to be easily satisfied at the ends of the cell.

A thin film geometry with solvent on both sides of the surface can be represented as a fragment in a MoleculeConfiguration. Here the transverse directions of the film should be terminated so as not to significantly alter the electron density at the center of the fragment. In a MoleculeConfiguration the entire structure is surrounded by the COSMO surface, which in this case approximates solvent at both sides of the film. If the overall fragment (including any adsorbed molecules) is neutral, then the normal FFT boundary conditions can be used. If the overall fragment carries a charge, then Multipole boundary conditions should be used. The reason is that FFT boundary conditions assume a periodic potential, which is a good approximation for most neutral molecules. Charged molecules have additional long-range electrostatic interactions that are taken into account with the Multipole boundary condition.

I hope that helps you with your simulation.
28
General Questions and Answers / Change the temperature of the device.
« Last post by 知昂 on March 23, 2025, 05:51 »
Hello, Quantum ATK Community,
How can the temperature parameter be changed in ATK software to calculate the transport properties at different temperatures when it is set at 0K by default for device transport property calculations?
Thank you!
29
Point 2 is probably not a way forward, you'd just end up reimplementing the feature we have.

What did you try so far? The whole point of the effective band structure is that the supercell has a lot more atoms than the original primitive cell, so that is not a fundamental limitation.

Do you have any reference publication for the plot you want to make? I am not sure this is a clearcut application of the effective band structure method. What information will you gain from the effective band structure which is not seen from just doing the corresponding calculation of the supercell (which you need to do anyway)?
Thank you for your reply. In general, I plot effective bandstructure to see the change in curvature of bandstructure, direct/indirect bandgap.

The initial error message I receive when performing the calculation are as below:
===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 274903 RUNNING AT node05
=   EXIT CODE: 9
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Terminated (signal 15)
This typically refers to a problem with your application.
Please see the FAQ page for debugging suggestions


The above issue was resolved by setting processes_per_kpoint to 2 increasing the threads per process. This leads me to the following questions:
1. Memory Issues? Does this observation suggest that the original error was due to insufficient memory allocation?
2. Optimizing Parallelization: What are the best practices for determining the optimal processes_per_kpoint value and the corresponding number of nodes to use for maximum computational efficiency? Are these parameters related to the k-points of the bulk configuration, the k-points used for the effective band structure calculation, or both?
3. Effective Band Structure Limitations: The effectivebandstructure module has a specific requirement: the 'configuration' must be divisible into an integer number of smaller unit cells, each identical in size and number of basis functions, as defined by the 'primitive_configuration'. This limitation is not present when plotting effective band structures derived from standard Plane-Wave DFT band structure calculations (e.g., VASP). Could you briefly explain the reason for this limitation within the effectivebandstructure module?"
30
Can you share the HDF5 files so I don't have to rerun all calculations?
Pages: 1 2 [3] 4 5 ... 10