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

Pages: [1] 2 3 ... 13
1
Note that there is no 2022.12 version, as you wrote...

I have no problems running this in V-2023.12-SP1, it converged in about 8 minutes on my laptop.

Thanks for your kind reply. It is exactly U-2022.12-SP1.

With best regards,
/Guang-Ping Zhang

2
I don't recall exactly when we added stress to the planewave model. We can try to run your script in the new version if you share it, but we can't support the old version.

Dear Anders,

Thanks for your kind reply. Please find the attached .py file.

With best regards,

/Guang-Ping Zhang

4
Dear ATK staff,

I have tried to use potentials PlaneWaveCalculator with PAW pseudopotential method to do geometry optimization. However, errors always occur as following:
===========
    sys.exit(__run_atkpython())
  File "zipdir/ATKExecutables/atkwrappers/__init__.py", line 879, in __run_atkpython
  File "O-PW-GPAW.py", line 65, in <module>
    bulk_configuration = OptimizeGeometry(
  File "zipdir/NL/Dynamics/Optimization/OptimizeGeometry.py", line 605, in OptimizeGeometry
  File "zipdir/NL/Dynamics/Optimization/OptimizeGeometry.py", line 1380, in runRelaxation
  File "zipdir/NL/Dynamics/Optimization/OptimizeGeometry.py", line 885, in atomicForces
  File "zipdir/NL/Dynamics/Optimization/OptimizeGeometry.py", line 794, in _update
  File "zipdir/NL/Dynamics/MolecularDynamics/DynamicsEnergyForcesStress.py", line 30, in wrapped_analysis
  File "zipdir/NL/Calculators/DensityFunctionalTheory/LCAOCalculator/Analysis/FastEnergyForcesStress.py", line 35, in energyFunction
  File "zipdir/NL/Calculators/DensityFunctionalTheory/LCAOCalculator/Analysis/FastEnergyForcesStress.py", line 72, in _checkAndUpdate
  File "zipdir/NL/Calculators/DensityFunctionalTheory/LCAOCalculator/Analysis/FastEnergyForcesStress.py", line 104, in _update
  File "zipdir/NL/Calculators/DensityFunctionalTheory/PlaneWaveCalculator/Analysis/EnergyForcesStress.py", line 99, in calculatePlaneWaveEnergyForcesStressFast
  File "zipdir/NL/ComputerScienceUtilities/Flowchart.py", line 685, in execute
  File "zipdir/NL/ComputerScienceUtilities/Flowchart.py", line 676, in executeBlock
  File "zipdir/NL/Calculators/DensityFunctionalTheory/PAW/Blocks/ElectronDifferenceDensity.py", line 62, in execute
TypeError: calculateElectronDifferenceDensity() takes 4 positional arguments but 6 were given
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 9
==========

How can I fix this problem? Or it is the feature of PAW pseudopotential method? The single-point energy calculations are OK.

With best regards,

/Guang-Ping Zhang

5
Hm, so effectively just creating a dipole in the metal? Not quite the same thing... Note that there is also non-conservation of the number of electrons in the central region so the charging of the molecule occurs not just from the neighboring metal atoms, but indeed from the infinite reservoirs.

Maybe it would be more efficient to consider a SurfaceConfiguration instead, which is a one-probe device with only one metal electrode, and you can run the potential of the metal to induce charge transfer to/from the molecule?

Dear Anders Blom,

Thanks so much for your  kind reply. In fact, I want to optimize the geometry of the junction under the bias. However, for a two-probe system, this has not been realized and it also will time consuming.

With best regards,
/Guang-Ping Zhang

6
Dear ATK staffs,

When I apply a bias voltage on the two electrodes of a sinlge-molecule junction, comprised of a single-molecule and two metal electrodes, what is the substantial change for the metal electrodes and the metal atoms in the screening regions?

As I understand, there is no change in the two metal electrodes except for a relative shift of the Fermi energies of the two metal electrodes. However, the electron populations, the DOS and anything else are the same with that at equilibrium. But for the metal atoms in the screening regions, they will suffer a electric field arising from the bias voltage. So, after the SCF for electronic structures, the electron populations, DOS and other quantities are also correspondingly changed. The aim of electron redistribution in the left and right parts of screening regions is to resist the electric field arising from the bias voltage. If so, the atoms in the screening region are no longer neutral. Taking the screening region which is adjacent to the electrode with a positive bias applied as an example, the atoms in the screening region close to the single molecule will be positively charged while the atoms in the screening region close to the electrode-screening region interface will be negatively charge. That is, the atoms at the two ends of the screening region are oppositely charged forming a double electrical layer.

So, if I want to use a cluster of metal atoms to approximately represent the bulk electrode, can I artificially set a double electrical layer by doping function (positively doping and negatively doping at the two ends of each atomic metal cluster) in ATK to mimic the effect of bias voltage on the metal atoms close to the core molecule (this will also promote the electron transfer between metal atoms and core molecule)? And by this way, I can even explore the spatial distributions of ions in the surrounding solvent since their spatial distributions certainly affect the energy level alignments between the core molecule and electrodes in the junction.

Please give some comments and guides. Thanks so much.


With best regards,

/Guang-Ping Zhang

7
Dear all,

In ATK, one can use DFT+U method. However, the value of U is also very important. Is there a way or a tutorial for an ATK user to fix the value of U by using the linear response approach in DOI: 10.1103/PhysRevB.71.035105?

With best regards,

/Guang-Ping Zhang

8
General Questions and Answers / Re: photocurrent
« on: August 3, 2021, 10:49 »
The photon mediated transmission is not plotted in the gui but you can obtain the data from the object as you are suggesting.

energies = photocurrent.energies().inUnitsOf(eV)
transmission = photocurrent.photonMediatedTransmission(photon_mode=0)

and then plot these two variables with pylab or other prefered plotting tools (select wanted photon_mode index for which you want to plot the transmission).
Please see the object description here for further details:
https://docs.quantumatk.com/manual/Types/Photocurrent/Photocurrent.html#NL.Analysis.Photocurrent.Photocurrent

Dear Tue Gunst,

I now can get the photon mediated transmission.

Thanks very much for your kind reply.

With best regards,

/Guang-Ping Zhang

9
Dear ATK developers:

In the past days, I have looked into the photocurrent module in QuantumATK. As I understand,
(1) the photocurrent obtained by the photocurrent module is only the current induced by the photo illumination and it does not include that induced by the voltage between the source and drain.
(2) the transmission obtained from photonMediatedTransmission function is also the transmission induced by the photo illumination because I find the transmission is always zero for photon_energy = 0.0 eV.

Am I right?

(3) However, when I integrate the transmission obtained from photonMediatedTransmission function, the result is very different from the one obtained by Photocurrent module (from Photocurrent Report). Can you give some hints?

With best regards,

/Guang-Ping Zhang

10
General Questions and Answers / Re: photocurrent
« on: July 19, 2021, 05:35 »
Convergence checks should be performed for the usual DFT settings.
When a good DFT simulation has been performed the kpoints and energies/energy_resolution used in the Photocurrent calculation should be checked.

A bias voltage is included in the usual way through the device calculator. Then one perform the calculation of the Photocurrent for each separate and converged device configuration at a given bias voltage.

The Photocurrent object has a query function "photocurrent.photonMediatedTransmission(photon_mode,...)" that can be used to obtain the transmissions as a function of energy for a selected photon energy index "photon_mode".
Please see the reference manual entry for Photocurrent for full description of the inputs to this query function:
https://docs.quantumwise.com/manual/Types/Photocurrent/Photocurrent.html#photocurrent-c


Dear Tue Gunst,

I also want to obtain the photon mediated transmission like that in Figure 6c of your paper [Nano Letters 2018 18 (11), 7275-7281]. However, when I use the following script in the .py input file, nothing obtianed except the photocurrent. Can you kindly give some help? thanks!

===
# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
device_configuration = nlread('Au-Ben-Au-0.0.hdf5')[1]

# -------------------------------------------------------------
# Photocurrent
# -------------------------------------------------------------
kpoints = MonkhorstPackGrid()

photocurrent = Photocurrent(
    configuration=device_configuration,
    energies=numpy.linspace(-2, 2, 101)*eV,
    photon_energies=numpy.linspace(0, 5, 10)*eV,
    kpoints=kpoints,
    photon_polarization=[0+0j, 0+0j, 1+0j],
    energy_resolution=0.05*eV,
    calculate_all_transmissions=True,
    )
nlsave('Au-Ben-Au-0.0-PC.hdf5', photocurrent)

photocurrent.photonMediatedTransmission(photon_mode=0)

===

11
Dear ATK developers and users:

I want to know for a two-probe single-molecule junction, in the Class of Photocurrent,
(1) which region of the junction the photo illuminated on? That is, in the calculation, which region of the excitation is considered?
(2) Is the output photocurrent the current only induced by photon? That is, it does not include the current without photo illumination?
(3) How to get the photon-mediated transmission by using photonMediatedTransmission function? Can you give me an example?
(4) How to deal with the photocurrent calculations for a finite bias voltage applied on the junction? Specifically, how to set the energy lower and upper boundaries for the calculations with respect to a series of photons.

Thanks very much.

/Guang-Ping Zhang

12
Dear ATK developers:

Recently, I have dug on the function of photocurrent implemented in QuantumATK 2018.06. But, I have a few confusing questions about this function.

1) The manual gives the formula about how to calculate photocurrent,

I_{\alpha, \sigma} = \frac{e}{\hbar}\int \frac{dE}{2\pi}\sum_{k} T_\alpha(E, k, \sigma).

What are the lower and upper limits of the integral?

2) The obtained photocurrent from the above formula is just a photo induced current, which is a correction to the bias induced correction, Right? That is, the photocurrent does not contains the bias induced current.

3) How does the photocurrent flow, that is the flow direction, through a molecular junction, for zero bias and a finite bias?

4) On can only include the bias effect on photocurrent by using a *hdf5 file for a two probe junction converged under a bias?

Can you please kindly provide some more elementary tutorials or instructions or readings on photocurrent about, for example, the mechanism, etc.

With best regards,

/Guang-Ping Zhang

13
If you set the confinement start radius and the radial cutoff radius very close one another, and increase the confinement strength dramatic, you will effectively have
a Sankey Hard Well potential.

Dear Nordland,

Another question on this topic is that how can I tune the radial_cutoff_radius to a very small value? When I tried to set is to a small value, such as 0.5 Bohr, ATK will abort.

With best regards,

/Guang-Ping Zhang

14
Width of transmission resonances related to the HOMO and LUMO energy levels of the molecule is a measure of the coupling. In the limit of fully-decoupled molecule, the  width goes to zero, as well as the coupling. This must be seen in the Transmission Spectrum, which can be computed in both 2015 and 2018 versions. If you use some simple  tight-binding model, you may then try fitting parameters of that model to ab initio data obtained from QuantumATK Transmission spectrum. As an example of how ab initio derived conductance calculations can be interpreted using a tight-binding model, see Phys. Rev. B 74, 165416 (2006).  It shows how the charge transfer and the coupling may affect the electron transport through molecule-like junctions. I also note that there must be a plenty of this kind of empirical studies on molecular junctions in the literature.

Dear Petr Khomyakov,

Thanks for your kind reply. I will look into those references.

With best regards,

/Guang-Ping Zhang

15
It is hard to give any short answers to your questions. There is a vast literature on this topic. So, I would suggest you searching and reading books and papers to learn about it.

2015.1 version is too old, so it is missing many features we have now in the code. You may still try using electron density and electron difference density to quantify the charge redistribution upon sandwiching the molecule between the two electrodes, e.g., see how that is done for covered surfaces, Eq. (2) and (3) in Phys. Rev. B 79, 195425 (2009). For your information, there is no support for 2015 version any longer.

Dear Petr Khomyakov,

Thanks for your kind reply.

Is there any method that can directly give some evident for coupling strength between molecule and electrode in molecular junction by the recent version of ATK? We have updated our ATK-2015.1 to  ATK-2018.6 a few months ago.

With best regards.

/Guang-Ping Zhang

Pages: [1] 2 3 ... 13