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.


Topics - Hasan Sahin

Pages: [1]
1
Hello,

I plot HOMO and LUMO levels within VNL. Different options of VNL such as sign, magnitude and value yield same isosurface (only the color format is changed). Why are they same, what is the definition ? What do we visualize in vnl ?

2
How the vacuum level can be calculated by using ATK ?  Is there any command or script for this job ?

3
Do we have to use metallic electrodes during ATK calculations? Does the theory used by ATK have objection to semiconducting electrodes ? Thanks to shifts in levels due to changing bias, can't we calculate any current throught the molecular device at some voltage values.

4
Hello, I use the script given in ATK tutorial but it works only for unpolarized systems. How I must modify it to get up and down spin transmissions.

The script is :

from ATK.TwoProbe import *
from ATK.MPI import processIsMaster

old_scf_zero_bias = \
    restoreSelfConsistentCalculation("bare.nc")

temporary_list = range(-50,50,1)
energy_list = []
for i in temporary_list:
    energy_list.append(i/10.0)

trans_spectrum = calculateTransmissionSpectrum(
       old_scf_zero_bias,
       energies = energy_list*electronVolt
       )

trans_energy = trans_spectrum.energies()
trans_coeff = trans_spectrum.coefficients()
trans_energy = trans_energy.tolist()
trans_energy.reverse()
trans_coeff = trans_coeff.tolist()
trans_coeff.reverse()

while len(trans_energy)>0:
    if processIsMaster(): print trans_energy.pop(),'\t',trans_coeff.pop()

5
Hello,

I want to read datas from nc files named as ,for example,  a1.5.nc, a1.6.nc, a1.7.nc, a1.8.nc, a1.9.nc,

How can I restore these scf calcualtions for reading datas with float command.

6
General Questions and Answers / How to get net electron density ?
« on: September 29, 2009, 15:17 »
How can I get net electron density (ChargeUP-ChargeDOWN) and store it as a VNL file ?

7
General Questions and Answers / Smearing the I-V curve
« on: April 2, 2009, 12:50 »
Hello,

I tried to calculate an I-V curve with 0.005 volt steps and I see that there are some peaks. Interestingly, there is no physical reason (any molecular state causing NDR etc.) for these peaks. I guess that I can solve these meaningless peaks by a smearing correction but I dont know how to do this.   

8
General Questions and Answers / Isovalue in VNL
« on: March 7, 2009, 19:24 »
How and Why ATK set an isovalue when I plot Charge density or LDOS. I see that it chooses different default isovalues for different charge densities. Why doesnt it plots with same default parameters?

9
General Questions and Answers / Titanium chain; lattice constant
« on: January 20, 2009, 10:55 »
By using the examples for Li chain optimization in ATKmanual, I tried to calculate lattice constant of Titanium linear chain.
Lattice constant must be around 2.3 Angstrom for linear chains but my result is around 0.7 Angstrom. (see attachment)
What is wrong in this simple calculation ?



my script:


# Set the basis set to be SZ
basis_set = basisSetParameters(type=DoubleZetaDoublePolarized)

# Define the density grid cut-off
electron_density_params = electronDensityParameters(
    mesh_cutoff=150*Rydberg
    )

# Define the k-point sampling
bz_integration = brillouinZoneIntegrationParameters( (1,1,100) )

# Define the DFT method
dft_method = KohnShamMethod(
    basis_set_parameters=basis_set,
    brillouin_zone_integration_parameters=bz_integration,
    electron_density_parameters=electron_density_params
    )

# Open file for storing the results
f = open('lattice.dat', 'w')

# Loop over lattice constants
import numpy
for c in numpy.arange(0.5,5.5,0.1):

    # Create the unit cell for 1D chain
    unit_cell = [[10.0,  0.0, 0.0],
                 [ 0.0, 10.0, 0.0],
                 [ 0.0,  0.0,  c ]]*Angstrom

    # Create the atomic configuration
    ti_chain = PeriodicAtomConfiguration(unit_cell,[Titanium],
                                         [ (0.0, 0.0, 0.0)*Angstrom ] )
   
    # Execute the self-consistent calculation
    dft_calculation = dft_method.apply(ti_chain)
   
    # Calculate the system energy
    energy = calculateTotalEnergy(dft_calculation)
   
    # Write lattice constant and energy to file and screen
    s = '%.4f %.10f \n' % (c, energy.inUnitsOf(Rydberg))
    f.write(s)
    print s,

# Close file and exit
f.close()

10
General Questions and Answers / unexpected peaks in IV curves
« on: January 11, 2009, 16:03 »
I calculated an IV curve and plotted spin up-spin down currents.(see attachment) There are unexpected peaks...

Calculation was tested for various parameters

1- DZP and DZ
2- various buffer atoms (from 4 to 10)
3- LDA and GGA
4- tolerance 1e-5 and 1e-6
5-  InitialDensityType.EquivalentBulk and  InitialDensityType.NeutralAtom


but these peaks still occur. What is the reason for these strange peaks ?


my parameters are:


iteration_mixing_parameters = iterationMixingParameters(
    algorithm = IterationMixing.Pulay,
    diagonal_mixing_parameter = 0.05,
    quantity = IterationMixing.Hamiltonian,
    history_steps = 30)

electron_density_parameters = electronDensityParameters(
    mesh_cutoff = 200.0*Rydberg,
    initial_scaled_spin = 10*[0]6*[0.5]+35*[0])

basis_set_parameters = basisSetParameters(
    type = DoubleZeta,
    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-06,
    criterion = IterationControl.TotalEnergy,
    max_steps = 1000)


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*Rydberg,
    fermi_line_points = 10,
    fermi_function_poles = 4,
    real_axis_infinitesimal = 0.05*electronVolt,
    real_axis_point_density = 0.02*electronVolt)

two_center_integral_parameters = twoCenterIntegralParameters(
    cutoff = 2500.0*Rydberg,
    points = 1024)


11
After Electrodes Calculation and Equivalent Bulk Calculation (Initial Density for TwoProbe), during the TwoProbe Calculation

ATK sometimes gives the error

# Pulay mixing inversion failed. Using only last step.


and can not converge. How can I solve this ?

12
During two-probe calculation ATK gives the error

ATKError: inverse(DZMatrix const &) : Could not LU factorize!


what does it mean?

Pages: [1]