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 - Troels-Markussen

Pages: [1] 2 3
1
General Questions and Answers / Re: OptimizeDeviceConfiguration
« on: September 11, 2024, 09:19 »
Yes, the 'width of the optimization region' is meant as the same as the 'Optimization region length'. Only the atoms inside this optimization region, defined by the 'Optimization region length' and 'Optimization region center' will be relaxed. This is indicated by the red box in this image https://docs.quantumatk.com/_images/before_after_default.png from the tutorial.

2
Scripts, Tutorials and Applications / Re: Magnon dispersion
« on: January 29, 2024, 13:47 »
Hi,

No, the magnetic anisotropy energy is not included in the magnon bandstructure.

Kind regards

3
Hi,

The 'on-site' exchange parameter Jii should not be regarded as a physical result, but rather be ignored in the case of molecules, where it's currently calculated.

Concerning plotting of the Jij values I would recommend to use the  build-in HeisenbergExchange analyzer available in QATK 2023.09. With this version I get the same results as shown in the tutorial about HeisenbergExchange http://docs.quantumatk.com/tutorials/heisenberg_exchange/heisenberg_exchange.html#id21 , also using the plot_Jij_vs_r.py script.

4
A small update: When using filling_method=Anisotropic, HSE06 also leads to solution with a band gap.

5
Hi,
I have been looking into this issue. It turns out to be related to the initial occupation of the orbitals. This is controlled by the parameter "filling_method" on the BasisSet. By default this 'SphericalSymmetric' meaning that all orbitals within a particular shell (e.g. all the d-orbitals) will have the same initial occupation. However, this might trap the solution in a wrong local minimum. In your case the solution comes out with equal occupation of the xy, xz, and yz orbitals for the minority spin. However, according to this paper DOI: 10.1103/PhysRevB.97.035107 the solution should rather be a single occupied orbital (xy) for the minority spin. This you can actually achieve if you initialize the orbital occupations differently by setting  "filling_method=Anisotropic" on the Fe basis set (if you are using GGA+U this can also be set in the GUI, where you specify the U-values). By doing so you end up with a solution that indeed has a band gap - see attached PDOS plot, where I show the DOS projected on the first Fe atom on spin up and down. The script for the calculation is also attached.

6
Hi Dongzhe,

This is partly intended behavior since in our implementation, the calculation of the J_ij matrix elements require that all the atoms are located within a single unit cell. Since your configuration have some negative fractional coordinates, it will internally wrap the configuration and trigger a restart. Note, however, that the second update uses the already updated configuration and only takes 5 steps to converge (vs. 28 for the first update).

Also, I just found out now, that the check for doing a restart is too tight meaning that the program will often perform a restart even if it isn't really necessary. But again, this is just a few additional SCF steps.

Regards,
Troels


7
Hi,

Since the overlap matrix depends on k, the easiest way to calculate the overlap between two Bloch states at two different k-point is to do it in a real-space representation. For this you can use the BlochState analysis object. I have attached a script, which calculates the overlap between two Bloch states in Silicon. I hope this can help you.

Regards,
Troels

8
Hi,

The unit for effective mass is the electron (rest) mass of 9.10938356 × 10-31 kilograms.

Regards,

9
Hi,

Can you share a python script that reproduces the error?

Regards,
Troels

10
Hi Florian,

I have attached a modified script, which I believe works correctly. Indeed the documentation has not been updated along with changed defaults and it also doesn't reflect the defaults in PiezoElectricTensor calculation.

For calculations involving the Berry phase Polarization (i.e. Polarization, BornEffectiveCharges, and PiezoElectricTensor) it is often necessary to decrease the electronic temperature from the default of 1000 K.

For the PiezoElectricTensor calculation itself, notice that we can calculate either the clamped ion contribution or the full contribution. The former is calculated by setting
Code
optimize_geometry=False
while the later is obtained with
Code
optimize_geometry=True

Both calculations are performed in the attached script.

Regards,
Troels

11
Hi,

While QuantumATK can be used to calculate parameters entering the LLG equation (spin transfer torque, Gilbert damping, magnetic moments, etc.) we currently do not have any modules for calculating the magnetization dynamics by solving the LLG equation. This part was implemented by the authors them-self in the cited paper. Notice also that the calculation of spin-orbit torque was implemented by the authors them-self.

Regards,
Troels
 


12
General Questions and Answers / Re: IR absorption spectra
« on: October 6, 2020, 10:32 »
Hi,

Yes, the IR spectrum can be calculated using the DielectricTensor object, https://docs.quantumatk.com/manual/Types/DielectricTensor/DielectricTensor.html#infrared-spectrum. The IR spectrum is available in the DielectricTensor analyzer.

You may also find it useful to watch the webinar on simulation of optical properties with QuantumATK:  https://docs.quantumatk.com/webinars/webinars.html#simulation-of-optical-properties-with-quantumatk

Regards,
Troels

13
Hi,

I noticed that in your geometry optimization, you fixed the strain in the x- and y- directions, while not in the z-direction. I think this is a mistake. For such a 2D material you should rather fix the strain in the z-direction and relax it in the x- and y-directions like:

Code
constraints = [FixStrain(x=False, y=False, z=True)]

Try to re-run the geometry optimization with this constraint and the recalculate the DynamicalMatrix.

Additionally, phonon calculations might require more accurate setting than 'normal' calculations. For this you might consider decreasing the tolerance as:

Code
iteration_control_parameters = IterationControlParameters(
    tolerance=1e-05,
    )


Regards,
Troels


14
General Questions and Answers / Re: Mulliken Poppulation
« on: September 14, 2020, 16:28 »
Hi,

Perhaps you can use the 'bond' method on the MullikenPopulation analysis object, https://docs.quantumatk.com/manual/Types/MullikenPopulation/MullikenPopulation.html#NL.Analysis.MullikenPopulation.MullikenPopulation.bond.

Regards,
Troels

15
Hi,

It's difficult to say which is better. I guess the main difference will be in relaxed geometries. I expect that for similar geometries you will get quite similar results with PBE and RPBE. Personally, I would always use PBE for such a problem.

Regards,
Troels


Pages: [1] 2 3