|
SEARCH
TOOLBOX
LANGUAGES
Forum Menu
printing hessian with greater precision
From NWChem
Viewed 2580 times, With a total of 6 Posts
|
Clicked A Few Times
Threads 3
Posts 6
|
|
1:16:17 PM PDT - Fri, Jul 20th 2012 |
|
Dear GMX Users:
Does anyone know where in the dft code the energy gradients are printed?
(immediately after "DFT ENERGY GRADIENTS" is printed)
I am trying to increase the number of digits in the print-out.
Yours,
Jim Rustad
|
|
|
-
Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
|
|
Forum Vet
Threads 4
Posts 597
|
|
10:07:35 AM PDT - Mon, Jul 23rd 2012 |
|
Jim,
This depends if you are running analytical or numerical gradients. Assuming analytical gradients, src/gradients/grad_force.F (look for ENERGY GRAD) is where this is printed out.
Bert
Quote:Jrrustad Jul 20th 8:16 pmDear GMX Users:
Does anyone know where in the dft code the energy gradients are printed?
(immediately after "DFT ENERGY GRADIENTS" is printed)
I am trying to increase the number of digits in the print-out.
Yours,
Jim Rustad
|
|
|
|
Clicked A Few Times
Threads 3
Posts 6
|
|
4:32:32 AM PDT - Tue, Jul 24th 2012 |
|
Thanks Bert-
Actually these are numerical hessian calculations.
I have a 25-atom aquo ion vibrating in a fixed crystal (i.e. actlist is 1:25 in task dft optimize). The system has C2V symmetry (162 atoms total; 46 unique centers ). The aquo ion uses a large basis set, the surrounding crystal uses a smaller one.
The problem is that the "actlist" and "gen_hess" directives don't seem to allow restriction of the hessian evaluation to only the free core atoms in the system.
My plan is to just evaluate the whole hessian, and then extract the first 3x25 rows and columns for a frequency calculation (using a simple code that I wrote to do this).
Ideally, though, I would also like to avoid having to wait for all 46 unique atoms to be displaced.
It seems to me that once the symmetry-unique atoms in the aquo ion have been displaced, that it should, in principle, be possible to kill the job, pluck out the first 3x25 rows and columns of the hessian, and do the frequency calculation.
The problems are:
(1) I don't know how to extract the hessian out of the rtdb. It will not have been printed because the job would be killed prematurely.
(2) I don't know when the symmetry operations have been applied to the hessian; in other words, after the unique atoms in the core have all been displaced, are all of the first 3x25 columns and rows of the hessian intact, so that I could just read them directly out of the rtdb ? Or does the code not apply the symmetry until the end, after all unique atoms have been displaced?
I would think also that this task might come up often in QM-MM calculations- maybe there tools in these codes that might apply?
Thanks for all you help,
Jim R.
|
|
|
-
Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
|
|
Forum Vet
Threads 4
Posts 597
|
|
9:14:28 AM PDT - Wed, Jul 25th 2012 |
|
On (1): You should always be able to do a restart (i.e. not loose the rtdb) and do a "task rtdbprint" to get the hessian data out of the RTDB.
On (2): Most likely it is done at the end, though one would have to dig through the code to see how this is done.
We will have to test and see if gen_hess actually works, as this was never fully tested or documented (and predates most of us currently working on NWChem).
Bert
Quote:Jrrustad Jul 24th 11:32 amThanks Bert-
Actually these are numerical hessian calculations.
I have a 25-atom aquo ion vibrating in a fixed crystal (i.e. actlist is 1:25 in task dft optimize). The system has C2V symmetry (162 atoms total; 46 unique centers ). The aquo ion uses a large basis set, the surrounding crystal uses a smaller one.
The problem is that the "actlist" and "gen_hess" directives don't seem to allow restriction of the hessian evaluation to only the free core atoms in the system.
My plan is to just evaluate the whole hessian, and then extract the first 3x25 rows and columns for a frequency calculation (using a simple code that I wrote to do this).
Ideally, though, I would also like to avoid having to wait for all 46 unique atoms to be displaced.
It seems to me that once the symmetry-unique atoms in the aquo ion have been displaced, that it should, in principle, be possible to kill the job, pluck out the first 3x25 rows and columns of the hessian, and do the frequency calculation.
The problems are:
(1) I don't know how to extract the hessian out of the rtdb. It will not have been printed because the job would be killed prematurely.
(2) I don't know when the symmetry operations have been applied to the hessian; in other words, after the unique atoms in the core have all been displaced, are all of the first 3x25 columns and rows of the hessian intact, so that I could just read them directly out of the rtdb ? Or does the code not apply the symmetry until the end, after all unique atoms have been displaced?
I would think also that this task might come up often in QM-MM calculations- maybe there tools in these codes that might apply?
Thanks for all you help,
Jim R.
|
|
|
-
Huub Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
|
|
Forum Regular
Threads 1
Posts 185
|
|
2:00:27 PM PDT - Thu, Jul 26th 2012 |
|
To calculate frequencies for active atoms only set
set gen_hess:actlist <list of atoms>
I have tried this for an H2CO-H2O complex calculating the frequencies for just the water molecule and this seems to work fine. The only thing that seems dubious are the results for the projected frequencies. In cases they are very different from the frequencies obtained for the whole molecule.
Input:
echo
start h2co_h2o_dat
geometry
h 0.00000000 -0.92494809 -2.76629063
h 0.00000000 0.92494809 -2.76629063
c 0.00000000 0.00000000 -2.18887270
o 0.00000000 0.00000000 -1.00283061
h 0.00000000 -0.74265427 1.42611142
h 0.00000000 0.74265427 1.42611142
o 0.00000000 0.00000000 2.01432013
end
basis
* library 6-31g*
end
set gen_hess:actlist 5:7
task scf freq numerical
The unprojected frequencies obtained were:
All atoms Water only
1 -144.223 -142.345
2 -18.688
3 -14.172
4 -10.643
5 3.832
6 17.860
7 34.616
8 49.839
9 77.986 99.454
10 113.074 88.753
11 146.008
12 384.063 380.659
13 1340.106
14 1383.798
15 1678.948
16 1839.585 1840.264
17 2022.956
18 3173.133
19 3253.921
20 4088.318 4088.315
21 4188.738 4188.737
I think there should be at least 2 more sensible frequencies for the water only case but I cannot identify those from the frequencies and intensities. The projected frequencies are in places very different.
Huub
|
|
|
-
Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
|
|
Forum Vet
Threads 4
Posts 597
|
|
2:09:05 PM PDT - Wed, Sep 5th 2012 |
|
Just found some additional information. One should use the combination of
set gen_hess:actlist <list of atoms>
set hessian:compress .true.
The latter zeros out the Hessian components associated with the frozen atoms, i.e. makes the Hessian diagonal for those components in the matrix.
Bert
Quote:Huub Jul 26th 9:00 pmTo calculate frequencies for active atoms only set
set gen_hess:actlist <list of atoms>
I have tried this for an H2CO-H2O complex calculating the frequencies for just the water molecule and this seems to work fine. The only thing that seems dubious are the results for the projected frequencies. In cases they are very different from the frequencies obtained for the whole molecule.
Input:
echo
start h2co_h2o_dat
geometry
h 0.00000000 -0.92494809 -2.76629063
h 0.00000000 0.92494809 -2.76629063
c 0.00000000 0.00000000 -2.18887270
o 0.00000000 0.00000000 -1.00283061
h 0.00000000 -0.74265427 1.42611142
h 0.00000000 0.74265427 1.42611142
o 0.00000000 0.00000000 2.01432013
end
basis
* library 6-31g*
end
set gen_hess:actlist 5:7
task scf freq numerical
The unprojected frequencies obtained were:
All atoms Water only
1 -144.223 -142.345
2 -18.688
3 -14.172
4 -10.643
5 3.832
6 17.860
7 34.616
8 49.839
9 77.986 99.454
10 113.074 88.753
11 146.008
12 384.063 380.659
13 1340.106
14 1383.798
15 1678.948
16 1839.585 1840.264
17 2022.956
18 3173.133
19 3253.921
20 4088.318 4088.315
21 4188.738 4188.737
I think there should be at least 2 more sensible frequencies for the water only case but I cannot identify those from the frequencies and intensities. The projected frequencies are in places very different.
Huub
|
|
|
|
Clicked A Few Times
Threads 2
Posts 9
|
|
2:29:03 PM PST - Thu, Dec 10th 2015 |
|
Calculating frequencies for active atoms only
|
Hello,
I am trying to reproduce the above example for calculating frequencies for a set of active atoms while leaving the remaining atoms frozen. I encounter an error (provided below) when attempting to apply:
set hessian:compress .true.
as suggested above. I do not encounter this error when only applying:
set gen_hess:actlist 5:7
to define the set of active atoms. Can anyone help me identify the source of this error, or provide advice for properly freezing atoms during a frequency calculation?
Thanks in advance!
Tom
Input:
echo
start h2co_h2o_dat
geometry
h 0.00000000 -0.92494809 -2.76629063
h 0.00000000 0.92494809 -2.76629063
c 0.00000000 0.00000000 -2.18887270
o 0.00000000 0.00000000 -1.00283061
h 0.00000000 -0.74265427 1.42611142
h 0.00000000 0.74265427 1.42611142
o 0.00000000 0.00000000 2.01432013
end
basis
* library 6-31g*
end
set gen_hess:actlist 5:7
set hessian:compress .true.
task scf freq numerical
Error:
vib_vib: unexpected EOF when reading file: "hess_file" 911
------------------------------------------------------------------------
------------------------------------------------------------------------
current input line :
33: task scf freq numerical
------------------------------------------------------------------------
------------------------------------------------------------------------
An error occured while trying to read or write to disk space
------------------------------------------------------------------------
|
|
|
AWC's:
2.5.10 MediaWiki - Stand Alone Forum Extension Forum theme style by: AWC
| |