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 - yqxie

Pages: [1]
1
 Thanks for your timely reply, but where is the attached script?


2
Dear quantumwise staff,
 
           I'd like to know how to get the thermal conductance of electrons for different temperature by using a script.

Thanks

3
  I use 3 nodes ( each has 16 cores ), and assign 2 MPI processes on each node (, using OpenMP, multithreads). CPU is Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GH. The output file is too large, so I keep the only the first and last hundreds of lines.  Thanks.  I use mvapich2 with pbs.  Thanks

4
  Hello Dr. Anders Blom,

      I got the same erros in my calculation once again.  I tried to calculate the phonotransmission of two graphene nanoribbons with DFT. The phonobandstructure calculations were properly fininshed, but when doing phonontransmission calculations the jobs terminated  with erros  like "Back Engine Exception : The CSR matrix has no such entry ...".   As the same errors happened for three different calculation exmaples, I was wondering whether there are some problems in my input script or bugs in ATK? 
    Attached are the input scripts for my calculations ,  the output file "out2.log" and the phononbandstructures for two nanoribbons.
    By the way, for the small nanoribbons, it takes 8.5 hours to complete all the dymnamic matrix calculation, using 3nodes with 16 cores, and then the job terminated with errors. I thought you might be able to repeat my calcuation with this smaller system.
     Or,have you ever tested the phonontransmission calculations with DFT ?  If yes, could you please  give me the script so that I can repeat it.
   
Thanks,

xie

5
Hello, according to the reference manual,
calculatePhononSelfEnergy(device_configuration, energy, contribution=Right),
to calculate the selfenergy we need a device configuration. It seems that we can't   provide the infromations from a bulk  calculation since the   "device_configuration" is a parameter must be provided.   I guess that only the informations from a lead (like lead's Hamiltonian, etc.) are required to calculate selfenergy. So if using  "Hamiltonian" and other informatin as augments for " calculateSelfEnergy()",  it will be possible for us to obtain selfenergy and green functions from a bulk calculation by hand. 
Thanks.

6
General Questions and Answers / Re: ATK compatability
« on: February 24, 2015, 15:42 »
I'm afraid that you couldn't because the file format is different between atk 08 and 14. 

7
Thanks very much for your timely  reply!
I thought that for a periodical system, such as the two-dimensional sheet in my script and any 2D nanoribbons, there maybe an easy way to calculate the transmission spectrum, as the leads and the center region are all the same. So we can just calculate the Hamiltonian, dynamic matrix of one lead, etc., and then construct the green functions and the self energy.  In this way, the workload will be largely reduced for phonon transport calculations.  In the preseent way,  we have to construct a center region which is at least two times larger than the leads, and to rpeat it by at least 3 times in order to calculate dynamic matrix, so the workload is tremendous for DFT calculations.

8
 Thanks very much! Looking forward to the release of ATK2015.

9
Hello, Dr. Anders Blom,

  attached is the input file and the last few lines of the outputfile. The displacements of atoms for forces calculations  were finished, and then the job terminated accidently with the errors.

And in this case, I want to restart my calculation becasue it takes several days to complete all the forces calculations.   So could you please give me some suggestions to my questions raised in another post "   How to restart a phonon calculation?, and about the parrallelization strategies"

Thanks

10
I got the same errors.  I used ATK 2014.2. Did you find the answers?

11
Dear Quantumwise staff,
      I got some problems and need your help . Thanks.
      I have a nanoribbon of 42 atoms to calculate the phonon bandstructures, and run it on a cluster, with each node of 16 cores.  I assigned the job to 3 nodes, 2 MPI processes in each node (since there are two sockets pernode).   I found this is much faster than the way to assign 16 MPI processes per nodes using total 3 nodes when the atk doing calculations such as dynamics matrix calculations. This should be attributed to the OpenMP multithreading which is very efficient in matrix operations and FFT solver. 
After all the calculations for dynamics matrix have been done (takes 2days and 5 hours), the atk continues to calculate phonon bandstrucutre. However, I found it seems to take a very long time to calculate the bandstructure.  For this job (of 42 atoms, repeat=(1,1,3) ), the calculation wasn't finished for more than 2 days.  I thought that in the calculation of the bandstructures the atk is parallelized on k points, so in this case the OpenMP no longer takes effect (I found the CPU is always around 100% occupied, indicating no multithreads). Thus, I should use more MPI processes in the calculation of bandstructure. However, as only 3*2=6 MPI process was assigned, it will take a long time to finish the calculations. Am I right? 
If this is true, I have to stop the job once the calculations of dynamics matrix were finished, (which was indicated by the lines like “ Phonon: Calculating forces for displacement 126 / 126”), and then use the checkpoint file to resume the calculation of bandstructure using more MPI processes.  So there is the second questions, how to restart a phonon calculation?  I tried to revise the script and comment the line “#bulk_configuration.update()”, and add two new lines “bulk_configuration = nlread("./checkpoint2.nc")[0]”, “bulk_configuration.update(force_restart=True)”. In the checkpoint file, there are total 42*3=126 atoms now as was repeated by 3 times. I can make sure the numbers of atoms in VNL.
But I found that atk didn’t calculate the bandstructures, instead it repeated the cell further (now it has totally 126*3=378 atoms), and calculate the dynamics matrix once more, as I found in the output file such lines like “ Phonon: Calculating forces for displacement 1 / 378”.
So, firstly, do I have to use two different parallelization strategies in phonon calculations for a large system of many atoms? I mean using OpenMP (less MPI processes pernode) in calculation of the force constant matrix (dynamic matrix), while using more MPI processes in bandstructure calculations?
Secondly, how to restart a phonon calculation?
Thanks very much.

12
I change the kpoints by adding the following lines in the script above the line "phonon_transmission_spectrum = PhononTransmissionSpectrum( ...."

##Change kpoints------------
calculator = device_configuration.calculator()
 
left_electrode_numerical_accuracy_parameters2 = left_electrode_numerical_accuracy_parameters(k_point_sampling=(1, 1, 1))                                                                           
left_electrode_calculator2 = LCAOCalculator(numerical_accuracy_parameters=left_electrode_numerical_accuracy_parameters2)                                                                                                                                                                                                                                     
electrode_calculators2=[left_electrode_calculator2, left_electrode_calculator2]

numerical_accuracy_parameters = calculator.numericalAccuracyParameters()
new_numerical_accuracy_parameters = device_numerical_accuracy_parameters(k_point_sampling = (1, 1, 1))
new_calculator = calculator(numerical_accuracy_parameters=new_numerical_accuracy_parameters,electrode_calculators=electrode_calculators2)
device_configuration.setCalculator(new_calculator)

It seems to work now.


13
 Hello,
In electronic transport calculation, the kpoints in Z axis  (transport direction) is usually very large, .e.g. 50 or 100.   Thus, I was wondering in phonon transport calculation for a device how to set kpoints in transport direction.  The original cells (left, right leads and center region) will be repeated for the Dynamical Matrix calculation.  Does this mean that I only need to set the kpoints to be very small in x, y and z directions (e.g, k_point_sampling=(3, 3, 1)) at the begining of the input script?   And, we do not need to set as many kpoints as in the case of electronic transport calculation?
      I knew the method to reduce the kpoints for a phonon bandstructure calculations for a bulk system or a periodical system,  as mentioned in the tutorial on the phonon transport of a graphene nanoribbon. 

     Any suggestions? Thanks !

14
Yes, I set a gap between the Ni and Co, because I want to calculate the Transmission for different gaps between the Ni and Co.  Thanks

15
 Dear all,
         I got a problem, when the Equivalent Bulk calculation finished, it gives the following information:

File "Scf_NiCoCo.py", line 118, in ?
    twoprobe_method
ATKError: inverse(DZMatrix const &) : Could not LU factorize!

As has been discussed, this may be related to the configuration of the system, but I cannot find the error with the configuration. I post the script below for help.
         Here is a "two-probe" system. The left and reight Electrodes are of the same FCC(111) Cobalt buck of 3 layers, the  Scattering regeion is 2-layer FCC(111) Cobalt surface + 1 Co adatom+ 36-atoms Nickel pyramidical tip+  1 Co adatom + 2-layer FCC(111) Cobalt surface".
        The script for the configuration, and the SCF calucation is given below.
 
File1, for construct the two-probe system


from ATK.TwoProbe import *
from numpy import *
path = '.'

# Li chain lattice constant
a = 3.52
d0 = a/1.414213562
b = 3.52
GRID_X = 2.44948974278*a/4.0
GRID_Y = 1.414213562373095*a/2.00
GRID_Z = 1.732050807568877*a/3.00


N_left=48
N_right=48
N_scatt=102
N_tip=36

# Construct the electrode unit cell
unit_cell = [ [4*GRID_X, 0.0, 0.0 ],
    [0.0, 4*GRID_Y, 0.0 ],
    [0.0, 0.0, 3*GRID_Z ] ] * Angstrom
unit_cell2 = [ [4*GRID_X, 0.0, 0.0 ],
    [0.0, 4*GRID_Y, 0.0 ],
    [0.0, 0.0, 3*GRID_Z ] ] * Angstrom
   
   
# Define the left electrode, the FCC Co(111) surf
 
electrode_left=array([
   [  2.8741,  1.2445,  0.0000],
   [  2.8741,  3.7335,  0.0000],
   [  2.8741,  6.2225,  0.0000],
   [  2.8741,  8.7116,  0.0000],
   [  5.0296,  0.0000,  0.0000],
   [  5.0296,  2.4890,  0.0000],
   [  5.0296,  4.9780,  0.0000],
   [  5.0296,  7.4670,  0.0000],
   [  7.1852,  1.2445,  0.0000],
   [  7.1852,  3.7335,  0.0000],
   [  7.1852,  6.2225,  0.0000],
   [  7.1852,  8.7116,  0.0000],
   [  0.7185,  0.0000,  0.0000],
   [  0.7185,  2.4890,  0.0000],
   [  0.7185,  4.9780,  0.0000],
   [  0.7185,  7.4670,  0.0000],
   [  0.0000,  1.2445,  2.0323],
   [  0.0000,  3.7335,  2.0323],
   [  0.0000,  6.2225,  2.0323],
   [  0.0000,  8.7116,  2.0323],
   [  2.1556,  0.0000,  2.0323],
   [  2.1556,  2.4890,  2.0323],
   [  2.1556,  4.9780,  2.0323],
   [  2.1556,  7.4670,  2.0323],
   [  4.3111,  1.2445,  2.0323],
   [  4.3111,  3.7335,  2.0323],
   [  4.3111,  6.2225,  2.0323],
   [  4.3111,  8.7116,  2.0323],
   [  6.4667,  0.0000,  2.0323],
   [  6.4667,  2.4890,  2.0323],
   [  6.4667,  4.9780,  2.0323],
   [  6.4667,  7.4670,  2.0323],
   [  1.4370,  1.2445,  4.0645],
   [  1.4370,  3.7335,  4.0645],
   [  1.4370,  6.2225,  4.0645],
   [  1.4370,  8.7116,  4.0645],
   [  3.5926,  0.0000,  4.0645],
   [  3.5926,  2.4890,  4.0645],
   [  3.5926,  4.9780,  4.0645],
   [  3.5926,  7.4670,  4.0645],
   [  5.7481,  1.2445,  4.0645],
   [  5.7481,  3.7335,  4.0645],
   [  5.7481,  6.2225,  4.0645],
   [  5.7481,  8.7116,  4.0645],
   [  7.9037,  0.0000,  4.0645],
   [  7.9037,  2.4890,  4.0645],
   [  7.9037,  4.9780,  4.0645],
   [  7.9037,  7.4670,  4.0645],
   ]
   )
   
 
electrode_CoSub = PeriodicAtomConfiguration(
    super_cell_vectors=unit_cell,
    elements=N_left*[Cobalt],
    cartesian_coordinates=electrode_left*Angstrom
    )
# define the Co(001) sub-------------
eles=electrode_CoSub.elements()
print '\n','='*10, eles[1]
print '\n','='*10, eles[2]

# Electrode right, the Co(111) surf with a Co adatom Body Bulk---------
electrode_right=array([
   [  2.8741,  1.2445,  0.0000],
   [  2.8741,  3.7335,  0.0000],
   [  2.8741,  6.2225,  0.0000],
   [  2.8741,  8.7116,  0.0000],
   [  5.0296,  0.0000,  0.0000],
   [  5.0296,  2.4890,  0.0000],
   [  5.0296,  4.9780,  0.0000],
   [  5.0296,  7.4670,  0.0000],
   [  7.1852,  1.2445,  0.0000],
   [  7.1852,  3.7335,  0.0000],
   [  7.1852,  6.2225,  0.0000],
   [  7.1852,  8.7116,  0.0000],
   [  0.7185,  0.0000,  0.0000],
   [  0.7185,  2.4890,  0.0000],
   [  0.7185,  4.9780,  0.0000],
   [  0.7185,  7.4670,  0.0000],
   [  0.0000,  1.2445,  2.0323],
   [  0.0000,  3.7335,  2.0323],
   [  0.0000,  6.2225,  2.0323],
   [  0.0000,  8.7116,  2.0323],
   [  2.1556,  0.0000,  2.0323],
   [  2.1556,  2.4890,  2.0323],
   [  2.1556,  4.9780,  2.0323],
   [  2.1556,  7.4670,  2.0323],
   [  4.3111,  1.2445,  2.0323],
   [  4.3111,  3.7335,  2.0323],
   [  4.3111,  6.2225,  2.0323],
   [  4.3111,  8.7116,  2.0323],
   [  6.4667,  0.0000,  2.0323],
   [  6.4667,  2.4890,  2.0323],
   [  6.4667,  4.9780,  2.0323],
   [  6.4667,  7.4670,  2.0323],
   [  1.4370,  1.2445,  4.0645],
   [  1.4370,  3.7335,  4.0645],
   [  1.4370,  6.2225,  4.0645],
   [  1.4370,  8.7116,  4.0645],
   [  3.5926,  0.0000,  4.0645],
   [  3.5926,  2.4890,  4.0645],
   [  3.5926,  4.9780,  4.0645],
   [  3.5926,  7.4670,  4.0645],
   [  5.7481,  1.2445,  4.0645],
   [  5.7481,  3.7335,  4.0645],
   [  5.7481,  6.2225,  4.0645],
   [  5.7481,  8.7116,  4.0645],
   [  7.9037,  0.0000,  4.0645],
   [  7.9037,  2.4890,  4.0645],
   [  7.9037,  4.9780,  4.0645],
   [  7.9037,  7.4670,  4.0645],
   ]
   )     

#displace the Z coordinate of the electrode
 
electrode_right = electrode_right+[0,0,0]
 
electrode_NiBulk = PeriodicAtomConfiguration(
    super_cell_vectors=unit_cell2,
    elements=N_right*[Cobalt],
    cartesian_coordinates=electrode_right*Angstrom
    )

# Setup the two-probe scattering region
# The atoms in the central region

elements = 33*[Cobalt]+N_tip*[Nickel]+33*[Cobalt]

position2 = array([
   [  2.8741,  1.2445,  6.0968],
   [  2.8741,  3.7335,  6.0968],
   [  2.8741,  6.2225,  6.0968],
   [  2.8741,  8.7116,  6.0968],
   [  5.0296,  0.0000,  6.0968],
   [  5.0296,  2.4890,  6.0968],
   [  5.0296,  4.9780,  6.0968],
   [  5.0296,  7.4670,  6.0968],
   [  7.1852,  1.2445,  6.0968],
   [  7.1852,  3.7335,  6.0968],
   [  7.1852,  6.2225,  6.0968],
   [  7.1852,  8.7116,  6.0968],
   [  0.7185,  0.0000,  6.0968],
   [  0.7185,  2.4890,  6.0968],
   [  0.7185,  4.9780,  6.0968],
   [  0.7185,  7.4670,  6.0968],
   [  0.0000,  1.2445,  8.1291],
   [  0.0000,  3.7335,  8.1291],
   [  0.0000,  6.2225,  8.1291],
   [  0.0000,  8.7116,  8.1291],
   [  2.1556,  0.0000,  8.1291],
   [  2.1556,  2.4890,  8.1291],
   [  2.1556,  4.9780,  8.1291],
   [  2.1556,  7.4670,  8.1291],
   [  4.3111,  1.2445,  8.1291],
   [  4.3111,  3.7335,  8.1291],
   [  4.3111,  6.2225,  8.1291],
   [  4.3111,  8.7116,  8.1291],
   [  6.4667,  0.0000,  8.1291],
   [  6.4667,  2.4890,  8.1291],
   [  6.4667,  4.9780,  8.1291],
   [  6.4667,  7.4670,  8.1291],
   [  3.5926,  4.9780, 10.1614],
   [  3.5926,  4.9780, 16.1614],
   [  2.8741,  3.7335, 18.1936],
   [  2.8741,  6.2225, 18.1936],
   [  5.0296,  4.9780, 18.1936],
   [  2.1556,  2.4890, 20.2259],
   [  2.1556,  4.9780, 20.2259],
   [  2.1556,  7.4670, 20.2259],
   [  4.3111,  3.7335, 20.2259],
   [  4.3111,  6.2225, 20.2259],
   [  6.4667,  4.9780, 20.2259],
   [  1.4370,  1.2445, 22.2582],
   [  1.4370,  3.7335, 22.2582],
   [  1.4370,  6.2225, 22.2582],
   [  3.5926,  2.4890, 22.2582],
   [  3.5926,  4.9780, 22.2582],
   [  3.5926,  7.4670, 22.2582],
   [  5.7481,  3.7335, 22.2582],
   [  5.7481,  6.2225, 22.2582],
   [  0.7185,  2.4890, 24.2905],
   [  0.7185,  4.9780, 24.2905],
   [  2.8741,  1.2445, 24.2905],
   [  2.8741,  3.7335, 24.2905],
   [  2.8741,  6.2225, 24.2905],
   [  5.0296,  2.4890, 24.2905],
   [  5.0296,  4.9780, 24.2905],
   [  5.0296,  7.4670, 24.2905],
   [  0.0000,  3.7335, 26.3227],
   [  2.1556,  2.4890, 26.3227],
   [  2.1556,  4.9780, 26.3227],
   [  4.3111,  1.2445, 26.3227],
   [  4.3111,  3.7335, 26.3227],
   [  4.3111,  6.2225, 26.3227],
   [  1.4370,  3.7335, 28.3550],
   [  3.5926,  2.4890, 28.3550],
   [  3.5926,  4.9780, 28.3550],
   [  2.8741,  3.7335, 30.3873],
   [  2.8741,  3.7335, 36.3873],
   [  0.0000,  1.2445, 38.4195],
   [  0.0000,  3.7335, 38.4195],
   [  0.0000,  6.2225, 38.4195],
   [  0.0000,  8.7116, 38.4195],
   [  2.1556,  0.0000, 38.4195],
   [  2.1556,  2.4890, 38.4195],
   [  2.1556,  4.9780, 38.4195],
   [  2.1556,  7.4670, 38.4195],
   [  4.3111,  1.2445, 38.4195],
   [  4.3111,  3.7335, 38.4195],
   [  4.3111,  6.2225, 38.4195],
   [  4.3111,  8.7116, 38.4195],
   [  6.4667,  0.0000, 38.4195],
   [  6.4667,  2.4890, 38.4195],
   [  6.4667,  4.9780, 38.4195],
   [  6.4667,  7.4670, 38.4195],
   [  1.4370,  1.2445, 40.4518],
   [  1.4370,  3.7335, 40.4518],
   [  1.4370,  6.2225, 40.4518],
   [  1.4370,  8.7116, 40.4518],
   [  3.5926,  0.0000, 40.4518],
   [  3.5926,  2.4890, 40.4518],
   [  3.5926,  4.9780, 40.4518],
   [  3.5926,  7.4670, 40.4518],
   [  5.7481,  1.2445, 40.4518],
   [  5.7481,  3.7335, 40.4518],
   [  5.7481,  6.2225, 40.4518],
   [  5.7481,  8.7116, 40.4518],
   [  7.9037,  0.0000, 40.4518],
   [  7.9037,  2.4890, 40.4518],
   [  7.9037,  4.9780, 40.4518],
   [  7.9037,  7.4670, 40.4518],
   ] 
   )
# Combine electrode and scattering region
# into a two-probe system
#displace the Z coordinate of the electrode
   
two_probe = TwoProbeConfiguration(
    electrodes = (electrode_CoSub,electrode_NiBulk),
    scattering_region_elements = elements,
    scattering_region_cartesian_coordinates = position2* Angstrom,
    equivalent_atoms= [(0,0),(19,74)]
    )
   
print
   
## Export the two-probe system to VNL file.
#vnl_file = VNLFile("F:\data\ATK\NiCoCoCu(111)\Scf\4.8\NiCoCo.vnl")
#vnl_file.addToSample(two_probe, "F:\data\ATK\NiCoCoCu(111)\Scf\4.8\NiCoCo")
   
   
vnl_file = VNLFile("./NiCoCo.vnl")
vnl_file.addToSample(two_probe, "./NiCoCo")

=====================================

file2 for SCF calculation

from ATK.TwoProbe import *                                             

# -- Parameters --------------------------------                       
NumCoLeft=3*4*4
NumCo1Cent=4*4*2+1
NumCo2Cent=4*4*2+1
NumNiCent=36
NumNiRight=3*4*4
parallel_spin = True                                                   
# ----------------------------------------------                       
scf_kpoints = (3,3,100)                                                 
mesh_cutoff = 150.*Rydberg                                             
xc = GGA.PBE                                                           
temperature = 1000.*Kelvin                                             
tolerance = 1e-5                                                       
basis_set_parameters = [                                               
#    basisSetParameters(SingleZetaPolarized,element = Copper),                 
    basisSetParameters(SingleZetaPolarized,element = Cobalt),                 
    basisSetParameters(SingleZetaPolarized,element = Nickel)           
    ]                                                               
           
# ----------------------------------------------                       
diagonal_mixing_parameter = 0.05                                       
history_steps = 10                                                     
max_steps = 400                                                         
integral_lower_bound = 3.*Rydberg                                     
circle_points = 30 
real_axis_point_density = 0.005*electronVolt
                                                   
# ----------------------------------------------                       
path = '.' # For parallel, set to absolute path, like '/home/user/FeMgO'
vnl_filename = "NiCoCo.vnl"                                           
verbosity = 10                                                         
checkpoint_filename = "NiCoCoCheck.nc"                                         
# ----------------------------------------------                       

vnl_file = VNLFile(path+'/'+vnl_filename)   
NiCoSys = vnl_file.readAtomicConfigurations()   
twoprobe_configuration = NiCoSys[NiCoSys.keys()[0]]


# Initial spins                                               
left_electrode_initial_scaled_spin = [ 0.52,]*NumCoLeft
central_region_initial_scaled_spin =[ 0.52,]*NumCo1Cent+[ 0.32,]*NumNiCent+[ 0.52,]*NumCo2Cent
right_electrode_initial_scaled_spin = [0.32,]*NumNiRight

# Define electrode parameters
left_electrode_parameters = ElectrodeParameters(
   brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters(scf_kpoints),
   electron_density_parameters = electronDensityParameters(
      mesh_cutoff = mesh_cutoff,
      initial_scaled_spin = left_electrode_initial_scaled_spin
      ),
   iteration_mixing_parameters = iterationMixingParameters(
      diagonal_mixing_parameter = diagonal_mixing_parameter,
      history_steps = history_steps
      ),
   iteration_control_parameters = iterationControlParameters(
      tolerance = tolerance,
      max_steps = max_steps
      ),
   eigenstate_occupation_parameters = eigenstateOccupationParameters(
      temperature = temperature
      )
   )
   
right_electrode_parameters = ElectrodeParameters(                                         
   brillouin_zone_integration_parameters = brillouinZoneIntegrationParameters(scf_kpoints),
   electron_density_parameters = electronDensityParameters(                               
      mesh_cutoff = mesh_cutoff,                                                             
      initial_scaled_spin = right_electrode_initial_scaled_spin                               
      ),                                                                                     
   iteration_mixing_parameters = iterationMixingParameters(                               
      diagonal_mixing_parameter = diagonal_mixing_parameter,                                 
      history_steps = history_steps                                                           
      ),                                                                                     
   iteration_control_parameters = iterationControlParameters(                             
      tolerance = tolerance,                                                                 
      max_steps = max_steps                                                                   
      ),                                                                                     
   eigenstate_occupation_parameters = eigenstateOccupationParameters(                     
      temperature = temperature                                                               
   )                                                                                       
)

# Define two-probe method                                                                                                                                           
twoprobe_method = TwoProbeMethod(                                             
   electrode_parameters = (left_electrode_parameters,right_electrode_parameters),
   exchange_correlation_type = xc,                                               
   basis_set_parameters = basis_set_parameters,                                 
   electron_density_parameters = electronDensityParameters(                     
      mesh_cutoff = mesh_cutoff,                                                   
      initial_scaled_spin = central_region_initial_scaled_spin                     
      ),                                                                           
   iteration_mixing_parameters = iterationMixingParameters(                     
      diagonal_mixing_parameter = diagonal_mixing_parameter,                       
      history_steps = history_steps                                                 
      ),                                                                           
   iteration_control_parameters = iterationControlParameters(                   
      tolerance = tolerance,                                                       
      max_steps = max_steps                                                         
      ),                                                                           
   energy_contour_integral_parameters = energyContourIntegralParameters(         
      integral_lower_bound = integral_lower_bound,                                 
      circle_points = circle_points, 
      real_axis_point_density = real_axis_point_density
      ),                                                                           
   algorithm_parameters = twoProbeAlgorithmParameters(                           
#      initial_density_type = InitialDensityType.NeutralAtom                         
      )   
   ) 
   
import ATK                                                                                                                                   
ATK.setVerbosityLevel(verbosity)                               
ATK.setCheckpointFilename(checkpoint_filename)                 
self_consistent_calculation = executeSelfConsistentCalculation(
   twoprobe_configuration,                                       
   twoprobe_method                                               
   )                                                             

Thanks for any suggestions!


Pages: [1]