Recent Posts

Pages: 1 [2] 3 4 ... 10
11
General Questions and Answers / Making a device from VNL
« Last post by UtpalLab123 on July 16, 2024, 14:57 »
Dear Sir,
When I create a device for a unit cell using VNL, it makes the device for an odd number of unit cells in the scattering region. My question is:
When I manually create a device for an even number of unit cells in the scattering region, will it give correct results or incorrect results?
12
In the 2022-12-sp1 version, the D and S electrodes corresponded to the left and right electrodes during the PN junction, respectively. However, in the 2023-12-sp1 version, the electrode correspondence is reversed, i.e. the left electrode corresponds to S and the right electrode corresponds to D. This results in opposite I-V curves for the two versions under the same calculation script. I wonder which version is the right one.
In addition, in version 2023-12-sp1, the bias defined in the I-V curve script is Vds=Vd-Vs, and Vs is set to 0, while the bias is still set by subtracting the right electrode from the left electrode in DeviceLCAOCalculator, which may means Vs-Vd. I wonder if there is a conflict between these two? Or am I misunderstanding what it means?
13
Hello,

I went through the script and found out it was my mistake. However though, there seem to be problem in the workflow, whenever PW PAW SOC is selected, the workflow can't be saved and the following error message appears (screenshot attached). 



++
I am using 2023.12 version and I wasn't trying to load workflow from an older version.
The workflow was created within 2023.12 version
14
Planewave PAW supports SOC. Can you share the script you are trying to run?
15
I tried running Planewave PAW SOC but the calculation is run without SOC.
Is it because it is not supported?

Thanks
16
Hello, I am trying to dope amorphous silicon bulk structure with n, p-type and then try to calculate transmission spectrum, the results shows same.
I calculated same structure and just changed the type of doping.
I attached the py file that I used.

The only difference I made is n and p type doping
external_potential = AtomicCompensationCharge([
    ('doping_0', 2.0207760480856165e-07)
    ]) for n-type and

external_potential = AtomicCompensationCharge([
    ('doping_0', - 2.0207760480856165e-07)
    ]) for p-type

The transmission results appear same, so I attached only 1 figure.
So I was wondering if the results can show same results even if the doping is different

Thank you

17
Hi There,

Still waiting for the reply
18
As a rule, you need to optimize electrodes separately first and then create the structure you want.
After that the central region should include some portion of electrodes and your molecule and then optimize all of central region.

PS: During optimization - electrode and electrode extensions will be fixed.

Thanks
19
General Questions and Answers / Re: Geometric optimization
« Last post by AsifShah on July 5, 2024, 12:18 »
You can do it in the device optimizer in QATK. You can set voltage values in LCAO calculator. However, there maybe convergence issues due to high bias.

20
Hi,
I am currently working on calculating the phonon band structure for a particular system. However, I encountered a discrepancy between the results obtained using ATK (QuantumATK) and VASP:

ATK Calculation: The phonon band structure shows negative frequencies, suggesting dynamic instability.
VASP Calculation: The phonon band structure does not exhibit these negative frequencies.
For your reference, I have attached the phonon band structures generated by both ATK and VASP. Additionally, I have included the input script used for the ATK calculations below:

 -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
lattice = Hexagonal(6.53017*Angstrom, 21.0*Angstrom)

# Define elements
elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon]

# Define coordinates
fractional_coordinates = [[ 0.      ,  0.      ,  0.420238],
                          [ 0.095238,  0.47619 ,  0.420238],
                          [ 0.285714,  0.428571,  0.420238],
                          [ 0.523809,  0.619047,  0.420238],
                          [ 0.142857,  0.714286,  0.420238],
                          [ 0.380952,  0.904761,  0.420238],
                          [ 0.571429,  0.857143,  0.420238],
                          [ 0.809524,  1.047619,  0.420238],
                          [ 0.238095,  1.190476,  0.420238],
                          [ 0.428571,  1.142857,  0.420238],
                          [ 0.666667,  1.333334,  0.420238],
                          [ 0.857143,  1.285714,  0.420238],
                          [ 0.714286,  1.571429,  0.420238],
                          [ 0.952381,  1.761905,  0.420238],
                          [ 0.      ,  0.      ,  0.579762],
                          [ 0.190476,  0.238095,  0.579762],
                          [ 0.142857,  0.428571,  0.579762],
                          [ 0.333333,  0.666666,  0.579762],
                          [ 0.571429,  0.714286,  0.579762],
                          [ 0.761905,  0.952381,  0.579762],
                          [ 0.047619,  0.809524,  0.579762],
                          [ 0.285714,  0.857143,  0.579762],
                          [ 0.47619 ,  1.095238,  0.579762],
                          [ 0.714286,  1.142857,  0.579762],
                          [ 0.904762,  1.380953,  0.579762],
                          [ 0.428571,  1.285714,  0.579762],
                          [ 0.619048,  1.52381 ,  0.579762],
                          [ 0.857143,  1.571429,  0.579762]]

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

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
k_point_sampling = MonkhorstPackGrid(
    na=7,
    nb=7,
    )
numerical_accuracy_parameters = NumericalAccuracyParameters(
    density_mesh_cutoff=50.0*Hartree,
    k_point_sampling=k_point_sampling,
    occupation_method=MethfesselPaxton(1000.0*Kelvin*boltzmann_constant, 1),
    )

algorithm = PulayMixer(
    restart_strategy=AdaptiveHistoryRestart(
        effective_rank_fraction=0.0,
        ),
    )

iteration_control_parameters = IterationControlParameters(
    tolerance=1e-06,
    algorithm=algorithm,
    )

#----------------------------------------
# Grimme DFTD3
#----------------------------------------
correction_extension = GrimmeDFTD3(
    exchange_correlation=GGA.PBE,
    maximum_neighbour_distance=30.0*Ang,
    include_three_body_term=False,
    )

calculator = LCAOCalculator(
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    iteration_control_parameters=iteration_control_parameters,
    correction_extension=correction_extension,
    )

bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('TBG-21-relax.hdf5', bulk_configuration)

# -------------------------------------------------------------
# Optimize Geometry
# -------------------------------------------------------------

constraints = [FixStrain(x=False, y=False, z=True)]

bulk_configuration = OptimizeGeometry(
    bulk_configuration,
    max_forces=0.001*eV/Ang,
    max_stress=0.1*GPa,
    max_steps=200,
    max_step_length=0.2*Ang,
    constraints=constraints,
    trajectory_filename='TBG-21-relax_trajectory.hdf5',
    trajectory_interval=5.0*Minute,
    restart_strategy=RestartFromTrajectory(),
    optimizer_method=LBFGS(),
    enable_optimization_stop_file=True,
)
nlsave('TBG-21-relax.hdf5', bulk_configuration)
nlprint(bulk_configuration)


# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
path = '/home/energy/zhenlan/ATK/TBG/21/TBG-21-relax.hdf5'
configuration = nlread(path, object_id='BulkConfiguration_1')[0]

# -------------------------------------------------------------
# Dynamical Matrix
# -------------------------------------------------------------
dynamical_matrix = DynamicalMatrix(
    configuration,
    filename='TBG-21-dynmat.hdf5',
    object_id='dynamical_matrix',
    repetitions=(3, 3, 1),
    use_symmetry=False,
    atomic_displacement=0.01*Angstrom,
    acoustic_sum_rule=True,
    finite_difference_method=Central,
    force_tolerance=1e-08*Hartree/Bohr**2,
    processes_per_displacement=4,
    log_filename_prefix='forces_displacement_',
    use_wigner_seitz_scheme=False,
    )
dynamical_matrix.update()

# -------------------------------------------------------------
# Phonon Bandstructure
# -------------------------------------------------------------
phonon_bandstructure = PhononBandstructure(
    configuration=configuration,
    dynamical_matrix=dynamical_matrix,
    route=['G', 'M', 'K', 'G'],
    points_per_segment=100,
    number_of_bands=All
    )
nlsave('TBG-21-dynmat.hdf5', phonon_bandstructure)

If anyone has encountered similar issues or has insights on how to align the settings between ATK and VASP more closely, I would greatly appreciate your input.

Best regards,
ZY
Pages: 1 [2] 3 4 ... 10