Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum. 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: 55

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 22:42:01