Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - jdgayles16

Pages: [1] 2 3 ... 8
1
Thanks very much for the script,

How would you change the script to average along a different axis

2
I get the error

 Back Engine Exception 92 : Too large a difference in calculated transmissions has been detected among processes
** Location : calculatetransmissioncoefficient.cpp:164

any ideas what i did wrong?

this is my script
Code
from NanoLanguage import *
from numpy import *

configuration = nlread("CGsupergap.nc", object_id="gID000")[0]



#setup energies, and calculate DOS
x1= numpy.linspace(-1,1,20)
x2= numpy.linspace(-0.628,-0.622,15)
x3= numpy.linspace(0.27,0.31,10)
energies= numpy.hstack((x1,x2,x3)) * eV
dos = TransmissionSpectrum(configuration, energies=energies,kpoints=MonkhorstPackGrid(1,1,1),
energy_zero_parameter=AverageFermiLevel,
infinitesimal=1e-06*Units.eV,
self_energy_calculator=KrylovSelfEnergy() )

dos1 = DeviceDensityOfStates(configuration, energies=energies,
kpoints=MonkhorstPackGrid(1,1,1),
    contributions=All,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    self_energy_calculator=KrylovSelfEnergy())

nlsave('CGsupergap.nc', dos)
nlsave('CGsupergap.nc', dos1)


3
General Questions and Answers / Re: LDOS ATK 11.2 alpha version
« on: January 21, 2011, 00:02 »
I tried with the li-h2 tutorial and i get similar results. I will attach my script and a picture.



Code: python
###############################################################
# TwoProbe configuration
###############################################################

###############################################################
# Left electrode
###############################################################

# Set up lattice
vector_a = [10.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 10.0, 0.0]*Angstrom
vector_c = [0.0, 0.0, 6.6]*Angstrom
left_electrode_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
left_electrode_elements = [Lithium, Lithium, Lithium]

# Define coordinates
left_electrode_coordinates = [[ 5. ,  5. ,  1.1],
                              [ 5. ,  5. ,  3.3],
                              [ 5. ,  5. ,  5.5]]*Angstrom

# Set up configuration
left_electrode = BulkConfiguration(
    bravais_lattice=left_electrode_lattice,
    elements=left_electrode_elements,
    cartesian_coordinates=left_electrode_coordinates
    )

###############################################################
# Right electrode
###############################################################

# Set up lattice
vector_a = [10.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 10.0, 0.0]*Angstrom
vector_c = [0.0, 0.0, 6.6]*Angstrom
right_electrode_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
right_electrode_elements = [Lithium, Lithium, Lithium]

# Define coordinates
right_electrode_coordinates = [[ 5. ,  5. ,  1.1],
                               [ 5. ,  5. ,  3.3],
                               [ 5. ,  5. ,  5.5]]*Angstrom

# Set up configuration
right_electrode = BulkConfiguration(
    bravais_lattice=right_electrode_lattice,
    elements=right_electrode_elements,
    cartesian_coordinates=right_electrode_coordinates
    )

###############################################################
# Central region
###############################################################

# Set up lattice
vector_a = [10.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 10.0, 0.0]*Angstrom
vector_c = [0.0, 0.0, 24.9]*Angstrom
central_region_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
central_region_elements = [Lithium, Lithium, Lithium, Lithium, Lithium, Hydrogen, Hydrogen,
                           Lithium, Lithium, Lithium, Lithium, Lithium]

# Define coordinates
central_region_coordinates = [[  5. ,   5. ,   1.1],
                              [  5. ,   5. ,   3.3],
                              [  5. ,   5. ,   5.5],
                              [  5. ,   5. ,   7.7],
                              [  5. ,   5. ,   9.9],
                              [  5. ,   5. ,  12.1],
                              [  5. ,   5. ,  12.8],
                              [  5. ,   5. ,  15. ],
                              [  5. ,   5. ,  17.2],
                              [  5. ,   5. ,  19.4],
                              [  5. ,   5. ,  21.6],
                              [  5. ,   5. ,  23.8]]*Angstrom

# Set up configuration
central_region = BulkConfiguration(
    bravais_lattice=central_region_lattice,
    elements=central_region_elements,
    cartesian_coordinates=central_region_coordinates
    )

device_configuration = DeviceConfiguration(
    central_region,
    [left_electrode, right_electrode]
    )

###############################################################
# Calculator
###############################################################
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = GGABasis.DoubleZetaPolarized

#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = GGA.PBE

#----------------------------------------
# Numerical Accuracy Settings
#----------------------------------------
left_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(1, 1, 100),
    )

right_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(1, 1, 100),
    )

#----------------------------------------
# Iteration Control Settings
#----------------------------------------
left_electrode_iteration_control_parameters = IterationControlParameters(
    linear_dependence_threshold=4e-05,
    )

right_electrode_iteration_control_parameters = IterationControlParameters(
    linear_dependence_threshold=4e-05,
    )

#----------------------------------------
# Poisson Solver Settings
#----------------------------------------
left_electrode_poisson_solver = MultigridSolver(
    boundary_conditions=[[PeriodicBoundaryCondition,PeriodicBoundaryCondition],
                         [PeriodicBoundaryCondition,PeriodicBoundaryCondition],
                         [PeriodicBoundaryCondition,PeriodicBoundaryCondition]]
    )

right_electrode_poisson_solver = MultigridSolver(
    boundary_conditions=[[PeriodicBoundaryCondition,PeriodicBoundaryCondition],
                         [PeriodicBoundaryCondition,PeriodicBoundaryCondition],
                         [PeriodicBoundaryCondition,PeriodicBoundaryCondition]]
    )

#----------------------------------------
# Electrode Calculators
#----------------------------------------
left_electrode_calculator = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    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 = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    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 = DeviceLCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    electrode_calculators=
        [left_electrode_calculator, right_electrode_calculator],
    )

device_configuration.setCalculator(calculator)
nlprint(device_configuration)
device_configuration.update()
nlsave('analysis.nc', device_configuration)

local_device_density_of_states = LocalDeviceDensityOfStates(
    configuration=device_configuration,
    energy=0*eV,
    kpoints=MonkhorstPackGrid(1,1,1),
    contributions=All,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    self_energy_calculator=KrylovSelfEnergy(),
    spin=Spin.Up,
    )
nlsave('analysis.nc', local_device_density_of_states)

4
General Questions and Answers / Re: LDOS ATK 11.2 alpha version
« on: January 20, 2011, 21:32 »
I keep getting images like this for the ldos, whatever the system

5
General Questions and Answers / Re: LDOS ATK 11.2 alpha version
« on: January 16, 2011, 07:29 »
I tried some other systems and all my results look exactly the same, I guess have to re-converge in the new version, which should be quicker now =)

6
General Questions and Answers / LDOS ATK 11.2 alpha version
« on: January 16, 2011, 00:21 »
Hi,

Can I use old .nc from 10.2 to calculate the LDOS with the new alpha version? I tried and I get some pictures I dont really understand. I thought it would be similar to results i got with atk 2008.

7
General Questions and Answers / Re: mulliken population
« on: January 3, 2011, 18:10 »
Question: Should the mulliken population change with the voltage, if the occupation of my homo is changing with the voltage?

8
General Questions and Answers / mulliken population
« on: December 23, 2010, 00:52 »
Is there a way to use the projection list mulliken_population = MullikenPopulation(configuration=configuration) like mpsh function?

9
General Questions and Answers / Re: workfunction new ATK
« on: November 20, 2010, 02:13 »
I increase the interaction max range it seems to work fine. i get pretty good results (exp) Al is 4.29 eV (4.25 eV), Ag is 4.36 eV (4.30 eV) and graphene I get 4.69 eV (4.6 eV). I think graphene is the nicest because there is only one layer and i increased the cell to 4x4.

also i attached the script where i get the error.


10
General Questions and Answers / Re: workfunction new ATK
« on: November 19, 2010, 20:40 »
I tried with out changing the interaction max range and i get these errors

terminate called after throwing an instance of 'MathException'

and


** Back Engine Exception 541 : Diagonalization error, overlap matrix not positive definite, try to increase interaction_max_range
** Location : mathutils.cpp:1037

11
General Questions and Answers / Re: workfunction new ATK
« on: November 18, 2010, 23:45 »
thanks I get 4.29 eV for AL (100) and  4.36 eV for Ag(100)  however i didn't adjust the confnement, maybe that will help the accuracy.

12
General Questions and Answers / Re: workfunction new ATK
« on: November 18, 2010, 18:32 »
I don think so, do i have to change it for each orbital(s,p...)? is that the radial_cutoff_radius?

Also what about the interaction range?

13
General Questions and Answers / Re: workfunction new ATK
« on: November 17, 2010, 19:06 »
Sorry for not being so clear, I am using Aluminum, and it is exactly the same as the tutorial, with 12*12*1 kpionts

14
General Questions and Answers / workfunction new ATK
« on: November 17, 2010, 07:27 »
I want to calculate the work function, can I calculate it the same way it was calculated in atk2008? I tried and I get 4.037 eV

15
General Questions and Answers / Re: convergence
« on: November 15, 2010, 21:47 »
Temperature usually solves a lot of problems for me, but i went with using smaller steps because I wanted my temp to be consistent with previous runs. The Smaller steps worked =)

Pages: [1] 2 3 ... 8