Generation of NDOs and queries about NTOs

Hello!

I have a couple questions regarding NTOs and NDOs.

  1. Is there a way to generate natural orbitals for the difference density (NDOs) in Q-chem (preferably in cube files)? I’m interested in obtaining them both for TDDFT calculations and when I have two separate densities (for the same geometry and basis set).

  2. I’d like to obtain natural transition orbitals (NTOs) for three lowest triplet states of my system. Even though I specify “cis_singlets = false” in my input ($rem and $plots sections of myinput pasted below), Q-Chem runs analysis of the singlet states as well. Why is that?
    Moreover, it performs NTO analysis for all the excited states (both singlets and triplets) using the state-averaged NTOs. Are the NTOs averaged over all the states (triplets and singlets, even though only triplets were required), or is it done only for the triplets?

$rem
jobtype sp
method camb3lyp
dft_d d3_bj
basis gen
purecart 11
print_general_basis true
gen_scfman false
max_scf_cycles 500
scf_guess read
scf_convergence 9
scf_final_print true
mem_static 2000
mem_total 80000
cis_n_roots 3
cis_triplets true
cis_singlets false
cis_relaxed_density true
rpa false
solvent_method pcm
molden_format true
iqmol_fchk true
make_cube_files ntos
cubefile_state 1
plots true
nto_pairs true
$end

$plots
grid_points 200 200 200
natural_transition_orbital 1
$end

(1) It appears that NDOs are available through libwfa; see manual.
(2) Why do you say that the NTOs are state-averaged? I also do not see the problem that you indicate when I run a job with your input. Note that by specifying CUBEFILE_STATE = 1, you are asking to get a set of NTOs for one particular state. That’s what I see in my output.

  1. I did try to generate them, but unfortunately with no success. The variations of input that I tested are:
    (everything in rem section stayed the same as in the original question, I just paste the parts that were changing)

i) $rem
[…]
make_cube_files ntos
cubefile_state 1
plots true
nto_pairs true
$end

$plots
grid_points 200 200 200
attachment_detachment_density 1
$end

ii) $rem
[…]
plots true
make_cube_files true
nto_pairs true
$end

$plots
grid_points 200 200 200
natural_transition_orbital 1
attachment_detachment_density 1
$end

iii) $rem
[…]
print_orbitals true
nto_pairs true
state_analysis true
$end

In i) and ii) I get the same set of orbitals as before, which I believe are NTOs (is that correct?).
In iii) I get an empty directory called filename.plots.
So what should I have in my input to actually obtain the NDOs?

  1. Yes, you are right, thank you.
    I was looking at the third job in the same run, where I ran the wavefunction analysis. There I was analyzing the excited states, both triplet and singlet, and there I had a section called “State-Averaged NTO Decomposition”, thus the second part my original question, which I did misformulate, I’m sorry.

The manual suggests that LIBWFA (activated by setting STATE_ANALYSIS = TRUE) supports NDOs, though the details are unclear. What are you trying to plot? Natural orbitals of relaxed DeltaP ?

Yes, exactly.
I would be glad if there was possibility to see both relaxed and unrelaxed natural orbitals of DeltaP, but just relaxed is also fine.

What’s more, I tried running input straight from the manual (https://manual.q-chem.com/latest/subsec_esanacc.html, example 10.5), and while I do obtain orbitals’ analysis (via libwfa), I am still not getting any orbitals. I’m using Q-Chem version 6.0.1. What could possibly be the issue?

do you not get a directory containing cube files? e.g., when I run example 10.5 in the manual using

qchem -nt 2 -save ex10-5.in ex10-5.out ex10-5 &

where the input file is

$molecule
   0 1
   C    1.194380    1.102510    0.000000
   C   -0.008366    1.692430    0.000000
   N   -1.169600    0.978035    0.000000
   C   -1.212060   -0.402293    0.000000
   N    0.034691   -0.979140    0.000000
   C    1.281590   -0.348737    0.000000
   O   -2.243420   -1.023750    0.000000
   O    2.299180   -0.995854    0.000000
   H   -0.123160    2.767140    0.000000
   H   -2.061440    1.444100    0.000000
   H    0.044818   -1.989990    0.000000
   H    2.104720    1.679840    0.000000
$end

$rem
   METHOD            pbe0
   BASIS             def2-sv(p)
   CIS_N_ROOTS       4
   CIS_SINGLETS      true
   CIS_TRIPLETS      true
   RPA               false
   STATE_ANALYSIS    true
   MOLDEN_FORMAT     true
   NTO_PAIRS         3
   MAKE_CUBE_FILES   true
   ESP_GRID          -3
$end

$plots
Write cube files for all 4 states
70  -3.5  3.5
70  -3.5  3.5
30  -1.5  1.5
0  4  0  0
1 2 3 4
$end

then I get a directory ex10-5.out.plots filled with cube files:

The same directory appears is $QCSCRATCH/ex10-5/plots so check there if you don’t find this. (That should get copied at the end to the directory from which you ran the calculation.)

Yes, I was getting the directory filled with cube files of various densities, but as I had said before - I was interested in obtaining orbitals, so files with _ndo.mo, _nto.mo and _no.mo endings.

Ultimately I was able to generate them. In order to do that, in 10.5 example I needed to set make_cube_files = false (the support team said that Q-Chem doesn’t yet allow for simultaneous generation of both cube and molden-formatted files, so it’s one or the other). When I did that I got what I was looking to generate:

Moreover, to obtain orbital files from my original input, I also had to set iqmol_fchk = false as well and use old $plots input (which needed plots = false) (I wasn’t able to get the orbitals using the new $plots input at all).

Thank you for looking into the subject!

Can you post an input file for this? I would be happy to add another example alongside 10.5 that clarifies that is going on.

Certainly!
My input for 10.5 that allowed me to obtain the orbital files is as follows:

$molecule
   0 1
   C    1.194380    1.102510    0.000000
   C   -0.008366    1.692430    0.000000
   N   -1.169600    0.978035    0.000000
   C   -1.212060   -0.402293    0.000000
   N    0.034691   -0.979140    0.000000
   C    1.281590   -0.348737    0.000000
   O   -2.243420   -1.023750    0.000000
   O    2.299180   -0.995854    0.000000
   H   -0.123160    2.767140    0.000000
   H   -2.061440    1.444100    0.000000
   H    0.044818   -1.989990    0.000000
   H    2.104720    1.679840    0.000000
$end

$rem
   METHOD            pbe0
   BASIS             def2-sv(p)
   CIS_N_ROOTS       4
   CIS_SINGLETS      true
   CIS_TRIPLETS      true
   RPA               false
   STATE_ANALYSIS    true
   MOLDEN_FORMAT     true
   NTO_PAIRS         3
   MAKE_CUBE_FILES   false
   ESP_GRID          -3
$end

$plots
Write cube files for all 4 states
70  -3.5  3.5
70  -3.5  3.5
30  -1.5  1.5
0  4  0  0
1 2 3 4
$end

I have made these changes and this will appear in the manual for Q-Chem v. 6.2

Hi,

Just a comment here. You don’t actually want the ESP_GRID = -3 option. This will cause Q-Chem to compute the ESPs associated to all transition, excess electron, and hole densities. This is quite expensive.

Otherwise, there is the keyworkd WFA_LEVEL =4 that will produce cube files of the NTOs if MAKE_CUBE_FILES is on. I don’t know if it will produce NDOs. I’ll have another think about how to do the keywords and documenting them.

And, by the way, if you add CIS_RELAXED_DENSITIES to the above input, then you will get the NDOs and attachment/detachment densities also for the relaxed densities.