Orbital swapping problem


Clicked A Few Times
I have been running DFT calculations on a large molecule, F16-vanadylnaphthalocyanine. The neutral and cation species converge and run just fine, but I have been observing orbital swapping when I attempt to run calculations on the anion. I know what the orbital symmetry order should be, and the orbitals have been mixed around. Also, I have noticed a large difference in energies between the alpha and beta manifolds (beta > alpha). All of my calculations have converged, and there are not any error messages in the output file. I have tried changing the basis set and the functional, using smearing, and using cgmin/rodft with no real success. Any suggestions or ideas for this problem would be greatly appreciated.

Thanks in advance!

Forum Regular
Hi, Have you tried the vectors max_ovl option after swapping the vectors ?
Send us your input file if there are still issues.

Best wishes,
-Niri
niri.govind@pnnl.gov

Clicked A Few Times
I tried the command you suggested, and though the differences in alpha and beta energies are closer, the beta energies are still lower. Also, the orbital ordering is still incorrect. Here is my input file:


start vonc-job9

ECHO
ECCE_PRINT /dtemp/bock788/VONc-/VONc-job9/ecce-job9.out

charge -1
geometry units angstroms
C                    -0.71626194     4.19519869    -0.02119701
C 0.71626194 -4.19519869 -0.02119701
C -4.19519869 -0.71626194 -0.02119701
C 4.19519869 0.71626194 -0.02119701
C -0.71626194 -4.19519869 -0.02119701
C 0.71626194 4.19519869 -0.02119701
C -4.19519869 0.71626194 -0.02119701
C 4.19519869 -0.71626194 -0.02119701
C -1.13211078 2.79954621 0.00269202
C 1.13211078 -2.79954621 0.00269202
C -2.79954621 -1.13211078 0.00269202
C 2.79954621 1.13211078 0.00269202
C -1.13211078 -2.79954621 0.00269202
C 1.13211078 2.79954621 0.00269202
C -2.79954621 1.13211078 0.00269202
C 2.79954621 -1.13211078 0.00269202
V 0.00000000 0.00000000 0.60342645
O 0.00000000 0.00000000 2.20246961
N 0.00000000 -1.95678978 0.01955270
N 0.00000000 1.95678978 0.01955270
N 1.95678978 0.00000000 0.01955270
N -1.95678978 0.00000000 0.01955270
N -2.41510773 2.41510773 -0.00363667
N 2.41510773 -2.41510773 -0.00363667
N -2.41510773 -2.41510773 -0.00363667
N 2.41510773 2.41510773 -0.00363667
C 5.37623912 1.44243179 -0.06713008
C -5.37623912 -1.44243179 -0.06713008
C -1.44243179 5.37623912 -0.06713008
C 1.44243179 -5.37623912 -0.06713008
C 5.37623912 -1.44243179 -0.06713008
C -5.37623912 1.44243179 -0.06713008
C -1.44243179 -5.37623912 -0.06713008
C 1.44243179 5.37623912 -0.06713008
C 6.62965600 -0.72584954 -0.11760692
C -6.62965600 0.72584954 -0.11760692
C 0.72584954 6.62965600 -0.11760692
C -0.72584954 -6.62965600 -0.11760692
C 6.62965600 0.72584954 -0.11760692
C -6.62965600 -0.72584954 -0.11760692
C 0.72584954 -6.62965600 -0.11760692
C -0.72584954 6.62965600 -0.11760692
H 5.36421393 2.52847583 -0.06684708
H -5.36421393 -2.52847583 -0.06684708
H -2.52847583 5.36421393 -0.06684708
H 2.52847583 -5.36421393 -0.06684708
H 5.36421393 -2.52847583 -0.06684708
H -5.36421393 2.52847583 -0.06684708
H -2.52847583 -5.36421393 -0.06684708
H 2.52847583 5.36421393 -0.06684708
C -1.41053245 7.87113788 -0.16721340
C 1.41053245 -7.87113788 -0.16721340
C -7.87113788 -1.41053245 -0.16721340
C 7.87113788 1.41053245 -0.16721340
C -1.41053245 -7.87113788 -0.16721340
C 1.41053245 7.87113788 -0.16721340
C -7.87113788 1.41053245 -0.16721340
C 7.87113788 -1.41053245 -0.16721340
C -0.70582262 9.08693248 -0.21429610
C 0.70582262 -9.08693248 -0.21429610
C -9.08693248 -0.70582262 -0.21429610
C 9.08693248 0.70582262 -0.21429610
C -0.70582262 -9.08693248 -0.21429610
C 0.70582262 9.08693248 -0.21429610
C -9.08693248 0.70582262 -0.21429610
C 9.08693248 -0.70582262 -0.21429610
H -1.24827740 10.02811156 -0.25038830
H 1.24827740 -10.02811156 -0.25038830
H -10.02811156 -1.24827740 -0.25038830

H                    10.02811156     1.24827740    -0.25038830
H -1.24827740 -10.02811156 -0.25038830
H 1.24827740 10.02811156 -0.25038830
H -10.02811156 1.24827740 -0.25038830
H 10.02811156 -1.24827740 -0.25038830
H -7.87393888 -2.49828639 -0.16728256
H 7.87393888 2.49828639 -0.16728256
H 2.49828639 -7.87393888 -0.16728256
H -2.49828639 7.87393888 -0.16728256
H -7.87393888 2.49828639 -0.16728256
H 7.87393888 -2.49828639 -0.16728256
H 2.49828639 7.87393888 -0.16728256
H -2.49828639 -7.87393888 -0.16728256
Symmetry C4v print
end

basis spherical
  • library 6-311g except V
V library 6-31g
end


driver
maxiter 1000
end

dft
vectors max_ovl
cgmin
iterations 1000
mult 3
xc pbe0
end
task dft energy

dft
nocgmin

end
 property
dipole
end
task dft property


Thanks!

Forum Vet
You can do a couple of things to reorder the orbitals:

1. You can read in the vectors/orbitals from the neutral molecule that converged well.

2. You can take the vectors/orbitals from your last run and reorder them using the swap command.

Both are outlined here: http://nwchemgit.github.io/index.php/Release61:Hartree-Fock_Theory_for_Molecules#VECTORS_--_...

I assume you have access to the vectors generated from the calculations you have done so far. I don not see you set the permanent_dir keyword to point to a the directory where you want those files stored (which could mean your files were stored in scratch space).

Bert



Quote:Bock788 Jun 28th 5:07 pm
I tried the command you suggested, and though the differences in alpha and beta energies are closer, the beta energies are still lower. Also, the orbital ordering is still incorrect. Here is my input file:


start vonc-job9

ECHO
ECCE_PRINT /dtemp/bock788/VONc-/VONc-job9/ecce-job9.out

charge -1
geometry units angstroms
C                    -0.71626194     4.19519869    -0.02119701
C 0.71626194 -4.19519869 -0.02119701
C -4.19519869 -0.71626194 -0.02119701
C 4.19519869 0.71626194 -0.02119701
C -0.71626194 -4.19519869 -0.02119701
C 0.71626194 4.19519869 -0.02119701
C -4.19519869 0.71626194 -0.02119701
C 4.19519869 -0.71626194 -0.02119701
C -1.13211078 2.79954621 0.00269202
C 1.13211078 -2.79954621 0.00269202
C -2.79954621 -1.13211078 0.00269202
C 2.79954621 1.13211078 0.00269202
C -1.13211078 -2.79954621 0.00269202
C 1.13211078 2.79954621 0.00269202
C -2.79954621 1.13211078 0.00269202
C 2.79954621 -1.13211078 0.00269202
V 0.00000000 0.00000000 0.60342645
O 0.00000000 0.00000000 2.20246961
N 0.00000000 -1.95678978 0.01955270
N 0.00000000 1.95678978 0.01955270
N 1.95678978 0.00000000 0.01955270
N -1.95678978 0.00000000 0.01955270
N -2.41510773 2.41510773 -0.00363667
N 2.41510773 -2.41510773 -0.00363667
N -2.41510773 -2.41510773 -0.00363667
N 2.41510773 2.41510773 -0.00363667
C 5.37623912 1.44243179 -0.06713008
C -5.37623912 -1.44243179 -0.06713008
C -1.44243179 5.37623912 -0.06713008
C 1.44243179 -5.37623912 -0.06713008
C 5.37623912 -1.44243179 -0.06713008
C -5.37623912 1.44243179 -0.06713008
C -1.44243179 -5.37623912 -0.06713008
C 1.44243179 5.37623912 -0.06713008
C 6.62965600 -0.72584954 -0.11760692
C -6.62965600 0.72584954 -0.11760692
C 0.72584954 6.62965600 -0.11760692
C -0.72584954 -6.62965600 -0.11760692
C 6.62965600 0.72584954 -0.11760692
C -6.62965600 -0.72584954 -0.11760692
C 0.72584954 -6.62965600 -0.11760692
C -0.72584954 6.62965600 -0.11760692
H 5.36421393 2.52847583 -0.06684708
H -5.36421393 -2.52847583 -0.06684708
H -2.52847583 5.36421393 -0.06684708
H 2.52847583 -5.36421393 -0.06684708
H 5.36421393 -2.52847583 -0.06684708
H -5.36421393 2.52847583 -0.06684708
H -2.52847583 -5.36421393 -0.06684708
H 2.52847583 5.36421393 -0.06684708
C -1.41053245 7.87113788 -0.16721340
C 1.41053245 -7.87113788 -0.16721340
C -7.87113788 -1.41053245 -0.16721340
C 7.87113788 1.41053245 -0.16721340
C -1.41053245 -7.87113788 -0.16721340
C 1.41053245 7.87113788 -0.16721340
C -7.87113788 1.41053245 -0.16721340
C 7.87113788 -1.41053245 -0.16721340
C -0.70582262 9.08693248 -0.21429610
C 0.70582262 -9.08693248 -0.21429610
C -9.08693248 -0.70582262 -0.21429610
C 9.08693248 0.70582262 -0.21429610
C -0.70582262 -9.08693248 -0.21429610
C 0.70582262 9.08693248 -0.21429610
C -9.08693248 0.70582262 -0.21429610
C 9.08693248 -0.70582262 -0.21429610
H -1.24827740 10.02811156 -0.25038830
H 1.24827740 -10.02811156 -0.25038830
H -10.02811156 -1.24827740 -0.25038830

H                    10.02811156     1.24827740    -0.25038830
H -1.24827740 -10.02811156 -0.25038830
H 1.24827740 10.02811156 -0.25038830
H -10.02811156 1.24827740 -0.25038830
H 10.02811156 -1.24827740 -0.25038830
H -7.87393888 -2.49828639 -0.16728256
H 7.87393888 2.49828639 -0.16728256
H 2.49828639 -7.87393888 -0.16728256
H -2.49828639 7.87393888 -0.16728256
H -7.87393888 2.49828639 -0.16728256
H 7.87393888 -2.49828639 -0.16728256
H 2.49828639 7.87393888 -0.16728256
H -2.49828639 -7.87393888 -0.16728256
Symmetry C4v print
end

basis spherical
  • library 6-311g except V
V library 6-31g
end


driver
maxiter 1000
end

dft
vectors max_ovl
cgmin
iterations 1000
mult 3
xc pbe0
end
task dft energy

dft
nocgmin

end
 property
dipole
end
task dft property


Thanks!

Clicked A Few Times
I tried using the swap command, and the orbitals did not rearrange accordingly. Can you tell me if I am using the command correctly? First, I established a permanent directory. Then I ran a restart of that calculation, including the swap command. When I viewed the final calculation on ECCE, the orbitals had not moved. What should I do differently?

Forum Vet
Use of the swap command:

dft
vectors output mywronglyorderedvectors.movecs
iterations 1000
mult 3
xc pbe0
end

task dft energy

dft
vectors input mywronglyorderedvectors.movecs swap alpha X Y swap beta A B output mycorrectlylyorderedvectors.movecs
iterations 1000
max_ovl
mult 3
xc pbe0
end

task dft energy

No restart needed. You just have to read in the vectors with the wrong ordering from the previous run.

Bert

Quote:Bock788 Jul 3rd 12:12 am
I tried using the swap command, and the orbitals did not rearrange accordingly. Can you tell me if I am using the command correctly? First, I established a permanent directory. Then I ran a restart of that calculation, including the swap command. When I viewed the final calculation on ECCE, the orbitals had not moved. What should I do differently?

Clicked A Few Times
Thank you so much for your help. Hopefully this will solve the problem.

Clicked A Few Times
Swapping the orbitals has not been working very well. Maybe I am doing something wrong? Here is my process:
-Establish permanent directory, run calculation with no specifications
-Look at output on ECCE, see which vectors need to be swapped
-Run calculation again, inputting .movecs and swapping the appropriate orbitals

The swap occurs, but sometimes, for example, I want to swap vector 199 with 202. These vectors do swap, but the vectors between them become disordered. This can be a problem, especially for the doubly degenerate LUMO of my molecule, which should not be split up. Is there a way to avoid this?

Forum Vet
OK, so I tried this myself. Doing the following I can get to a set of orbitals in which the e is not split (the concern you expressed):

charge +1

dft
odft
iterations 1000
vectors output test.movecs
mult 1
xc hfexch
end
task dft

charge -1

dft
vectors input test.movecs
mult 3
xc hfexch
end
task dft

dft
vectors input test.movecs
mult 3
xc pbe0
max_ovl
end
task dft

What I effectively did is a Hartree-Fock calculation, using a different functional effectively reorder the orbitals enough to get the ordering I was trying to get. Then I do the PBE0 with max_ovl to force the same character on the occupied orbitals.

As you can see the two e-orbitals are lower in energy than the a1 orbital in the alpha space. I wonder if you really are having a e-state that is more of a multireference character.

Bert




Quote:Bock788 Jul 6th 9:32 pm
Swapping the orbitals has not been working very well. Maybe I am doing something wrong? Here is my process:
-Establish permanent directory, run calculation with no specifications
-Look at output on ECCE, see which vectors need to be swapped
-Run calculation again, inputting .movecs and swapping the appropriate orbitals

The swap occurs, but sometimes, for example, I want to swap vector 199 with 202. These vectors do swap, but the vectors between them become disordered. This can be a problem, especially for the doubly degenerate LUMO of my molecule, which should not be split up. Is there a way to avoid this?


Forum >> NWChem's corner >> Running NWChem