can't do "MATROP" in TDDFT calculation

27 views
Skip to first unread message

Bin Han

unread,
Mar 18, 2022, 6:04:56 AM3/18/22
to molpro-user
Dear all,

I need to do "MATROP" before TDDFT calculation,
 
{matrop
 LOAD,one_int,H0
 READ,emb_int,FILE=emb_ints.molpro
 ADD,H0,one_int,emb_int
 SAVE,H0,1210.1,h0
 }

 {uhf
 wf,33,1,7}

 tddft,states=[-3.1]

but the program reports:

 PROGRAM * MATROP


 Operator H0 loaded to ONE_INT
 icol=                    3   nv=                    2
 name=FILE
 string=EMB_INTS.MOLPRO

 ERROR: TRYING TO READ ARRAY DATA WITH GETA: READ,EMB_INT,FILE=EMB_INTS.MOLPRO,

 GLOBAL ERROR fehler on processor   0

However, there is no problem in my emb_ints.molpro file, for that in my previous CASPT2 calculation,
 {matrop
 LOAD,one_int,H0
 READ,emb_int,FILE=emb_ints.molpro
 ADD,H0,one_int,emb_int
 SAVE,H0,1210.1,h0
 }

 {uhf
 wf,33,1,7}

 {multi
 maxiter,40
 occ,22
 closed,13
 wf,33,1,7;state,3
 canonical,ci}

 {rs2,shift=0.3,mix=3,xms=1,maxit=100,maxiti=100
 wf,33,1,7;state,3}

it behaves normally,

 PROGRAM * MATROP


 Operator H0 loaded to ONE_INT

 READING MATRIX EMB_INT (EMB_INT) FROM FILE emb_ints.molpro. SYMMETRY=1

 H0 = ONE_INT + EMB_INT

  Matrix H0 saved in record 1210.1

so there is no problem in the format or dimension in my emb_ints.molpro file.
Therefore, I guess this may be a bug in molpro, sincerely hope you can give me some suggestions about this. Thanks a lot.

Best regards,

Bin
caspt2.out
tddft.out

Matheus Moraes

unread,
Apr 26, 2024, 2:18:19 PMApr 26
to Bin Han, molpro-user
Dear Bin,

The problem seems to be related to the square brackets used in the tddft line: "tddft,states=[-3.1]".
I was facing the same problem using an array of internuclear distances.
Follows in annex an output for a minimal example, with and without the square bracket.

Although the problem is related to the square bracket it is not clear to me why, as:
- It does not matter if the square bracket is stated before or after the matrop block;
- In some cases the array definition does not affect matrop. For example, including the "array=[1.0,2.0]" line did not crash matrop.

Best,
Matheus


--
You received this message because you are subscribed to the Google Groups "molpro-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to molpro-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/molpro-user/5714bc22-69c8-485a-a02f-2067c1297a8fn%40googlegroups.com.
input_sb.out
input_no_sb.out
orb.file

andreas...@gmail.com

unread,
Apr 26, 2024, 2:54:44 PMApr 26
to molpro-user
Dear Matheus,

I can't reproduce this with the input file you sent and using the most recent development version of Molpro, so it seems to have been fixed now.
If you can not get a newer update for Molpro, please try out setting curly brackets around the whole tddft command, like:

{tddft, states=[-3.1]}

Best wishes,
Andreas

Matheus Moraes

unread,
May 10, 2024, 11:09:17 AMMay 10
to andreas...@gmail.com, molpro-user
Dear Andreas,

Thanks for the update.
I tested among the versions I have available (10, 12, 15, 19, 20, 21, 22 and 23).
For versions that do not support tddft I used the array "distances=[0.4,1.1,1.2,3.1,9.0,4.5]" that causes the same error.
The error occurs (despite the curly bracket) for all versions but 23, for which it works as intended.
It seems an old bug that was patched in version 23.


best,
Matheus

andreas...@gmail.com

unread,
May 10, 2024, 3:13:02 PMMay 10
to molpro-user
Dear Matheus,

for older versions of Molpro where this bug appears, in case of tddft one can leave out the brackets if only excitations of a certain symmetry are needed, like

tddft,states=-4.1

and then maybe restart the program if excitations in another symmetry are needed:

tddft,states=-4.1
tddft,states=-4.2
...

The overhead due to this should be very small.

For the general case where you need to define an array like

distances=[0.4,1.1,1.2,3.1,9.0,4.5]

the workaround to this would be writing this as:

distances(1)=0.4
distances(2)=1.1
distances(3)=1.2
distances(4)=3.1
distances(5)=9.0
distances(6)=4.5

instead in order to avoid the square brackets.

Bes wishes,
Andreas
Reply all
Reply to author
Forward
0 new messages