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

Pages: [1] 2 3 4
1
Dear all, I need to applied nonzero charge on the sublayer in a vdW stacking supercell. Is it possible to do this operation in QuantumATK 2018.06? Or is there any script to achieve this? 

2
Hi all,

I am calculating the zero-bias transmission spectra of two-probe MBHT system. It is very difficult to converge and very low-efficient, even though I have set many computational parameters higher than the guide in https://docs.quantumatk.com/manual/technicalnotes/spin_polarized_negf_convergence_guide/spin_polarized_negf_convergence_guide.html.  To make it converge more quick, I have even reduced the convergence criteria, but still failed to accelerate the calculation. The attachment is my script. 
Is there any method for me to achieve a faster and more reliable convergence? It seems that SGGA  calculation spends too much time. If I choose LSDA, is there any method to achiev a faster and more reliable convergence.

3
General Questions and Answers / Re: error in PDOS calculation
« on: December 8, 2022, 14:04 »
Thanks. You are right.

4
General Questions and Answers / error in PDOS calculation
« on: December 8, 2022, 13:11 »
Dear all,

I built a script to customize the PDOS of a spin-polarized nanoribbon. But an error occurs.
How can I modify the PDOS script to make it run correctly.
The error information is as follows:

Traceback (most recent call last):
  File "/public/home/heyy/ATKJOBS/221208-LGvHMutP/pdos-z-GN-1.py", line 126, in <module>
Traceback (most recent call last):
  File "/public/home/heyy/ATKJOBS/221208-LGvHMutP/pdos-z-GN-1.py", line 126, in <module>
Traceback (most recent call last):
  File "/public/home/heyy/ATKJOBS/221208-LGvHMutP/pdos-z-GN-1.py", line 126, in <module>
    projection_list = Projection(atom=[Carbon], l_quantum_numbers=[1], m_quantum_numbers=[-1, 0, 1], spin=Spin.up)
AttributeError: 'module' object has no attribute 'up'
    projection_list = Projection(atom=[Carbon], l_quantum_numbers=[1], m_quantum_numbers=[-1, 0, 1], spin=Spin.up)
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 2

5
Hi all,

I have read the tutorial: 
http://docs.quantumatk.com/tutorials/tamr_ldos/tamr_ldos.html#stm-simulations-of-tunneling-anisotropic-magneto-resistance-tamr. This is new for QuantumATK S-2021.06.

The script W8_Fe2_Co.py in the tutorial can not run  in 2018 version. Is it possible to modify the script to run in 2018 version? If possible, how can I modify it?

The original script of W8_Fe2_Co.py in 2021 version is:
# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

angles = [(0,0), (90, 150)]

for (theta, phi) in angles:
    filename = 'W8-Fe2-Co-2x2-theta_{}-phi_{}.hdf5'.format(theta, phi)

    # Set up lattice
    vector_a = [5.482287216117011, 0.0, 0.0]*Angstrom
    vector_b = [-1.827429072039004, 5.168749955904878, 0.0]*Angstrom
    vector_c = [0.0, 0.0, 44.9670510707337]*Angstrom
    lattice = UnitCell(vector_a, vector_b, vector_c)

    # Define elements
    elements = [Tungsten, Tungsten, Tungsten, Tungsten, Tungsten, Tungsten,
                Tungsten, Tungsten, Tungsten, Tungsten, Tungsten, Tungsten,
                Tungsten, Tungsten, Tungsten, Tungsten, Tungsten, Tungsten,
                Tungsten, Tungsten, Tungsten, Tungsten, Tungsten, Tungsten,
                Tungsten, Tungsten, Tungsten, Tungsten, Tungsten, Tungsten,
                Tungsten, Tungsten, Iron, Iron, Iron, Iron, Iron, Iron, Iron, Iron,
                Cobalt]

    # Define coordinates
    fractional_coordinates = [[ 0.25          ,  0.25          ,  0.30118631364 ],
                              [ 0.25          ,  0.75          ,  0.301186278457],
                              [ 0.75          ,  0.25          ,  0.301186278457],
                              [ 0.75          ,  0.75          ,  0.301186242332],
                              [-0.000000998907, -0.000000998907,  0.350454016187],
                              [-0.000000503015,  0.500000503015,  0.350454015157],
                              [ 0.500000503015, -0.000000503015,  0.350454015157],
                              [ 0.500000998907,  0.500000998907,  0.350454016187],
                              [ 0.25          ,  0.25          ,  0.400260701577],
                              [ 0.25          ,  0.75          ,  0.400261649879],
                              [ 0.75          ,  0.25          ,  0.400261649879],
                              [ 0.75          ,  0.75          ,  0.400262571411],
                              [ 0.000013667016,  0.000013667016,  0.450062461809],
                              [ 0.000006758676,  0.499993241324,  0.450062741191],
                              [ 0.499993241324,  0.000006758676,  0.450062741191],
                              [ 0.499986332984,  0.499986332984,  0.450062461809],
                              [ 0.25          ,  0.25          ,  0.499890596355],
                              [ 0.25          ,  0.75          ,  0.49988412114 ],
                              [ 0.75          ,  0.25          ,  0.49988412114 ],
                              [ 0.75          ,  0.75          ,  0.499873815331],
                              [-0.000133552734, -0.000133552734,  0.54969793658 ],
                              [-0.000065862576,  0.500065862576,  0.549705930495],
                              [ 0.500065862576, -0.000065862576,  0.549705930495],
                              [ 0.500133552734,  0.500133552734,  0.54969793658 ],
                              [ 0.25          ,  0.25          ,  0.599373131644],
                              [ 0.25          ,  0.75          ,  0.599538357583],
                              [ 0.75          ,  0.25          ,  0.599538357583],
                              [ 0.75          ,  0.75          ,  0.599633530735],
                              [ 0.003412645763,  0.003412645763,  0.649063001825],
                              [-0.000133957938,  0.500133957938,  0.649263802117],
                              [ 0.500133957938, -0.000133957938,  0.649263802117],
                              [ 0.496587354237,  0.496587354237,  0.649063001825],
                              [ 0.25          ,  0.25          ,  0.696649707841],
                              [ 0.25          ,  0.75          ,  0.694517503389],
                              [ 0.75          ,  0.25          ,  0.694517503389],
                              [ 0.75          ,  0.75          ,  0.691660105602],
                              [-0.043518053127, -0.043518053127,  0.734575517354],
                              [ 0.012602780483,  0.487397219517,  0.735779056149],
                              [ 0.487397219517,  0.012602780483,  0.735779056149],
                              [ 0.543518053127,  0.543518053127,  0.734575517354],
                              [ 0.25          ,  0.25          ,  0.763611260037]]

    # Set up configuration
    bulk_configuration = BulkConfiguration(
        bravais_lattice=lattice,
        elements=elements,
        fractional_coordinates=fractional_coordinates
        )

    # Add tags
    bulk_configuration.addTags('molecule0_Co', [40])
    bulk_configuration.addTags('substrate',    [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,
                                                13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
                                                26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
                                                39])

    # -------------------------------------------------------------
    # Calculator
    # -------------------------------------------------------------
    #----------------------------------------
    # Basis Set
    #----------------------------------------
    basis_set = [
        BasisGGAPseudoDojoSO.Iron_Medium,
        BasisGGAPseudoDojoSO.Cobalt_Medium,
        BasisGGAPseudoDojoSO.Tungsten_Medium,
        ]

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

    k_point_sampling = KpointDensity(
        density_a=7.0*Angstrom,
        density_c=0.0*Angstrom,
        force_timereversal=False,
        )
    numerical_accuracy_parameters = NumericalAccuracyParameters(
        density_mesh_cutoff=120.0*Hartree,
        k_point_sampling=k_point_sampling,
        )

    calculator = LCAOCalculator(
        basis_set=basis_set,
        exchange_correlation=exchange_correlation,
        numerical_accuracy_parameters=numerical_accuracy_parameters,
        )

    bulk_configuration.setCalculator(calculator)

    # -------------------------------------------------------------
    # Initial State
    # -------------------------------------------------------------
    scaled_spins = [(i, 1.0, theta*Degrees, phi*Degrees) for i in range(len(bulk_configuration))]

    initial_spin = InitialSpin(scaled_spins=scaled_spins)

    bulk_configuration.setCalculator(
        calculator,
        initial_spin=initial_spin,
    )
    bulk_configuration.update()
    nlsave(filename, bulk_configuration)
    nlprint(bulk_configuration)

    # -------------------------------------------------------------
    # Local Density Of States
    # -------------------------------------------------------------
    kpoints = KpointDensity(
        density_a=17.0*Angstrom,
        density_c=0.0*Angstrom,
        force_timereversal=False,
        )

    local_density_of_states = LocalDensityOfStates(
        configuration=bulk_configuration,
        kpoints=kpoints,
        energies=numpy.linspace(-0.2, 0.8, 41)*eV,
        band_indices=All,
        energy_zero_parameter=FermiLevel,
        spectrum_method=GaussianBroadening(0.025*eV),
        density_mesh_cutoff=30*Hartree,
        )
    nlsave(filename, local_density_of_states)

    # -------------------------------------------------------------
    # Mulliken Population
    # -------------------------------------------------------------
    mulliken_population = MullikenPopulation(bulk_configuration)
    nlsave(filename, mulliken_population)
    nlprint(mulliken_population)



6
I've tried as your guide. The job manager setting is removed. But if I want to send job on remote, the same remote setting should be saved in job manager. Then the software still quits again. Is there any method to solve this problem in this old version?

7
Installation and License Questions / Job manager failed on Win10
« on: September 9, 2022, 06:01 »
I installed QuantumATK 2018.06 on Win10 professional. All structures can not be shown in Builder and Viewer. They can only be shown in low-performance mode. When I enlarged the GUI, the buttons on the top were out of the screen and thus hard to be rescaled. The largest problen is: When I opened Job manager, the software quited immediately.   On Win7, everything goes well. What is the problem? How can I deal with it?

8
I have run this script
m = nlread("pldos-Sn4S8-1e19-n-Vds0.64V-Vg-1.0V.hdf5", MullikenPopulation)[0]       
print(m.atomicCharge().sum())                                                           
                                                                                                                                                                           
Then, there appeared an error message as IndexError: list index out of range.
The script for calculating MullikenPopulation is as follows:
# -*- coding: utf-8 -*-                                               
# -------------------------------------------------------------       
# Analysis from File                                                 
# -------------------------------------------------------------       
filename = u'pldos-Sn4S8-1e19-n-Vds0.64V-Vg-1.0V.hdf5'               
                                                                     
iv_characteristics = IVCharacteristics(                               
    configuration=nlread(filename, object_id='DeviceConfiguration_0')[
    filename=filename,                                               
    object_id='iv-Sn4S8-1e19-n',                                     
    gate_regions=[0, 1],                                             
    gate_source_voltages= -1.0 * Volt,                               
    drain_source_voltages= 0.64 * Volt,                               
    log_filename_prefix=LogToStdOut,                                 
    number_of_processes_per_task=12,                                 
)                                                                     
                                                                     
iv_characteristics.addAnalysis(                                       
    -1.0 * Volt, 0.64 * Volt, MullikenPopulation)                     
iv_characteristics.addProjectedLocalDensityOfStates(                 
    -1.0 *Volt, 0.64 * Volt)                                         
iv_characteristics.update()   

How can I modify the script?

The attached view of MullikenPopulation indicates the .hdf5 does contain the MullikenPopulation data.                                     

9
Yes, I can see the view of Mulliken Population according to your instruction. Then, how can I get a total charge of the device at a definite Vds and Vg from it, even though it is very rough. Is it possible to get a .txt file , like the Mulliken Population of a bulk structure. I need this data to further evaluate the device performance of a FET. 

10
Thanks very much. I have known the reason for this error. I still have another question. The calculation of Mulliken Population is finished.  But I don't kown how to read the data. I know the way to read PLDOS is similar to transmission spectra.  But I can't find Milliken Population at the same place.

11
Thank you. But when I calculated the PLDOS and Mulliken charge from the IV characteristics, it always terminated with exit code 139. Even though I recalcuated the IV characteristics with PLDOS and Mulliken charge from the device, the same problem still existed. This error occured after the PLDOS and Mulliken charge calculations were finished. I guess it is not because of the out of memory. How can I solve this problem?
The script is attached.

12
 In the calculation of Ids-Vg curve, I forgot to analyze the PLDOS. Can I get the PLDOS at a definite Vg from the  Ids-Vg curve results? If possible, how can I do that? Is there any guideline?

13
Is it accurate to calculate the position of the Fermi level by ATK-DFT: LCAO? Typically DFT codes fail to accurately define the Fermi level position which can actually be placed anywhere within the gap.

14
What is the physical definition of the Fermi level in band structure calculation? Can I use the relative distance from CBM and VBM to the Fermi level to  estimate the conduction type or doping type ?

15
So do you think that the x and y directions should be constrained? Before DFBT, I also used DFT to optimize the structure, similar phenomenon happened.  And I found that the structure suddenly had a great change after max_forces is less than 0.5 eV/Ang. 

Pages: [1] 2 3 4