Hello,
I'm looking for help regarding changing the temperature of a two probe calculation. I've carried out a calculation at a higher temperature, and now want to bring the temperature down, using the electronic structure generated at the higher temp as a starting point. The script I've made (for ATK 10.8.2) is:
# Load config and define: calc, NAP
config = nlread('Mo2Cl9-S3-0.6V-hiT.nc', object_id='gID000')[0]
calculator = config.calculator()
NAP = NumericalAccuracyParameters(electron_temperature = 300.0*Kelvin)
# Change temp
config.setCalculator(calculator(numerical_accuracy_parameters = NAP))
# Run SCF and save
config.update()
nlsave('Mo2Cl9-S3-0.6V-loT.nc')
However, I encounter this error:
terminate called after throwing an instance of 'PhysicsException'
terminate called after throwing an instance of 'PhysicsException'
terminate called after throwing an instance of 'PhysicsException'
Center = 107, Left = 97
** Back Engine Exception 29 : central and left electrode has different grid size in i direction
** Location : electrodeutils.cpp:126
Center = 107, Left = 97
** Back Engine Exception 29 : central and left electrode has different grid size in i direction
** Location : electrodeutils.cpp:126
Center = 107, Left = 97
** Back Engine Exception 29 : central and left electrode has different grid size in i direction
** Location : electrodeutils.cpp:126
Center = 107, Left = 97
** Back Engine Exception 29 : central and left electrode has different grid size in i direction
** Location : electrodeutils.cpp:126
rank 5 in job 146 spartan_34202 caused collective abort of all ranks
exit status of rank 5: killed by signal 9
Center = 107, Left = 97
** Back Engine Exception 29 : central and left electrode has different grid size in i direction
** Location : electrodeutils.cpp:126
Both the left and right electrode calculations converge, but on starting the "Device Density Matrix Calculation", this error is thrown up. I'd appreciate any help with either what I'm trying to accomplish, or the error message.
Thanks, Vit
As I suspected. It would seem this is a bug that needs fixing, although I haven't verified it completely yet. For now, to avoid problems, I suggest you rerun the original high-T system with the default mesh (shouldn't make a big difference in time) OR experiment with
NAP = NumericalAccuracyParameters(grid_mesh_cutoff=125.0*Rydberg,
electron_temperature = 300.0*Kelvin)
Turns out, it's not a bug, although even I was confused at first. The trick is to clone also the numerical accuracy parameters! Try this:
# Load config and define: calc, NAP
config = nlread('Mo2Cl9-S3-0.6V-hiT.nc', object_id='gID000')[0]
calculator = config.calculator()
NAP = calculator.numericalAccuracyParameters()(electron_temperature = 300.0*Kelvin)
config.setCalculator(calculator(numerical_accuracy_parameters=NAP))
# Change temp
config.setCalculator(calculator(numerical_accuracy_parameters = NAP))
# Run SCF and save
config.update()
nlsave('Mo2Cl9-S3-0.6V-loT.nc')