Reduction in CIOVERLAP size

82 views
Skip to first unread message

Priyam Kumar De

unread,
Apr 20, 2026, 3:37:11 AMApr 20
to Newton-X
Hello all,

I am trying to run surface hopping simulation for a system with large number of basis. This leads to great calculation time for CIOVERLAP. However, when using ncore and ndisc to reduce the size of total orbitals to be used for CIOVERLAP, there is some error and the calculation stops. 

&cioverlap part of user_config.nml -

cio_options = -s transmomin -a -t 5e-4 -e -1 -i 148


The error is - 

cp: cannot create regular file 'overlap/': Not a directory

At line 1037 of file ../src/mod_cioverlap.f90

Fortran runtime error: End of record

Can you please help me with this and mention methods to reduce computation time for CIOVERLAP. 

Thanks,

Priyam

Priyam Kumar De

unread,
Apr 22, 2026, 4:58:42 AMApr 22
to Newton-X
Hello all,

I am also trying to reduce orbital number using OrbWin option in %cis. This orca calculation is working, however some error is showing when newton-x tried to execute commands and the job gets aborted. 

Is there any other details need to provide when using OrbWin?

Thanks,
Priyam

Rafael Souza

unread,
May 7, 2026, 1:42:49 PMMay 7
to Newton-X
Dear Priyam,

I messaged the developer of CIOverlap and did some tests myself. Changing the number of frozen and virtual orbitals can reduce computational time, but I didn't see much difference in my reduced tests. Changing the -t (threshold) to 5e-3 significantly improved performance, but it affected the overlap results, and I don't know to what extent this will affect the dynamics.

Then I started looking into the code to see possible improvements. I am still testing, but it has worked well so far. You can download the executable and replace it in your current installation to see if it works in your case/system.

You can download it from here: https://gitlab.com/light-and-molecules/cioverlap/-/blob/speedup/bin/cioverlap?ref_type=heads
You have to replace the cioverlap executable in the newton-x-package/CIOVERLAP/bin/ folder. I would definitely keep a backup of the cioverlap executable you already have.

You should be able to call it exactly the same, and it may be a little faster, but this one you can run in parallel by setting the OMP_NUM_THREADS environment variable:
export OMP_NUM_THREADS=8

I would use the same number of processors you are using for the ORCA calculation.

This was compiled in a fairly recent system (Ubuntu 24), so you may have a problem with the GLIBC version in an older system. Let me know.

Regarding the OrbWin, I never tried that; I don't know how it affects the number of expected orbitals. If you share the error message, we can try to reproduce it.

Best regards,
Rafael

Priyam Kumar De

unread,
May 8, 2026, 8:20:38 AMMay 8
to Newton-X
Dear Rafael,

I really appreciate your effort to help me with this problem.

I tried to run with the newer cioverlap file, unfortunately the cluster I am using doesn't have updated GLIBC. This particular error was printed in the output files. So I have contacted the IT helpdesk to update the GLIBC version and waiting for their response. 

Regarding the OrbWin, it is a special function that can be used in ORCA to reduce the number of orbitals used for CIS calculations. Normally, ORCA take orbitals within energy range of -3 to +3 hartree for CIS calculation. This range considers huge number of orbitals and CIOVERLAP takes all those orbitals. Now, using this OrbWin, I can choose the range of the orbital required for CIS calculations. 
OrbWin[0] = 120,-1,-1,160               - this option is used in the TDDFT section of ORCA input file. 
The number of orbital used for cis calculation can be seen in the orca output file in TDDFT calculation section. 
I believe, with use of this option, the .cis file generated by orca is a different than normal scenario and newton-X is not able to read that. Details of this option can be found the webpage https://www.faccts.de/docs/orca/6.0/manual/contents/detailed/tddft.html

Please let me know if you need any other information.

Best Regards,
Priyam

Rafael Souza

unread,
May 8, 2026, 3:15:58 PMMay 8
to Newton-X
Dear Pryiam,

I am still to check the OrbWin, but you can find a version of cioverlap compiled in the cluster here; it should support a very old version of GLIBC. You will find it here:
https://gitlab.com/light-and-molecules/cioverlap/-/blob/speedup/bin/cioverlap_cluster?ref_type=heads

Rename it and replace the cioverlap you currently have.

Best regards,
Rafael

Priyam Kumar De

unread,
May 10, 2026, 8:08:12 AMMay 10
to Newton-X
Dear Rafael,

Thank you for this file. It worked with current GLIBC version and I got sufficient speedup in CIOVERLAP calculations. 

Best Regards,
Priyam

Suvadip Samanta

unread,
Jul 21, 2026, 11:03:59 AM (13 days ago) Jul 21
to Newton-X
I am facing a similar problem related to the CIOVERLAP when trying to perform  FSSH dynamics with ORCA6 TDDFT using Newtonx. It cannot read the number of occupied orbitals from the molden file.


[INFO] Start /home/suvadip/work/newton-x-package/CIOVERLAP/bin//cioverlap -s transmomin -a -t 5e-4 -e -1 < cioverlap.input > cioverlap.out

LA:ERROR - LA::NRMat<double> docislateroverlap(bool, REAL, int, LA::NRMat<int>*, int, char*, bool): more inactive doubly occ orbitals than nelec/2
Command LINE: /home/suvadip/work/newton-x-package/CIOVERLAP/bin//cioverlap -s transmomin -a -t 5e-4 -e -1
INFO: uid=1010 host=cn1 cwd=/home/suvadip/suvadip/CAS_TAS/photechemical/newtonx/CAS_ORCA_TDDFT/5-DYN_FSSH/TRAJECTORIES_S3/TRAJECTORIES/TRAJ1/TEMP/cioverlap
terminate called after throwing an instance of 'LA::LAerror'
  what():  std::exception
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x000014f4e8813568 in waitpid () from /lib64/libpthread.so.0
[Current thread is 1 (Thread 0x14f4eb67c7c0 (LWP 3041842))]
#0  0x000014f4e8813568 in waitpid () from /lib64/libpthread.so.0
#1  0x000014f4eb108a6b in LA::traceback (flags=<optimized out>) at laerror.cc:78
#2  0x000014f4eb108b1d in LA::tracebackhandler (i=6, info=<optimized out>, x=<optimized out>) at laerror.cc:90
#3  <signal handler called>
#4  0x000014f4e847337f in raise () from /lib64/libc.so.6
#5  0x000014f4e845ddb5 in abort () from /lib64/libc.so.6
#6  0x000014f4e90839db in __gnu_cxx::__verbose_terminate_handler () at /home/frankw/CompEnv/src/gcc1340/gcc-13.4.0_obj/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/vterminate.cc:95
#7  0x000014f4e909338a in __cxxabiv1::__terminate (handler=<optimized out>) at /home/frankw/CompEnv/src/gcc1340/gcc-13.4.0_obj/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/eh_terminate.cc:48
#8  0x000014f4e90933f5 in std::terminate () at /home/frankw/CompEnv/src/gcc1340/gcc-13.4.0_obj/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/eh_terminate.cc:58
#9  0x000014f4e9093648 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=tinfo@entry=0x14f4eb42fc60 <typeinfo for LA::LAerror>, dest=dest@entry=0x14f4eb109560 <LA::LAerror::~LAerror()>) at /home/frankw/CompEnv/src/gcc1340/gcc-13.4.0_obj/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/eh_throw.cc:98
#10 0x000014f4eb109223 in LA::laerror2 (s1=s1@entry=0x432b18 "more inactive doubly occ orbitals than nelec/2", s2=s2@entry=0x433380 <docislateroverlap(bool, double, int, LA::NRMat<int>*, int, char*, bool)::__PRETTY_FUNCTION__> "LA::NRMat<double> docislateroverlap(bool, REAL, int, LA::NRMat<int>*, int, char*, bool)") at laerror.h:40
#11 0x000000000040e89d in docislateroverlap (uhf=<optimized out>, screeningthr=0.00050000000000000001, excitrank=-1, activerange=0x0, inactive=0, screening_mask_file=0x22875e0 "transmomin", SMO_only=false) at cioverlap.cc:1147
#12 0x00000000004056e8 in main (argc=<optimized out>, argv=<optimized out>) at cioverlap.cc:1374
[Inferior 1 (process 3041842) detached]
sh: line 1: 3041842 Aborted                 (core dumped) /home/suvadip/work/newton-x-package/CIOVERLAP/bin//cioverlap -s transmomin -a -t 5e-4 -e -1 < cioverlap.input > cioverlap.out
LAST SYSTEM ERROR: Function not implemented
ERROR STOP 22

Error termination. Backtrace:
#0  0xaf6ad1 in ???
#1  0xaf6d81 in ???
#2  0xaf7f6a in ???
#3  0x5e4a13 in __mod_logger_MOD_check_error
        at ../src/mod_logger.f90:755
#4  0x64ef9f in cio_run_ciovl
        at ../src/mod_cioverlap.f90:1000
#5  0x6511f5 in cio_get_state_ovl
        at ../src/mod_cioverlap.f90:787
#6  0x651ac1 in __mod_cioverlap_MOD_do_cioverlap
        at ../src/mod_cioverlap.f90:625
#7  0x6cedd1 in compute_couplings
        at ../src/mod_moldyn.F90:1040
#8  0x6cff12 in execute_md_step
        at ../src/mod_moldyn.F90:857
#9  0x6db8bb in __mod_moldyn_MOD_moldyn_run
        at ../src/mod_moldyn.F90:262
#10  0x6dd8c7 in nx_moldyn
        at ../src/nx_moldyn.F90:16
#11  0x6dd9df in main
        at ../src/nx_moldyn.F90:19
[ERROR] Error termination of /home/suvadip/work/newton-x-package/CIOVERLAP/bin//cioverlap -s transmomin -a -t 5e-4 -e -1 < cioverlap.input after      1.184 s.
[ERROR] Undefined error encountered




Any info to get rid of this problem will be highly appreciated.

Thanks in advance.

Suvadip

Rafael Souza

unread,
Jul 22, 2026, 9:57:13 AM (12 days ago) Jul 22
to Newton-X
Dear Suvadip,

Could you provide more information about the ORCA calculation? Are you using the OrbWin option as mentioned before, or any more advanced ORCA option?
Could you provide the first couple of lines of the cioverlap.input file? What is the size of the system? How many doubly occupied orbitals should there be? 

Otherwise, if it's not a problem, could you provide an example input where you see this problem happening?

Best regards,
Rafael

Suvadip Samanta

unread,
Jul 22, 2026, 12:26:16 PM (12 days ago) Jul 22
to Newton-X
Dear Rafael,

Thank you for your response.

Actually I didnot use orbwin option. I went simplistic TDDFT input as mentioned in the manual.

! libxc(B3LYP) D3 def2-TZVP(-f) def2/J RIJCOSX noautostart miniprint nopop ENGRAD defgrid3 TightSCF NoFrozenCore NoSym

%TDDFT
tda false
NRoots 5
iroot 3
end
* xyz 1 1
.Also I have total 37 atoms ....Screenshot from 2026-07-22 19-49-50.png

You can access to the cioverlap input and casida input here.

Rafael Souza

unread,
Jul 22, 2026, 2:40:43 PM (12 days ago) Jul 22
to Newton-X
Dear Suvadip,

Can you try running the same calculation, but without the "miniprint" option in the ORCA input?

Best regards

Rafael Souza

unread,
Jul 22, 2026, 3:07:22 PM (12 days ago) Jul 22
to Newton-X
Also, I recommend adding this to the user_config.nml:
&cioverlap
  cio_options = -s transmomin -b -t 5e-4 -e -1
/

https://groups.google.com/u/2/g/newtonx/c/Y6Mbt8WSNRY

Suvadip Samanta

unread,
Jul 23, 2026, 6:31:49 AM (12 days ago) Jul 23
to Newton-X

Dear Rafael,

Thank you for your quick response and helpful suggestion. I tried it, and it worked perfectly.

Thanks again for your help!

Best regards,
Suvadip

Reply all
Reply to author
Forward
0 new messages