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 - Lim changmin

Pages: [1]
1
Sorry for the late reply.
Actually I finally solved the problem
The problem was that I didn't used geometry optimization during calculation.
Because other analysis, such as bandstructure and fermi surface etc. was shown without an error, I assumed that transmission spectrum was the only error that I got.
However, when I done geometry optimization, transmission spectrum showed good results.
sorry for the confusion.

2
Hello, everyone

Recently I got some serious problems with calculating transmission with mgga.

I calculated transmission for Si in 110 direction by following the example on the quantumATK webpage(https://docs.quantumatk.com/tutorials/transmission_gr_mos2/transmission_gr_mos2.html#mos2).

I expected that the transmission should be 0 for the band gap.
However, I got a non-zero transmission for the energy in the band gap as seen in the attached Transmission vs. Energy plot.
I also calculated the band structure which is also attached in this post. And I could see the band structure calculation shows a clear band gap.
I attached the code that I used.

Please take a look and give me any advices to solve this problem.

Thank you

3
General Questions and Answers / Re: Questions about nlread
« on: January 17, 2024, 01:14 »
Thank you!!

4
General Questions and Answers / Re: Questions about nlread
« on: January 8, 2024, 04:47 »
Thank you for your kind reply.
I had already used nlread method like you said.

This is the code that I used

Device_configuration = nlread('Si80_111_5e19_4040.hdf5',DeviceConfiguration_0)[0]

# %% TransmissionSpectrum

kpoints = MonkhorstPackGrid(
    na=100,
    nb=100,
    nc=1,
    symmetries=[
        ([[ 1., 0., 0.],
          [ 0., 1., 0.],
          [ 0., 0., 1.]], [ 0., 0., 0.]),
        ([[-1., 0., 0.],
          [ 0.,-1., 0.],
          [ 0., 0.,-1.]], [ 0., 0., 0.]),
    ],
    force_timereversal=True,
    k_point_shift=None,
    shift_to_gamma=[True, True, True]
)

self_energy_calculator = RecursionSelfEnergy(
    storage_strategy=NoStorage()
)

device_transmission_method = GreensFunction(
    processes_per_contour_point=1,
    )

transmission_spectrum = TransmissionSpectrum(
    configuration=Device_configuration,
    energies=numpy.linspace(0.0, 0.0, 1)*eV,
    kpoints=kpoints,
    kpoints_weights=None,
    self_energy_calculator=self_energy_calculator,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    device_transmission_method=device_transmission_method,
    enforce_zero_in_band_gap=True
)
nlsave('Si80_111_5e19_nlread.hdf5', transmission_spectrum)

But Still the error occurred

Abort(1) on node 36 (rank 36 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 36
  File "Si80_111_1e20_nlread.py", line 1, in <module>
NameError: name 'DeviceConfiguration_0' is not defined
Abort(1) on node 45 (rank 45 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 45
    Device_configuration = nlread('Si80_111_1e20_4040.hdf5',DeviceConfiguration_0)[0]
NameError: name 'DeviceConfiguration_0' is not defined
NameError: name 'DeviceConfiguration_0' is not defined
  File "Si80_111_1e20_nlread.py", line 1, in <module>
Abort(1) on node 20 (rank 20 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 20
Abort(1) on node 23 (rank 23 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 23
                                                            ^^^^^^^^^^^^^^^^^^^^^
NameError: name 'DeviceConfiguration_0' is not defined
Abort(1) on node 30 (rank 30 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 30
    Device_configuration = nlread('Si80_111_1e20_4040.hdf5',DeviceConfiguration_0)[0]
                                                            ^^^^^^^^^^^^^^^^^^^^^
NameError: name 'DeviceConfiguration_0' is not defined
Abort(1) on node 35 (rank 35 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 35

It said that it cannot read DeviceConfiguration_0

I am using 2023.9 version and the location is Si80_111_5e19_4040.hdf5, type is bulk and the name is DeviceConfiguration_0

I already used other nlread type name.

Is there any other way that I could solve this problem?

Thank you

5
General Questions and Answers / Questions about nlread
« on: January 1, 2024, 05:17 »
Hello, and happy new year everyone.

Recently, I had a Deviceconfiguration that successfully converged with PLDOS. It took more than 10 hours

I wanted to reuse it with transmission spectrum, but since it consumed a lot of time, I was planning to redo it with 'nlread function'.

Here is my code

# DeviceConfiguration
Device_configuration = nlread('Si80_111_5e19_4040.hdf5',DeviceConfiguration_0)[0]

#Choose the first configuration in the list
Device_configuration = Device_configuration_list[0]

# %% Set Calculator

Device_configuration.setCalculator(calculator)

Device_configuration.update()

nlsave('Si80_111_5e19_5050trans.hdf5', Device_configuration)

# %% TransmissionSpectrum

kpoints = MonkhorstPackGrid(
    na=50,
    nb=50,
    nc=1,
    symmetries=[
        ([[ 1., 0., 0.],
          [ 0., 1., 0.],
          [ 0., 0., 1.]], [ 0., 0., 0.]),
        ([[-1., 0., 0.],
          [ 0.,-1., 0.],
          [ 0., 0.,-1.]], [ 0., 0., 0.]),
    ],
    force_timereversal=True,
    k_point_shift=None,
    shift_to_gamma=[True, True, True]
)

self_energy_calculator = RecursionSelfEnergy(
    storage_strategy=NoStorage()
)

device_transmission_method = GreensFunction(
    processes_per_contour_point=1,
    )

transmission_spectrum = TransmissionSpectrum(
    configuration=Device_configuration,
    energies=numpy.linspace(0.0, 0.0, 1)*eV,
    kpoints=kpoints,
    kpoints_weights=None,
    self_energy_calculator=self_energy_calculator,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    device_transmission_method=device_transmission_method,
    enforce_zero_in_band_gap=True
)
nlsave('Si80_111_5e19_5050trans.hdf5', transmission_spectrum)

However when I ran the calculation nothing appeared on the log file, and the calculation did not run.

Could somebody please help me with how to use 'nlread' properly?

Thank you.

6
Dear Expert
Hello, I am currently having some problems when running mpi.

My hostfile is dirac1, dirac2... dirac8 and each one contains max. 20 mpi nodes.

I named each hostfile as dirac1=hf1, dirac2=hf2, dirac3+dirac4=hf34

I works well when I run just one hostfile, the calculation runs properly.

However, when the I run hostfiles more than 2 (for example, hf34=dirac3 and 4) the log file only shows blank space, although the terminal, shows that the process is working properly.

Also while allocating mpi, I make hostfile through terminal

vi hf34
dirac3:15
dirac4:15
:wq

and when I run the calculation
mpirun -n hf34 -p 30 home/edrl_04/Desktop/quantum23ver/quantumatk/V-2023.09/bin/atkpython opt_device_conf_110_5e20.py > opt_device_conf_110_5e20.log &

the process allocate as dirac3:20 and dirac4:10 although I already set their process as 15 each. And the log file shows nothing.

I am using 23.9 version of quantum atk and my intel mpi verison is 21.10 version

Is there anything that I can do to fix this 2 major problems?
Thank you for reading the questions.

7
Also when I clicked the Device optimization icon, at 2023-V version, the same error that I asked at the first question appeared again.

8
Also, I have updated to 2023 -V verison and when I ran optimization,  an error appeared like below[/b]

Traceback (most recent call last):
  File "/home/edrl_04/QuantumATK/QuantumATK-U-2022.12-SP1/bin/../atkpython/bin/atkpython", line 8, in <module>
    sys.exit(__run_atkpython())
  File "zipdir/ATKExecutables/atkwrappers/__init__.py", line 879, in __run_atkpython
  File "Device_Interface_2023_NiSi2_100.py", line 542, in <module>
    optimize_geometry_parameters = OptimizeGeometryParameters(
TypeError: __init__() got an unexpected keyword argument 'trajectory_object_id'

My python file was shown below
nlsave('Device_Interface_2023_NiSi2_100.hdf5', device_interface_silicon_alpha_100_nisi2_100)


# %% OptimizeDeviceConfiguration

restart_strategy = RestartFromTrajectory(
    trajectory_filename=None,
    object_id=None
)

optimize_geometry_parameters = OptimizeGeometryParameters(
    max_forces=0.02*eV/Angstrom,
    max_stress=0.1*GPa,
    max_steps=200,
    max_step_length=0.2*Angstrom,
    constraints=[],
    trajectory_filename=None,
    trajectory_object_id=None
    optimize_cell=False,
    optimizer_method=LBFGS(),
    target_stress=None,
    pre_step_hook=None,
    post_step_hook=None,
    constrain_bravais_lattice=True,
    trajectory_interval=1,
    restart_strategy=restart_strategy,
    enable_optimization_stop_file=True,
    write_raw_stress=None,
    write_raw_forces=None
)

optimize_device_configuration = OptimizeDeviceConfiguration(
    device_configuration=device_interface_silicon_alpha_100_nisi2_100,
    filename='Device_Interface_2023_NiSi2_100.hdf5',
    object_id='opt_device_conf',
    calculator=None,
    optimization_region_length=10.0*Angstrom,
    optimization_region_center=None,
    passivate_electrode_surfaces=(True, True),
    optimize_geometry_parameters=optimize_geometry_parameters,
    log_filename_prefix='optimizedeviceconfiguration',
    perform_device_optimization=False
)
optimize_device_configuration.update()
optimized_device_configuration = optimize_device_configuration.result()

nlsave('Device_Interface_2023_NiSi2_100.hdf5', optimized_device_configuration, object_id='opt_device_conf_1')

This error didn't occured in 2020 version so I am wondering what would have caused that error.


Thank you


9
I am posting py file just in case of optimization

# %% OptimizeDeviceConfiguration

optimize_geometry_parameters = OptimizeGeometryParameters(
    max_forces=0.02*eV/Angstrom,
    max_stress=0.1*GPa,
    max_steps=200,
    max_step_length=0.2*Angstrom,
    constraints=[],
    optimize_cell=False,
    optimizer_method=LBFGS(),
    target_stress=None,
    pre_step_hook=None,
    post_step_hook=None,
    constrain_bravais_lattice=True,
    trajectory_interval=1,
    restart_strategy=RestartFromTrajectory(),
    enable_optimization_stop_file=True
)

optimize_device_configuration = OptimizeDeviceConfiguration(
    device_configuration=device_interface_silicon_alpha_100_nisi2_100,
    filename='Device_Interface_Silicon_alpha_100_NiSi2_100_results.hdf5',
    object_id='opt_device_conf',
    calculator=None,
    optimization_region_length=40.0*Angstrom,
    optimization_region_center=None,
    passivate_electrode_surfaces=(True, True),
    optimize_geometry_parameters=optimize_geometry_parameters,
    log_filename_prefix='optimizedeviceconfiguration',
    perform_device_optimization=False
)
optimize_device_configuration.update()
optimized_device_configuration = optimize_device_configuration.result()

nlsave('Device_Interface_Silicon_alpha_100_NiSi2_100_results.hdf5', optimized_device_configuration, object_id='opt_device_conf_1')

10
Thank you for your reply. And also when I ran nisi2 calculation without optimization, it worked.

So I am now suspecting that the optimization is the only problem that I got.

Can you please help with device optimization error?

Thank you

11
I was studying on tutorial of NiSi2/Si interface.
While doing that, I tried to optimize NiSi2/Si using device optimization tools in Script generator. The device range was 100 Angstrom total(64 for Si and 36 for NiSi2) and I set device optimization range to 40 Angstrom
It went well on 2020 version.
But when I ran the calculation in 2022-U version, the calculation suddenly stopped and showed the error that I posted above.
However when I ran other tutorials that used only bulk configurations, it worked well.

So I am suspecting that the calculation error occurred only at device configuration calculation.

But I am not sure what exactly caused that error on the last sentence(heavy weight and light weight instance)

12
Hello, my name is changmin Lim and I am currently using Quantum-atk 2022.12-U version

Recently when I was calculating device I ran into unknown error.

Traceback (most recent call last):
  File "zipdir/NL/GUI/Tools/Data/DataCatalogWidget.py", line 793, in _onDoubleClicked
  File "zipdir/NL/GUI/Tools/Data/DataCatalogWidget.py", line 896, in open
  File "zipdir/NL/GUI/Tools/Data/DataCatalogWidget.py", line 896, in <listcomp>
  File "zipdir/NL/GUI/Tools/Data/ToolAnalysisPlugins.py", line 214, in createWidget
  File "zipdir/NL/GUI/Tools/Tool.py", line 960, in dropEvent
  File "zipdir/NL/GUI/DnD/DropExtractor.py", line 618, in extract
  File "zipdir/NL/GUI/DnD/DropExtractor.py", line 248, in mimeDataTextsFromInstances
  File "zipdir/NL/IO/NLPrint.py", line 70, in nlprint
  File "zipdir/NL/Study/Study.py", line 939, in nlprint
  File "zipdir/NL/Study/OptimizeDeviceConfiguration.py", line 514, in _nlprint
  File "zipdir/NL/Study/OptimizeDeviceConfiguration.py", line 463, in result
  File "zipdir/NL/Study/Study.py", line 620, in _results
  File "zipdir/NL/Study/Study.py", line 587, in _tasks
  File "zipdir/NL/Study/Study.py", line 510, in _workflow
NL.ComputerScienceUtilities.Exceptions.NLValueError: The study object workflow not available on a lightweight instance. To access the workflow read the study object as a heavyweight instance.


I tried to search heavyweight and lightweight on qna, but nothing was found.

also, I tried to find txt files that showed on error, but I could not find the error line as well.

Can anyone help me with this error?
Thank you

Pages: [1]