Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum.

Please note: The forum's URL has changed. The new URL is: https://molcasforum.univie.ac.at. Please update your bookmarks!

You can choose an avatar and change the default style by going to "Profile" → "Personality" or "Display".

#1 2018-10-01 15:36:15

Hanros
Member
Registered: 2017-12-26
Posts: 17

RASSI - energy values

Hi

I'm trying to produce XAS from RASSI, however the energies for both the spin free eigenstates and the spin-orbit coupled eigenstates are sometimes given as asterisks e.g

 Eigenstate No.    1 energy=******************
           0.9965614      0.0000000      0.0000000      0.0000000      0.0000000
           0.0832870     -0.0000153      0.0000000      0.0000000      0.0000000
 Eigenvalues of complex Hamiltonian:
   -----------------------------------

  (Shifted by EVAC (a.u.) =********************)

          Relative EVac(au)    Rel lowest level(eV)    D:o, cm**(-1)

     1       -0.0000083006          0.0000000000              0.0000
     2       -0.0000077644          0.0000145907              0.1177
     3       -0.0000073100          0.0000269546              0.2174
     4********************  ********************  ******************
     5********************  ********************  ******************
     6********************  ********************  ******************

Could someone please advise me on what the issue is?

Offline

#2 2018-10-31 15:16:52

nikolay
Member
From: Stuttgart
Registered: 2016-03-21
Posts: 54

Re: RASSI - energy values

You can change the format of the printout in src/rassi/soeig.f .
Change F into G (G20.10 is like F20.10 but switches to E20.10 in case of overflow) would probably be sufficient:

diff --git a/src/rassi/soeig.f b/src/rassi/soeig.f
index 2380c3b..beac76a 100644
--- a/src/rassi/soeig.f
+++ b/src/rassi/soeig.f
@@ -508,22 +508,22 @@ C910  CONTINUE
        WRITE(6,*)
        IF(EVAC.NE.0.0D0) THEN
         if(ifj2.ne.0.and.ifjz.ne.0) then
-         WRITE(6,'(1X,A,F20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
+         WRITE(6,'(1X,A,G20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
          WRITE(6,*)
          WRITE(6,*) '         Relative EVac(au)    Rel lowest'//
      &              ' level(eV)    D:o, cm**(-1)    J-value, Omega'
         else if(ifj2.ne.0.and.ifjz.eq.0) then
-         WRITE(6,'(1X,A,F20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
+         WRITE(6,'(1X,A,G20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
          WRITE(6,*)
          WRITE(6,*) '         Relative EVac(au)    Rel lowest'//
      &              ' level(eV)    D:o, cm**(-1)    J-value'
         else if(ifj2.eq.0.and.ifjz.ne.0) then
-         WRITE(6,'(1X,A,F20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
+         WRITE(6,'(1X,A,G20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
          WRITE(6,*)
          WRITE(6,*) '         Relative EVac(au)    Rel lowest'//
      &              ' level(eV)    D:o, cm**(-1)  Omega'
         else if(ifj2.eq.0.and.ifjz.eq.0) then
-         WRITE(6,'(1X,A,F20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
+         WRITE(6,'(1X,A,G20.9,A1)')' (Shifted by EVAC (a.u.) =',EMIN,')'
          WRITE(6,*)
          WRITE(6,*) '         Relative EVac(au)    Rel lowest'//
      &              ' level(eV)    D:o, cm**(-1)'
@@ -570,16 +570,16 @@ C Saving the SO energies in ESO array.
         ESO(ISS)=E3
 
         if(ifj2.ne.0.and.ifjz.ne.0) then
-          WRITE(6,'(1X,I5,F20.10,2X,F20.10,2X,F18.4,4x,2F6.1)')
+          WRITE(6,'(1X,I5,G20.10,2X,G20.10,2X,G18.4,4x,2G6.1)')
      &        ISS,E1,E2,E3,XJEFF,OMEGA
         else if(ifj2.ne.0.and.ifjz.eq.0) then
-          WRITE(6,'(1X,I5,F20.10,2X,F20.10,2X,F18.4,4x,F6.1)')
+          WRITE(6,'(1X,I5,G20.10,2X,G20.10,2X,G18.4,4x,G6.1)')
      &        ISS,E1,E2,E3,XJEFF
         else if(ifj2.eq.0.and.ifjz.ne.0) then
-          WRITE(6,'(1X,I5,F20.10,2X,F20.10,2X,F18.4,4x,F6.1)')
+          WRITE(6,'(1X,I5,G20.10,2X,G20.10,2X,G18.4,4x,G6.1)')
      &        ISS,E1,E2,E3,OMEGA
         else if(ifj2.eq.0.and.ifjz.eq.0) then
-          WRITE(6,'(1X,I5,F20.10,2X,F20.10,2X,F18.4)')
+          WRITE(6,'(1X,I5,G20.10,2X,G20.10,2X,G18.4)')
      &      ISS,E1,E2,E3
         endif
        ENDDO

Offline

Board footer

Powered by FluxBB 1.5.11

Last refresh: Today 19:05:12