8
« on: December 26, 2014, 06:26 »
hi anders blom,
sorry for not giving information .I am attaching snapshot of the error coming during the simulation. It shows memory error but there are some others error too.please suggest me about the remaining errors. i am also attaching script of my geometry.
# Set up configuration
central_region = BulkConfiguration(
bravais_lattice=central_region_lattice,
elements=central_region_elements,
cartesian_coordinates=central_region_coordinates
)
# Add metallic region
metallic_region_0 = TubeRegion(
0.0*Volt,
start_point = [23.9255, 23.9255, 10.0]*Angstrom,
end_point = [23.9255, 23.9255, 91.46]*Angstrom,
inner_radius = 15.0*Angstrom,
thickness = 1.0*Angstrom,
)
metallic_regions = [metallic_region_0]
central_region.setMetallicRegions(metallic_regions)
# Add dielectric region
dielectric_region_0 = TubeRegion(
25.0,
start_point = [23.9255, 23.9255, 10.0]*Angstrom,
end_point = [23.9255, 23.9255, 91.46]*Angstrom,
inner_radius = 5.0*Angstrom,
thickness = 10.0*Angstrom,
)
dielectric_regions = [dielectric_region_0]
central_region.setDielectricRegions(dielectric_regions)
device_configuration = DeviceConfiguration(
central_region,
[left_electrode, right_electrode]
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
CerdaHuckelParameters.Carbon_graphite_Basis,
CerdaHuckelParameters.Carbon_graphite_Basis,
]
#----------------------------------------
# Numerical Accuracy Settings
#----------------------------------------
left_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
electron_temperature=1200.0*Kelvin,
k_point_sampling=(1, 1, 300),
density_mesh_cutoff=150.0*Hartree,
)
right_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
electron_temperature=1200.0*Kelvin,
k_point_sampling=(1, 1, 300),
density_mesh_cutoff=150.0*Hartree,
)
device_numerical_accuracy_parameters = NumericalAccuracyParameters(
electron_temperature=1200.0*Kelvin,
k_point_sampling=(1, 1, 300),
density_mesh_cutoff=150.0*Hartree,
)
#----------------------------------------
# Iteration Control Settings
#----------------------------------------
left_electrode_iteration_control_parameters = IterationControlParameters()
right_electrode_iteration_control_parameters = IterationControlParameters()
device_iteration_control_parameters = IterationControlParameters()
#----------------------------------------
# Poisson Solver Settings
#----------------------------------------
left_electrode_poisson_solver = MultigridSolver(
boundary_conditions=[[NeumannBoundaryCondition,NeumannBoundaryCondition],
[NeumannBoundaryCondition,NeumannBoundaryCondition],
[PeriodicBoundaryCondition,PeriodicBoundaryCondition]]
)
right_electrode_poisson_solver = MultigridSolver(
boundary_conditions=[[NeumannBoundaryCondition,NeumannBoundaryCondition],
[NeumannBoundaryCondition,NeumannBoundaryCondition],
[PeriodicBoundaryCondition,PeriodicBoundaryCondition]]
)
device_poisson_solver = MultigridSolver(
boundary_conditions=[[NeumannBoundaryCondition,NeumannBoundaryCondition],
[NeumannBoundaryCondition,NeumannBoundaryCondition],
[DirichletBoundaryCondition,DirichletBoundaryCondition]]
)
#----------------------------------------
# Device Algorithm Settings
#----------------------------------------
device_algorithm_parameters = DeviceAlgorithmParameters(
initial_density_type=EquivalentBulk(electrode_constraint_length=10.0*Angstrom),
)
#----------------------------------------
# Electrode Calculators
#----------------------------------------
left_electrode_calculator = HuckelCalculator(
basis_set=basis_set,
charge=-.01,
numerical_accuracy_parameters=left_electrode_numerical_accuracy_parameters,
iteration_control_parameters=left_electrode_iteration_control_parameters,
poisson_solver=left_electrode_poisson_solver,
)
right_electrode_calculator = HuckelCalculator(
basis_set=basis_set,
charge=-.01,
numerical_accuracy_parameters=right_electrode_numerical_accuracy_parameters,
iteration_control_parameters=right_electrode_iteration_control_parameters,
poisson_solver=right_electrode_poisson_solver,
)
#----------------------------------------
# Device Calculator
#----------------------------------------
calculator = DeviceHuckelCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=device_numerical_accuracy_parameters,
iteration_control_parameters=device_iteration_control_parameters,
poisson_solver=device_poisson_solver,
device_algorithm_parameters=device_algorithm_parameters,
spin_polarization=Unpolarized,
electrode_calculators=
[left_electrode_calculator, right_electrode_calculator],
)
device_configuration.setCalculator(calculator)
nlprint(device_configuration)
device_configuration.update()
nlsave('ex7gate10.nc', device_configuration)
# -------------------------------------------------------------
# Transmission spectrum
# -------------------------------------------------------------
transmission_spectrum = TransmissionSpectrum(
configuration=device_configuration,
energies=numpy.linspace(-2,2,101)*eV,
kpoints=MonkhorstPackGrid(1,1),
energy_zero_parameter=AverageFermiLevel,
infinitesimal=1e-06*eV,
self_energy_calculator=RecursionSelfEnergy(),
)
nlsave('ex7gate10.nc', transmission_spectrum)
nlprint(transmission_spectrum)