While, calculating the Hamiltonian derivatives....as depicted in the tutorial....
http://quantumwise.com/publications/tutorials/item/837-inelastic-transmission............, I was getting an error -->
______________________________
Traceback (most recent call last):
File "/home/dipankar_saha/Desktop/June15/si_pn_dHdR_Vogl_nonscf.py", line 88, in <module>
use_equivalent_bulk=False,
File "./zipdir/NL/Analysis/HamiltonianDerivatives.py", line 109, in __init__
File "./zipdir/NL/Analysis/HamiltonianDerivatives.py", line 308, in calculateHamiltonianDerivatives
File "./zipdir/NL/CommonConcepts/Configurations/DeviceConfiguration.py", line 76, in __init__
File "./zipdir/NL/CommonConcepts/Configurations/DeviceConfiguration.py", line 1344, in TwoProbeGeometryCheck
NL.ComputerScienceUtilities.Exceptions.NLValueError: The first 36 atoms of the central region must match the first 36 atoms of the left electrode region.
Atom 4 of the central region was NL.CommonConcepts.PeriodicTable.Silicon at (1.92000704296 Ang, 0.0 Ang, 6.109225 Ang),
it should have been NL.CommonConcepts.PeriodicTable.Silicon at (1.92000704296 Ang, 3.84001408591 Ang, 0.678625 Ang).
...
To avoid this.....I changed the script slightly....as shown below_
#----------------------------------------
# Device Calculator
#----------------------------------------
calculator = DeviceSlaterKosterCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=device_numerical_accuracy_parameters,
iteration_control_parameters=device_iteration_control_parameters,
contour_parameters=contour_parameters,
spin_polarization=Unpolarized,
electrode_calculators=
[left_electrode_calculator, right_electrode_calculator],
)
device_configuration.setCalculator(calculator)
nlprint(device_configuration)
device_configuration.update()
nlsave('/home/dipankar_saha/Desktop/June15/si_pn_dHdR_chk.nc', device_configuration)
# -------------------------------------------------------------
# Hamiltonian derivatives
# -------------------------------------------------------------
hamiltonian_derivatives = HamiltonianDerivatives(
configuration=device_configuration,
repeats=(1, 1, 1),
atomic_displacement=0.01*Angstrom,
use_equivalent_bulk=True,
)
nlsave('/home/dipankar_saha/Desktop/June15/si_pn_dHdR_chk.nc', hamiltonian_derivatives)
...
After that, I have got the "hamiltonian_derivatives" ......../ but while using the three *.nc files......si_pn_dHdR_chk.nc , ivcurve_selfconsistent_configurations.nc, and Si_pn_Vogl_dynamical_matrix.nc ....together to find the
Inelastic transmission spectrum ....... I am finding again another error.....
Traceback (most recent call last):
File "/home/dipankar_saha/Desktop/June15/IET_loop.py", line 8, in <module>
dynamical_matrix = nlread("/home/dipankar_saha/Desktop/June15/Si_pn_Vogl_dynamical_matrix.nc",DynamicalMatrix)[0]
File "./zipdir/NL/IO/NLSaveUtilities.py", line 401, in nlread
File "./zipdir/NL/ComputerScienceUtilities/Timer.py", line 45, in __call__
File "./zipdir/NL/IO/NLSaveUtilities.py", line 401, in <lambda>
File "./zipdir/NL/Analysis/DynamicalMatrix.py", line 690, in nlreadDynamicalMatrix
KeyError: 'max_interaction_range'...
What could be the possible reason ??!!!
Regards_
Dipankar