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

Pages: [1]
1
Hello, everyone!

I used the IVCharacteristics function to calculate the effective potential at many different voltage points.
Now, I want to extract the effective potential and current density data at a specific voltage point for further processing.
However, I'm not sure which command I should use to extract the data.

Could anyone help me with this?
Thank you all!

Based on my current understanding,
if the HDF5 file only contains device_configuration and effective potential,
this type of command can be used to read the data:
veff1 = nlread('result.hdf5', EffectivePotential)[0]
However, I am still unsure about the reading format for IVCharacteristics.

There are additional questions
Is there a way to read these device_configurations from IVCharacteristics and use them to calculate other physical quantities?
Thank you all!






2
Hello everyone
Because I need to make some changes to the structure and save it as a new structure, and the new structure must be in the form of a cif file.
So is there any way to convert the structure in atkpython form into cif file form using command line or python syntax?
Thanks!

3
Hello everyone!

Currently, I need to calculate three properties: IV characteristics, current density, and effective potential.
Each time, I have to restart the SCF calculation from scratch.

I would like to ask: is it possible to use the electron density obtained from the IV characteristics calculation for the effective potential calculation?
Would it work if I directly use nlread to read the HDF5 file generated from the IV characteristics?

Or are there other ways to improve the efficiency?

Thank you all!

4
Hi everyone!
Because coredump happens frequently on my server.
I confirm that my memory usage is sufficient (but I'm not sure if my ram is damaged)
I am calculating the IV of a 2-lead device. My plan is that I want my job to first converge to dE and dH 1e-2, then use this as the Initial state to calculate 1e-3, and finally converge to 1e- 4 or less, can this be done? If it can be done, how should it be done? If not, is there a similar method?
thank you

5
Hi everyone,
My JOB has encountered Segmentation fault frequently recently.
I'm pretty sure there is enough ram during the calculation,
When doing SCF operation, the first few steps can be calculated stably, but it will stop when calculating the Calculating Density Matrix at a certain step.
The log file look like this at the end:
+------------------------------------------------------------------------------+
| Total Density Report                    DM           DD           dQ         |
+------------------------------------------------------------------------------+
| Left Electrode Extension            64.85281    -25.14719    -25.14719       |
| Right Electrode Extension           64.42974    -25.57026    -25.57026       |
| Central Region                    1532.77422    -33.22578    -33.22578       |
+------------------------------------------------------------------------------+
|  15 E = -509.293 dE =  2.042577e+00 dH =  4.867394e-01                       |
+------------------------------------------------------------------------------+

                            |--------------------------------------------------|
Calculating Density Matrix : ===========================

mobaxterm will display:
===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 58 PID 27109 RUNNING AT 512.lab.nycu.edu.tw
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 59 PID 27123 RUNNING AT 512.lab.nycu.edu.tw
=   KILLED BY SIGNAL: 11 (Segmentation fault)
===================================================================================
My ATK version is 2023.12-sp1 and operating system is CentOS 8
I only calculate the system of 240 atoms-noncollinear-FHI-DZP basis
I want to know how to solve the problem, or why the problem occurs.
Thanks!


6
General Questions and Answers / How to reduce memory usage
« on: October 2, 2024, 14:44 »
Hello!
I am currently calculating a structure with 229 atoms in the central region with spin orbit coupling.
My server have 96 cores 512G ram
The MPI setting number of  processors is 64.
When atk calculates the central region, the memory usage will be insufficient.
Besides turning off SOC, is there any other way to reduce memory usage?
Thanks!

7
Installation and License Questions / Error in open quantumatk
« on: September 25, 2024, 15:56 »
Hello,
I am have some problem on opening quantumatk.
My linux version is Centos8 and the python version is 3.6.8
I get atk file from TSRI website
I can source the file which is /usr/cad/synopsys/CIC/qatk.cshrc
But open quantumatk , it have some error, it is like:
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'
[root@512 synopsys]# quantumatk
/usr/cad/synopsys/qatk/cur/bin/quantumatk: /cad/synopsys/qatk/2023.12/atkpython/ bin/quantumatk: /user/cad/synopsys/qatk/2023.12/quantumatk/V-2023.12/atkpython/bin/python3.11 :bad interpreter: no such file or directory
/usr/cad/synopsys/qatk/cur/bin/quantumatk:line 66: /cad/synopsys/qatk/2023.12/atk python/bin/quantumatk:success
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'
So,Need I upgrade the python version? , or need I delete all the atk file and install atk again?
Thanks!


8
Hello everyone.

I want to restart a calculation
I find this in quantumatk tutorial
https://docs.quantumatk.com/tutorials/restarting_calculations/restarting_calculations.html
It says I need to add the line
"device_configuration = nlread("checkpointfile.hdf5")[0]"
before
"device_configuration.update()"

But my script is like this:
# Set up configuration
central_region = BulkConfiguration(
    bravais_lattice=central_region_lattice,
    elements=central_region_elements,
    cartesian_coordinates=central_region_coordinates
    )

# Add metallic region
metallic_region_0 = BoxRegion(
    -0.7*Volt,
    xmin = 0.0*Angstrom, xmax = 0.9*Angstrom,
    ymin = 0.0*Angstrom, ymax = 5.6*Angstrom,
    zmin = 13.0*Angstrom, zmax = 90.0*Angstrom,
)

metallic_region_1 = BoxRegion(
    -0.7*Volt,
    xmin = 25.5*Angstrom, xmax = 26.31*Angstrom,
    ymin = 0.0*Angstrom, ymax = 5.6*Angstrom,
    zmin = 13.0*Angstrom, zmax = 90.0*Angstrom,
)

metallic_regions = [metallic_region_0, metallic_region_1]
central_region.setMetallicRegions(metallic_regions)

# Add dielectric region
dielectric_region_0 = BoxRegion(
    3.9,
    xmin = 0.9*Angstrom, xmax = 8.9*Angstrom,
    ymin = 0.0*Angstrom, ymax = 5.6*Angstrom,
    zmin = -2.5*Angstrom, zmax = 105.0*Angstrom,
)

dielectric_region_1 = BoxRegion(
    3.9,
    xmin = 17.5*Angstrom, xmax = 25.5*Angstrom,
    ymin = 0.0*Angstrom, ymax = 5.6*Angstrom,
    zmin = -2.5*Angstrom, zmax = 105.0*Angstrom,
)

dielectric_regions = [dielectric_region_0, dielectric_region_1]
central_region.setDielectricRegions(dielectric_regions)

 device_0321_01 = DeviceConfiguration(
    central_region,
    [left_electrode, right_electrode],
    equivalent_electrode_lengths=[2.584, 2.584]*Angstrom,
    transverse_electrode_repetitions=[[1, 1], [1, 1]],
    )
# device_0321_01 = nlread("tmp/dojo0715.hdf5")[0]

# %% Set DeviceLCAOCalculator

# %% DeviceLCAOCalculator

#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = NCLDA.PZ

k_point_sampling = KpointDensity(
    density_a=1.0*Angstrom,
    density_b=10.0*Angstrom,
    density_c=200.0*Angstrom
)

numerical_accuracy_parameters = NumericalAccuracyParameters(
    density_mesh_cutoff=80.0*Hartree,
    k_point_sampling=k_point_sampling,
    occupation_method=FermiDirac(
        broadening=300.0*Kelvin
    )
)

#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
    BasisLDAPseudoDojo.Selenium_Medium,
    BasisLDAPseudoDojo.Rhodium_Medium,
    BasisLDAPseudoDojo.Tungsten_Medium,
    ]



iteration_control_parameters = IterationControlParameters(
    max_steps=3000,
    damping_factor=0.079,
    non_convergence_behavior=StopCalculation()
)

device_algorithm_parameters = DeviceAlgorithmParameters(
    initial_density_type=NeutralAtom(
        electrode_constraint_length=10.0*Angstrom,
        )
)

poisson_solver = MultigridSolver(
    boundary_conditions=[
        [NeumannBoundaryCondition(), NeumannBoundaryCondition()],
        [PeriodicBoundaryCondition(), PeriodicBoundaryCondition()],
        [DirichletBoundaryCondition(), DirichletBoundaryCondition()]
    ]
)

contour_parameters = ContourParameters(
    equilibrium_contour = SemiCircleContour(
        circle_points=40
    )
)

checkpoint_handler = CheckpointHandler(
    file_name='/home/weixiang/tmp/dojo0729.hdf5'
)

calculator = DeviceLCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    iteration_control_parameters=iteration_control_parameters,
    device_algorithm_parameters=device_algorithm_parameters,
    poisson_solver=poisson_solver,
    contour_parameters=contour_parameters,
    electrode_voltages=[ 0.  , -0.05]*Volt,
    checkpoint_handler=checkpoint_handler
)
# %% Set Calculator

device_0321_01.setCalculator(calculator)

nlsave('0715_6w_dojo_general_0v_electrode_diele_filled_k1*10_1*100.hdf5', device_0321_01)


# %% IVCharacteristics

kpoints = MonkhorstPackGrid(
    nb=100
)

iv_characteristics = IVCharacteristics(
    configuration=device_0321_01,
    filename='0715_6w_dojo_general_0v_electrode_diele_filled_k1*10_1*100.hdf5',
    object_id='ivc',
    gate_source_voltages=numpy.linspace(0.0, 0.0, 1)*Volt,
    drain_source_voltages=numpy.linspace(-0.05, -0.05, 1)*Volt,
    energies=numpy.linspace(-3.0, 3.0, 101)*eV,
    kpoints=kpoints
)

iv_characteristics.update()

I can't find "device_configuration.update()"
So, I don't know how to insert "device_configuration = nlread("tmp/dojo0715.hdf5")[0]" in my script.
Can anyone help me?
Thanks!

9
Hello everyone.

I am studying dual gate TMD-FET. I knew before that TMD is a material with strong Spin-orbit coupling.
But my server does not have the ability to enable the calculation with noncollinear spin and Spin-orbit coupling.
I want to know whether Spin-orbit coupling or noncollinear spin has a great influence on the current?

ps. The current refers to the Id-Vg current of iv-characteristics

10

Hello everyone,
I want to know how to add dielectric to the electrode region,
Because the dielectric of my structure must cover the entire component,
I don't understand why there is a warning "Spatial regions extending into the electrodes are ignored during the electrode calculation"

Pages: [1]