|
SEARCH
TOOLBOX
LANGUAGES
Forum Menu
Access DFT solution coefficients for LCAO from python
From NWChem
Viewed 597 times, With a total of 9 Posts
|
Clicked A Few Times
Threads 6
Posts 21
|
|
5:30:31 AM PDT - Wed, Aug 24th 2016 |
|
Dear developers,
I would like to get expansion coefficients for orbitals in specified basis (say 3-21G) for single energy DFT calculation. In other words, i want to access the solution coefficients which are used (together with the basis), for example, to plot orbitals in DPLOT.
My best guess would be that I can get this from RunTimeDataBase via rtdb_get(). The question is where in RTDB the solution coefficients are stored and in what format? Of course, I also need centers of AOs used to form LCAO.
p.s. to avoid the confusion, I am not speaking about coefficients and exponents of Gaussian basis functions used for each atom. That info is easy to get from "libraries" database.
Regards,
Denis.
|
|
|
-
Edoapra Forum:Admin, Forum:Mod, bureaucrat, sysop
|
|
Forum Vet
Threads 9
Posts 1389
|
|
12:46:28 PM PDT - Wed, Aug 24th 2016 |
|
Denis, I am guessing what you are looking for are the eigenvalues, eigenvectors and occupation numbers, right?
|
|
|
|
Clicked A Few Times
Threads 6
Posts 21
|
|
1:35:14 PM PDT - Wed, Aug 24th 2016 |
|
Quote:Edoapra Aug 24th 8:46 pmDenis, I am guessing what you are looking for are the eigenvalues, eigenvectors and occupation numbers, right?
I am new to LCAO, i normally do DFT ground state calculation using other approaches.
My understanding is the following: In LCAO one essentially search for unknown wavefunctions as a linear combination of atomic orbitals (thus the name), i.e.
\Psi_j = \sum_i C_{ij} N_i (r_i),
where C_{ij} are expansion coefficients and {N_i} is the basis (atomic orbitals). So what I am interested in are those coefficients C_{ij} with their correspondence to the actual basis used (like 3-21G).
Plus occupation numbers.
|
|
|
|
Clicked A Few Times
Threads 6
Posts 21
|
|
5:23:12 AM PDT - Mon, Aug 29th 2016 |
|
Quote:Edoapra Aug 24th 8:46 pmDenis, I am guessing what you are looking for are the eigenvalues, eigenvectors and occupation numbers, right?
sorry to bother, but did you have a chance to check RunTimeDataBase (or other DB) for eigenvectors and occupation numbers?
|
Edited On 6:06:34 AM PDT - Mon, Aug 29th 2016 by Den59
|
|
|
|
Gets Around
Threads 1
Posts 147
|
|
7:56:17 AM PDT - Mon, Aug 29th 2016 |
|
All of that information is stored in the *.movecs file, not in the run time database. If you want access to that information, you would need to either parse the output file (you can modify print options to get all of the eigenvectors, eigenvalues, and occupations numbers to be included in the output file), or you would need to read the *.movecs file (there is a script in the contrib directory of the source code that should be able to convert the *.movecs file from binary to ASCII).
|
|
|
|
Clicked A Few Times
Threads 6
Posts 21
|
|
10:08:50 AM PDT - Mon, Aug 29th 2016 |
|
Quote:Sean Aug 29th 3:56 pmAll of that information is stored in the *.movecs file, not in the run time database. If you want access to that information, you would need to either parse the output file (you can modify print options to get all of the eigenvectors, eigenvalues, and occupations numbers to be included in the output file), or you would need to read the *.movecs file (there is a script in the contrib directory of the source code that should be able to convert the *.movecs file from binary to ASCII).
I had some problems compiling mov2asc`, could be more specific on which print options to add to get all eigenvectors and eigenvalues and occupations number in the terminal output?
|
|
|
|
Just Got Here
Threads 0
Posts 1
|
|
11:09:52 AM PDT - Mon, Aug 29th 2016 |
|
You can print eigenvalues and eigenvectors in output-file using or
Quote: print "final evals" "final vectors" in DFT block. I suppose that occupation numbers also will be written in this case.
See more information here
But I am not sure that all eigenvalues and eigenvectors are printed and not only the highest ones lying above some energetic threshold. This has to be checked.
|
|
|
|
Clicked A Few Times
Threads 6
Posts 21
|
|
|
|
|
Gets Around
Threads 1
Posts 147
|
|
11:28:49 AM PDT - Mon, Aug 29th 2016 |
|
Adding
print "final vectors analysis"
to the dft block will cause all of the eigenvalues, occupation numbers, and eigenvectors to be included in the output file for the molecular orbital analysis section. The default is to only print eigenvectors with an absolute value above 0.15; however, this can be modified through a movecs set directive, e.g.
set movecs:tanalyze 1.e-8
|
|
|
|
Clicked A Few Times
Threads 6
Posts 21
|
|
12:34:46 PM PDT - Mon, Aug 29th 2016 |
|
Thanks, Sean. It looks like with this setting and http://cclib.github.io i can parse terminal output to get all eigenvectors and the correspondence between the basis and the coefficients. I assume that the numbering correspond to the order of atoms. So first X coefficients are for all X AOs of 1st atom, then next Y coefficients are for all Y AOs of 2nd atom, while the order of coefficients for a single atom are listed here http://www.nwchem-sw.org/index.php/Release66:Basis ,i.e. s px py pz ...
|
Edited On 12:46:27 PM PDT - Mon, Aug 29th 2016 by Den59
|
|
|
AWC's:
2.5.10 MediaWiki - Stand Alone Forum Extension Forum theme style by: AWC
| |