I am getting following error :
Traceback (most recent call last):
File "c:/users/nano/appdata/local/temp/tmpuqo2g4.nl", line 487, in ?
runtime_parameters = runtime_parameters
ATKError: bad allocation
Terminated Abnormally
I have checked my c drive but there is no such folder or file. Than what is meaning of line 487.
Also please tell me about mistake of my script
My script is:
from ATK.TwoProbe import *
from ATK.MPI import processIsMaster
# Generate time stamp
if processIsMaster():
import platform, time
print '#',time.ctime()
print '#',platform.node(),platform.platform()+'\n'
# Opening vnlfile
if processIsMaster(): file = VNLFile('C:/Users/Nano/Desktop/apt chrismas/apt1.vnl')
# Scattering elements and coordinates
scattering_elements = [Platinum, Platinum, Platinum, Platinum,
Platinum, Platinum, Platinum, Platinum,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon,
Platinum, Platinum, Platinum, Platinum,
Platinum, Platinum]
scattering_coordinates = [[ 0. , 0. , 7.84800005],
[ 0. , 2.77468705, 7.84800005],
[ 2.77468705, 0. , 7.84800005],
[ 2.77468705, 2.77468705, 7.84800005],
[ 1.38734353, 4.1620307 , 9.81000042],
[ 1.38734353, 1.38734353, 9.81000042],
[ 4.1620307 , 4.1620307 , 9.81000042],
[ 4.1620307 , 1.38734353, 9.81000042],
[ 4.31650639, 2.95859623, 13.7 ],
[ 4.31650639, 2.95859623, 16.16297622],
[ 4.31650639, 2.95859623, 18.62595243],
[ 2.95859623, 4.31650639, 14.93148811],
[ 2.95859623, 4.31650639, 17.39446445],
[ 1.60068655, 2.95859623, 13.7 ],
[ 1.60068655, 2.95859623, 16.16297622],
[ 1.60068655, 2.95859623, 18.62595243],
[ 2.95859623, 1.60068655, 14.93148811],
[ 2.95859623, 1.60068655, 17.39446445],
[ 3.63755131, 4.13458109, 13.7 ],
[ 3.63755131, 4.13458109, 16.16297622],
[ 3.63755131, 4.13458109, 18.62595243],
[ 1.78261185, 3.63755131, 14.93148811],
[ 1.78261185, 3.63755131, 17.39446445],
[ 2.27964163, 1.78261185, 13.7 ],
[ 2.27964163, 1.78261185, 16.16297622],
[ 2.27964163, 1.78261185, 18.62595243],
[ 4.13458109, 2.27964163, 14.93148811],
[ 4.13458109, 2.27964163, 17.39446445],
[ 2.77468705, 2.77468705, 11.77200005],
[ 2.77468705, 2.77468705, 20.59799979],
[ 4.1620307 , 1.38734353, 22.56000056],
[ 4.1620307 , 4.1620307 , 22.56000056],
[ 1.38734353, 1.38734353, 22.56000056],
[ 1.38734353, 4.1620307 , 22.56000056]]*Angstrom
electrode_elements = [Platinum, Platinum, Platinum, Platinum]
electrode_coordinates = [[ 0. , 0. , 0. ],
[ 1.3873435, 1.3873435, 1.962 ],
[ 0. , 0. , 3.924 ],
[ 1.3873435, 1.3873435, 5.886 ]]*Angstrom
electrode_cell = [[ 2.77468701, 0. , 0. ],
[ 0. , 2.77468701, 0. ],
[ 0. , 0. , 7.848 ]]*Angstrom
# Set up electrodes
electrode_configuration = PeriodicAtomConfiguration(
electrode_cell,
electrode_elements,
electrode_coordinates
)
# Set up two-probe configuration
twoprobe_configuration = TwoProbeConfiguration(
(electrode_configuration,electrode_configuration),
scattering_elements,
scattering_coordinates,
electrode_repetitions=[[2,2],[2,2]],
equivalent_atoms=([0,0],[3,30])
)
if processIsMaster(): nlPrint(twoprobe_configuration)
if processIsMaster(): file.addToSample(twoprobe_configuration, 'twoprobe_configuration')
######################################################################
# Central region parameters
######################################################################
exchange_correlation_type = LDA.PZ
iteration_mixing_parameters = iterationMixingParameters(
algorithm = IterationMixing.Pulay,
diagonal_mixing_parameter = 0.05,
quantity = IterationMixing.Hamiltonian,
history_steps = 6
)
electron_density_parameters = electronDensityParameters(
mesh_cutoff = 200.0*Rydberg
)
basis_set_parameters = basisSetParameters(
type = DoubleZetaPolarized,
radial_sampling_dr = 0.001*Bohr,
energy_shift = 0.01*Rydberg,
delta_rinn = 0.8,
v0 = 40.0*Rydberg,
charge = 0.0,
split_norm = 0.15
)
iteration_control_parameters = iterationControlParameters(
tolerance = 1e-005,
criterion = IterationControl.TotalEnergy,
max_steps = 110
)
electrode_voltages = (-0.1,0.1)*Volt
two_probe_algorithm_parameters = twoProbeAlgorithmParameters(
electrode_constraint = ElectrodeConstraints.Off,
initial_density_type = InitialDensityType.EquivalentBulk
)
energy_contour_integral_parameters = energyContourIntegralParameters(
circle_points = 30,
integral_lower_bound = 3.0*Rydberg,
fermi_line_points = 10,
fermi_function_poles = 4,
real_axis_infinitesimal = 0.01*electronVolt,
real_axis_point_density = 0.02*electronVolt
)
two_center_integral_parameters = twoCenterIntegralParameters(
cutoff = 2500.0*Rydberg,
points = 1024
)
######################################################################
# Left electrode parameters
######################################################################
left_electrode_electron_density_parameters = electronDensityParameters(
mesh_cutoff = 200.0*Rydberg
)
left_electrode_iteration_control_parameters = iterationControlParameters(
tolerance = 1e-005,
criterion = IterationControl.TotalEnergy,
max_steps = 110
)
left_electrode_brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters(
monkhorst_pack_parameters = (5, 5, 500)
)
left_electrode_iteration_mixing_parameters = iterationMixingParameters(
algorithm = IterationMixing.Pulay,
diagonal_mixing_parameter = 0.05,
quantity = IterationMixing.Hamiltonian,
history_steps = 6
)
left_electrode_eigenstate_occupation_parameters = eigenstateOccupationParameters(
temperature = 2000.0*Kelvin
)
######################################################################
# Collect left electrode parameters
######################################################################
left_electrode_parameters = ElectrodeParameters(
brillouin_zone_integration_parameters = left_electrode_brillouin_zone_integration_parameters,
electron_density_parameters = left_electrode_electron_density_parameters,
eigenstate_occupation_parameters = left_electrode_eigenstate_occupation_parameters,
iteration_mixing_parameters = left_electrode_iteration_mixing_parameters,
iteration_control_parameters = left_electrode_iteration_control_parameters
)
######################################################################
# Right electrode parameters
######################################################################
right_electrode_electron_density_parameters = electronDensityParameters(
mesh_cutoff = 200.0*Rydberg
)
right_electrode_iteration_control_parameters = iterationControlParameters(
tolerance = 1e-005,
criterion = IterationControl.TotalEnergy,
max_steps = 110
)
right_electrode_brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters(
monkhorst_pack_parameters = (5, 5, 500)
)
right_electrode_iteration_mixing_parameters = iterationMixingParameters(
algorithm = IterationMixing.Pulay,
diagonal_mixing_parameter = 0.05,
quantity = IterationMixing.Hamiltonian,
history_steps = 6
)
right_electrode_eigenstate_occupation_parameters = eigenstateOccupationParameters(
temperature = 2000.0*Kelvin
)
######################################################################
# Collect right electrode parameters
######################################################################
right_electrode_parameters = ElectrodeParameters(
brillouin_zone_integration_parameters = right_electrode_brillouin_zone_integration_parameters,
electron_density_parameters = right_electrode_electron_density_parameters,
eigenstate_occupation_parameters = right_electrode_eigenstate_occupation_parameters,
iteration_mixing_parameters = right_electrode_iteration_mixing_parameters,
iteration_control_parameters = right_electrode_iteration_control_parameters
)
######################################################################
# Initialize self-consistent field calculation
######################################################################
two_probe_method = TwoProbeMethod(
electrode_parameters = (left_electrode_parameters,right_electrode_parameters),
exchange_correlation_type = exchange_correlation_type,
iteration_mixing_parameters = iteration_mixing_parameters,
electron_density_parameters = electron_density_parameters,
basis_set_parameters = basis_set_parameters,
iteration_control_parameters = iteration_control_parameters,
energy_contour_integral_parameters = energy_contour_integral_parameters,
two_center_integral_parameters = two_center_integral_parameters,
electrode_voltages = electrode_voltages,
algorithm_parameters = two_probe_algorithm_parameters
)
if processIsMaster(): nlPrint(two_probe_method)
runtime_parameters = runtimeParameters(
verbosity_level = 10,
checkpoint_filename = 'C:/Users/Nano/Desktop/apt chrismas/apt1.nc'
)
# Perform self-consistent field calculation
scf = executeSelfConsistentCalculation(
twoprobe_configuration,
two_probe_method,
runtime_parameters = runtime_parameters
)
######################################################################
# Calculate physical properties
######################################################################
current = calculateCurrent(
self_consistent_calculation = scf,
brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters((1, 1)),
green_function_infinitesimal = 1.0e-5*electronVolt,
number_of_points = 100
)
if processIsMaster(): nlPrint(current)
if processIsMaster(): file.addToSample(current, 'twoprobe_configuration', 'Current')
local_density_of_states = calculateLocalDensityOfStates(
self_consistent_calculation = scf,
energy = 0.0*electronVolt,
quantum_number = (0.0,0.0),
green_function_infinitesimal = 1.0e-5*electronVolt
)
if processIsMaster(): file.addToSample(local_density_of_states, 'twoprobe_configuration', 'Local Density Of States')
transmission_coefficients = calculateTransmissionCoefficients(
self_consistent_calculation = scf,
energy = 0.0*electronVolt,
quantum_numbers = ((0.0,0.0),(0.5,0.5)),
green_function_infinitesimal = 1.0e-5*electronVolt
)
if processIsMaster(): nlPrint(transmission_coefficients)
if processIsMaster(): file.addToSample(transmission_coefficients, 'twoprobe_configuration', 'Transmission Coefficients')
transmission_spectrum = calculateTransmissionSpectrum(
self_consistent_calculation = scf,
energies = (0.0,)*electronVolt,
brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters((1, 1)),
green_function_infinitesimal = 1.0e-5*electronVolt
)
if processIsMaster(): nlPrint(transmission_spectrum)
if processIsMaster(): file.addToSample(transmission_spectrum, 'twoprobe_configuration', 'Transmission Spectrum')
mulliken_population = calculateMullikenPopulation(self_consistent_calculation = scf)
if processIsMaster(): nlPrint(mulliken_population)
if processIsMaster(): file.addToSample(mulliken_population, 'twoprobe_configuration', 'Mulliken Population')
electron_density = calculateElectronDensity(self_consistent_calculation = scf)
if processIsMaster(): file.addToSample(electron_density, 'twoprobe_configuration', 'Electron Density')
transmission_eigenstates = calculateTransmissionEigenstates(
self_consistent_calculation = scf,
energy = 0.0*electronVolt,
quantum_numbers = (0,((0.0,0.0),(0.5,0.5)))
)
for state_index,state in enumerate(transmission_eigenstates):
label='Transmission Eigenstates'+' '+str(state_index)
if processIsMaster(): file.addToSample(state, 'twoprobe_configuration', label)
transmission_eigenvalues = calculateTransmissionEigenvalues(
self_consistent_calculation = scf,
energy = 0.0*electronVolt,
quantum_numbers = ((0.0,0.0),(0.5,0.5))
)
if processIsMaster(): nlPrint(transmission_eigenvalues)
for value_index,transmission_eigenvalue in enumerate(transmission_eigenvalues):
label='Transmission Eigenvalues'+' '+str(value_index)
if processIsMaster(): file.addToSample(transmission_eigenvalue, 'twoprobe_configuration', label)