Feature request: write entropy to RTDB


Clicked A Few Times
With total entropy available from the RTDB, one might calculate Gibbs energy under python control.

The patch below writes Stotal, Cv (latter for completeness) to the RTDB.

Index: src/vib/vib_wrtfreq.F
===================================================================
--- src/vib/vib_wrtfreq.F	(revision 27746)
+++ src/vib/vib_wrtfreq.F	(revision 27747)
@@ -30,8 +30,8 @@
       double precision ezero,ethermal,hthermal,temp,thetav
       double precision inertia_A,inertia_B,inertia_C,thetaA,thetaB,
      ,     thetaC,M
-      double precision Strans,Srot,Svib,scalefreq
-      double precision Cv_trans,Cv_rot,Cv_vib
+      double precision Stotal,Strans,Srot,Svib,scalefreq
+      double precision Cv_total,Cv_trans,Cv_rot,Cv_vib
       integer sigma
       integer i,it,ntemp,h_actlist,l_actlist,ma_type
       logical linear
@@ -278,7 +278,19 @@
         Svib   = Svib*Rgas
 
 
-        write(6,10030) (Strans+Srot+Svib)*AUKCAL*1000.0d0
+        Stotal = (Strans+Srot+Svib)*AUKCAL*1000.0d0
+        Cv_total = (Cv_trans+Cv_rot+Cv_vib)*AUKCAL*1000.0d0
+        
+        if(.not. rtdb_put(rtdb,'vib:entropy',MT_DBL,1,Stotal))
+     &       call errquit('vib_wrtfreq:rtdb_put of entropy failed',
+     &       555, RTDB_ERR)
+
+        if(.not. rtdb_put(rtdb,'vib:Cv',MT_DBL,1,Cv_total))
+     &       call errquit('vib_wrtfreq:rtdb_put of Cv failed',
+     &       555, RTDB_ERR)
+        
+        write(6,10030) Stotal
+*        write(6,10030) (Strans+Srot+Svib)*AUKCAL*1000.0d0
         write(6,10031) Strans*AUKCAL*1000.0d0,M
         write(6,10032) Srot*AUKCAL*1000.0d0,sigma
         write(6,10033) Svib*AUKCAL*1000.0d0
@@ -291,7 +303,8 @@
 10033   FORMAT( 1X,'  - Vibrational                  = ',f8.3,
      .       ' cal/mol-K')
 
-        write(6,10040) (Cv_trans+Cv_rot+Cv_vib)*AUKCAL*1000.0d0
+        write(6,10030) Cv_total
+*        write(6,10040) (Cv_trans+Cv_rot+Cv_vib)*AUKCAL*1000.0d0
         write(6,10041) Cv_trans*AUKCAL*1000.0d0
         write(6,10042) Cv_rot*AUKCAL*1000.0d0
         write(6,10043) Cv_vib*AUKCAL*1000.0d0


-drh

Forum Vet
Checked into svn trunk

Thanks for the contribution


Forum >> NWChem's corner >> NWChem functionality