Printing CCDENSITIES with Dirac

More
8 years 3 months ago #42 by leos
Dear MRCC Developers,

Is it possible to add possibility to print (first order) density matrix (i.e. the CCDENSITIES file) in the cases of four or two-component calculations via Dirac interface?
Besides, as I guess in the case of calculation of transition density matrixes within the LR-CC methods two such files can be generated.

Thank you,
Leonid Skripnikov.

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago #43 by kallay
Dear Leonid,
If you edit mrcc.f and comment out the "if(rel.eq.2) return" line at the beginning of subroutine density, the densities will be saved to the CCDENSITIES file. Please note that it has not been tested and is not guaranteed to be correct. Anyway, you have to turn of symmetry if you run a CC calculation, otherwise it will not work.
At the calculation of transition moments the transition density will be printed.

Best regards,
Mihaly Kallay

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago - 8 years 3 months ago #44 by leos
Dear Mihály,
I tried to comment out the "if(rel.eq.2) return" line and apply the modified version of MRCC to calculate density matrix for Be within the CCSD.
Now the CCDENSITIES file is generated.
However, it is broken - it looks like:
D(I,J) , i,j
8
-0.54477811801209629142E-04********
0.12440717714912248766E-02********
0.12440717714912248766E-02********
-0.92221568175369195153E-01********
-0.54477811801209696904E-04 0 0
0.12440717714912248766E-02 0 0
0.12440717714912248766E-02 0 0
-0.92221568175369222908E-01 0 0
..........

(the calculation is in achievement).
As one can see there is some problem with printing i,j indexes.

Interestingly, the MRCC2010 code was able to print the density matrix correctly (MRCC2013 similar to MRCC2014 cannot print the matrix correctly).
I tried to compare source codes of MRCC2014 and MRCC2010 and found that the "subroutine density" and "subroutine densprt" are almost equal (they differ only by "if(rel.eq.2) return" line and some initialization code).

So what can one do with this?

Thank you,
Leonid.
Attachments:
Last edit: 8 years 3 months ago by leos.

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago #45 by kallay
Dear Leonid,
Please edit the file mrcc.f, in subroutine intinp search for label 5384, move the following line ("if(rel.ne.2) then") to the end of the subsequent do loop. That is, the code should look like:

5384 continue
do i=1,nbmax
iorda(i)=i
iordb(i)=i
enddo
if(rel.ne.2) then

It will hopefully resolve the issue.

Best regards,
Mihaly Kallay

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago #46 by leos
Dear Mihály,
Now all works, the problem is solved.

Thank you!

Please Log in or Create an account to join the conversation.

Time to create page: 0.018 seconds
Powered by Kunena Forum