dft geopt problem


Clicked A Few Times
I'm a beginner at nwchem and seem unable to optimize the geometry of a simple organic
molecule to 'tight' convergence criteria using blyp/dvp. With inputs like the one below it almost but never quite makes it - same story with fine and ultrafine grids. The HF version converges cleanly in ca 30 steps.

So it seems something needs to be tightened - can anyone give me a clue here?

Thanks

Richard

scf
thresh 1e-8
end

driver
eprec 1e-8
gmax 1.5e-5
maxiter 500
end

basis spherical
  P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
 grid fine
tolerances tight
convergence energy 1e-8
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize

Forum Vet
My first recommendation is to run it with all the defaults:

driver
maxiter 500
end

basis spherical
 P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
tolerances tight
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize


After that, I'll need a full input deck to see what is going on.


Bert

Quote:Richard Apr 10th 3:21 pm
I'm a beginner at nwchem and seem unable to optimize the geometry of a simple organic
molecule to 'tight' convergence criteria using blyp/dvp. With inputs like the one below it almost but never quite makes it - same story with fine and ultrafine grids. The HF version converges cleanly in ca 30 steps.

So it seems something needs to be tightened - can anyone give me a clue here?

Thanks

Richard

scf
thresh 1e-8
end

driver
eprec 1e-8
gmax 1.5e-5
maxiter 500
end

basis spherical
  P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
 grid fine
tolerances tight
convergence energy 1e-8
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize

Clicked A Few Times
Thanks - that's the first thing I tried - converges with a few wobbles to the default tolerances OK. Its tighter convergence that's the problem. Default tolerance input that works:


start pph3
title "pph3_b3lyp_geopt"

geometry
P -3.713660928 0.351054097 0.037286269
C -6.649692214 -2.133008992 1.575646657
C -6.222172123 -3.389817417 1.147037234
C -6.005088028 0.679288631 -3.400687061
C -5.908172551 -0.995195128 1.260116950
C -5.512134967 0.226320773 -2.175844397
C -5.449804405 1.803638880 -4.008524273
C -5.596383802 3.535350683 1.914648679
C -5.045544006 -3.505378815 0.407167758
C -5.225165145 2.601329425 0.946361695
C -5.005811898 3.508719546 3.177077924
C -4.727374223 -1.103878526 0.513282776
C -4.451491488 0.891641308 -1.550503434
C -4.391076752 2.472232308 -3.390625536
C -4.296047045 -2.371114318 0.096008600
C -4.253656716 1.634764064 1.232122029
C -4.035750325 2.547912057 3.467446137
C -3.887161750 2.014357455 -2.176229908
C -3.653950101 1.621140823 2.500155254
H -7.568879310 -2.035837991 2.160941822
H -6.833842727 0.149176660 -3.879148412
H -6.804767863 -4.281646504 1.396345017
H -6.355603519 4.287006732 1.678968699
H -6.250730603 -0.014453614 1.601439412
H -5.960106959 -0.651645601 -1.703003121
H -5.840242253 2.159647543 -4.966415475
H -5.696943742 2.628115260 -0.039694779
H -5.299476994 4.240120622 3.935868778
H -4.700521639 -4.489583018 0.076522215
H -3.947887589 3.353512732 -3.863880904
H -3.357640975 -2.463152092 -0.458659874
H -3.565124159 2.525902941 4.454923285
H -3.042988930 2.526941863 -1.706783934
H -2.879206005 0.880135215 2.719565283
end

driver
 maxiter 500
end

basis spherical
  P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
 tolerances tight
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize



Quote:Bert Apr 10th 4:45 pm
My first recommendation is to run it with all the defaults:

driver
maxiter 500
end

basis spherical
 P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
tolerances tight
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize


After that, I'll need a full input deck to see what is going on.


Bert

Forum Vet
What is the goal of the tighter convergence? If your goal is to converge the geometry further, you should try setting:

driver
 tight
maxiter 500
end

Bert


Quote:Richard Apr 10th 7:37 pm
Thanks - that's the first thing I tried - converges with a few wobbles to the default tolerances OK. Its tighter convergence that's the problem. Default tolerance input that works:


start pph3
title "pph3_b3lyp_geopt"

geometry
P -3.713660928 0.351054097 0.037286269
C -6.649692214 -2.133008992 1.575646657
C -6.222172123 -3.389817417 1.147037234
C -6.005088028 0.679288631 -3.400687061
C -5.908172551 -0.995195128 1.260116950
C -5.512134967 0.226320773 -2.175844397
C -5.449804405 1.803638880 -4.008524273
C -5.596383802 3.535350683 1.914648679
C -5.045544006 -3.505378815 0.407167758
C -5.225165145 2.601329425 0.946361695
C -5.005811898 3.508719546 3.177077924
C -4.727374223 -1.103878526 0.513282776
C -4.451491488 0.891641308 -1.550503434
C -4.391076752 2.472232308 -3.390625536
C -4.296047045 -2.371114318 0.096008600
C -4.253656716 1.634764064 1.232122029
C -4.035750325 2.547912057 3.467446137
C -3.887161750 2.014357455 -2.176229908
C -3.653950101 1.621140823 2.500155254
H -7.568879310 -2.035837991 2.160941822
H -6.833842727 0.149176660 -3.879148412
H -6.804767863 -4.281646504 1.396345017
H -6.355603519 4.287006732 1.678968699
H -6.250730603 -0.014453614 1.601439412
H -5.960106959 -0.651645601 -1.703003121
H -5.840242253 2.159647543 -4.966415475
H -5.696943742 2.628115260 -0.039694779
H -5.299476994 4.240120622 3.935868778
H -4.700521639 -4.489583018 0.076522215
H -3.947887589 3.353512732 -3.863880904
H -3.357640975 -2.463152092 -0.458659874
H -3.565124159 2.525902941 4.454923285
H -3.042988930 2.526941863 -1.706783934
H -2.879206005 0.880135215 2.719565283
end

driver
 maxiter 500
end

basis spherical
  P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
 tolerances tight
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize



Quote:Bert Apr 10th 4:45 pm
My first recommendation is to run it with all the defaults:

driver
maxiter 500
end

basis spherical
 P library Def2-SV(P)
C library Def2-SV(P)
H library Def2-SV(P)
end

dft
tolerances tight
iterations 100
xc becke88 1.0 lyp 1.0
direct
end

task dft optimize


After that, I'll need a full input deck to see what is going on.


Bert

Clicked A Few Times
Sorry if I haven't made myself clear, I mean geometric convergence. If I specify 'tight' it never converges (geometrically).

That's the problem.

Specifying 'tight', Gmax Grms etc. never quite all fall below the thresholds, up to a large number of steps.

Trying to increase precision in various ways, thresh, eprec, energy convergence, larger grid (the original post showed one attempt) so far hasn't worked, although without any experience of nwchem's optimizer I'm just guessing here...

Richard


Quote:Bert Apr 10th 8:49 pm
What is the goal of the tighter convergence? If your goal is to converge the geometry further, you should try setting:

driver
 tight
maxiter 500
end

Bert

Forum Vet
Seems there is a tug of war going on with the internal coordinates. I got the calculation to converge using:


symmetry noautosym noautoz

driver
tight
maxiter 100
end

The latter forces the use of cartesians. Still takes a while to converge, but it does.

Bert


Quote:Richard Apr 10th 9:51 pm
Sorry if I haven't made myself clear, I mean geometric convergence. If I specify 'tight' it never converges (geometrically).

That's the problem.

Specifying 'tight', Gmax Grms etc. never quite all fall below the thresholds, up to a large number of steps.

Trying to increase precision in various ways, thresh, eprec, energy convergence, larger grid (the original post showed one attempt) so far hasn't worked, although without any experience of nwchem's optimizer I'm just guessing here...

Richard


Quote:Bert Apr 10th 8:49 pm
What is the goal of the tighter convergence? If your goal is to converge the geometry further, you should try setting:

driver
 tight
maxiter 500
end

Bert

Clicked A Few Times
Bert,

Could you post the complete input that worked, I can't find 'noautosym' in the manual

Thanks

Richard



Quote:Bert Apr 12th 8:11 pm
Seems there is a tug of war going on with the internal coordinates. I got the calculation to converge using:


symmetry noautosym noautoz

driver
tight
maxiter 100
end

The latter forces the use of cartesians. Still takes a while to converge, but it does.

Bert

Forum Vet
I used the exact same input as you posted. All I did is change

   geometry

to

  geometry noautoz noautosym

(I see I typed symmetry instead of geometry below).

and I added "tight" to the driver input block.

The geometry documentation has been updated to reflect the noautosym keyword.

Bert


Quote:Richard Apr 13th 1:20 pm
Bert,

Could you post the complete input that worked, I can't find 'noautosym' in the manual

Thanks

Richard



Quote:Bert Apr 12th 8:11 pm
Seems there is a tug of war going on with the internal coordinates. I got the calculation to converge using:


symmetry noautosym noautoz

driver
tight
maxiter 100
end

The latter forces the use of cartesians. Still takes a while to converge, but it does.

Bert

Clicked A Few Times
Well, it didn't converge for me in 500 steps. However with a different initial geometry it did converge in cartesians after 123 steps (but not really, the energy was a minimum at 76 steps). With C3 symmetry in redundant internals it converged in 24 steps (minimum energy at 21 steps).

The input is only triphenylphoshine, so noisy, slow dft optimizations seem a bit odd - three other programs didn't have any problem in getting down to something equivalent to 'tight' convergence criteria.

It seems the optimizer trust radius is fixed - does nwchem have any form of (geometric) convergence accellerator?

Richard


Quote:Bert Apr 13th 7:21 pm
I used the exact same input as you posted. All I did is change

   geometry

to

  geometry noautoz noautosym

(I see I typed symmetry instead of geometry below).

and I added "tight" to the driver input block.

The geometry documentation has been updated to reflect the noautosym keyword.

Bert


Quote:Richard Apr 13th 1:20 pm
Bert,

Could you post the complete input that worked, I can't find 'noautosym' in the manual

Thanks

Richard



Quote:Bert Apr 12th 8:11 pm
Seems there is a tug of war going on with the internal coordinates. I got the calculation to converge using:


symmetry noautosym noautoz

driver
tight
maxiter 100
end

The latter forces the use of cartesians. Still takes a while to converge, but it does.

Bert

Forum Vet
I think a lot is driven by the initial Hessian, which is just a unity Hessian, and the size of the steps allowed (which is set by the trust keyword). Doing a frequency calculation first followed by a geometry optimization using this Hessian gives faster convergence. Also, you can easily up the trust value to 0.5.

We do have also the stepper module for geometry optimization, which does converge a little faster in some cases then the default driver.

 stepper
min
trust 0.5
maxiter 100
end

Thanks,

Bert


 [QUOTE=Richard Apr 18th 7:25 pm]Well, it didn't converge for me in 500 steps. However with a different initial geometry it did converge in cartesians after 123 steps (but not really, the energy was a minimum at 76 steps). With C3 symmetry in redundant internals it converged in 24 steps (minimum energy at 21 steps).

The input is only triphenylphoshine, so noisy, slow dft optimizations seem a bit odd - three other programs didn't have any problem in getting down to something equivalent to 'tight' convergence criteria.

It seems the optimizer trust radius is fixed - does nwchem have any form of (geometric) convergence accellerator?

Richard


Quote:Bert Apr 13th 7:21 pm
I used the exact same input as you posted. All I did is change

   geometry

to

  geometry noautoz noautosym

(I see I typed symmetry instead of geometry below).

and I added "tight" to the driver input block.

The geometry documentation has been updated to reflect the noautosym keyword.

Bert


Quote:Richard Apr 13th 1:20 pm
Bert,

Could you post the complete input that worked, I can't find 'noautosym' in the manual

Thanks

Richard



Quote:Bert Apr 12th 8:11 pm
Seems there is a tug of war going on with the internal coordinates. I got the calculation to converge using:


symmetry noautosym noautoz

driver
tight
maxiter 100
end

The latter forces the use of cartesians. Still takes a while to converge, but it does.

Bert


Forum >> NWChem's corner >> General Topics