QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: xiaoteng on March 10, 2017, 09:49
-
Hi,
I want to calculate the transmission with SOC,OMX as the pseudopotential (2014 version). During the self consistent, it is hard to converge when I added the SOC. How should I do?
I had refered this. http://docs.quantumwise.com/tutorials/spin_orbit_bandstructures/spin_orbit_bandstructures.html
So could I set as follow:
Device
New Calculater
Initial state
New Calculater
Initial state
Is it the right manner?
-
Yes, you may do it in this way. First, do a spin-polarized calculation, and then use it as a starting point for the device calculation with spin-orbit interaction included.
-
I tried it, but an error appeared!After finishing the first set of the two blocks: New Calculator and Initial State, the wrong information emerges as following,
Traceback (most recent call last):
File "c:\users\xiaoteng\appdata\local\temp\5597627426442390.py", line 519, in <module>
initial_state=old_calculation,
File ".\zipdir\NL\CommonConcepts\Configurations\DeviceConfiguration.py", line 496, in setCalculator
NL.ComputerScienceUtilities.Exceptions.NLValueError: The initial state must have the same spin type as the new configuration.
+------------------------------------------------------------------------------+
| NanoLanguageScript execution finished
The parameter of the first Initial State :user spin, and the spin type of each atom is set as 0.
The parameter of the second Initial State :use old calculation, and the filename is the first .nc file.
So Where is the problem ? |
-
Could you enclose the python script related to your calculation? What is the ATK version you are using?
-
Sorry, I didnot save the script.
The calculation of the first set of New Calculator and Initial State is normal, Left Electrode Calculation, Right Electrode Calculation and then Device DFT Calculation. And all of them are converged. When beginning with the second set of New Calculator and Initial State, I got the error message.
Traceback (most recent call last):
File "c:\users\xiaoteng\appdata\local\temp\5597627426442390.py", line 519, in <module>
initial_state=old_calculation,
File ".\zipdir\NL\CommonConcepts\Configurations\DeviceConfiguration.py", line 496, in setCalculator
NL.ComputerScienceUtilities.Exceptions.NLValueError: The initial state must have the same spin type as the new configuration.
+------------------------------------------------------------------------------+
| NanoLanguageScript execution finished
I used the 2014.3 version.
The problem maybe lying in the spin type. Can the initial state of the first set be set as 0? I tried
the band struture with soc, the initial state of the first set being 1, and finally got the right result.
-
Is there still a problem to be solved here?
-
Yes, I want to get a feasible manner to calculate the SCF with spin orbit coupling for the device because it is hard to converge when adding SOC.
-
This is the python script that I used for the first time. But it appeared error!
-
Restarting a calculation from a ground state with a different spin type is not supported by ATK 2014, but is supported in later releases. You therefore have 2 options:
1) By a newer version of ATK (2016.4 was recently released).
2) Avoid restarting from a SGGA ground state; go instead directly for the SOGGA ground state. This may or may not give problems with SCF convergence.
-
But, why can I do the bandstructure calculation with SOC using the method for the bulk? And I can get the right result .
I set as follow:
Bulk
New Calculater
Initial state
Bandstructure
New Calculater
Initial state
Bandstructure
-
I guess you can do it in this way indeed, provided that the spin type is consistently used through all these computational steps, as you have actually done, and this is why it worked for you.
-
Thank you for your patience!