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 2 3 [4]
46
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.

47
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.

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

49
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


50
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')

51
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

52
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)

53
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 2 3 [4]