When you use 'freeze atomic' in a CCSD calculation, the rtdb values "ccsd:number frozen core" and "ccsd:frozen core:freeze by atoms" are available.
If you need to use the TCE implementation for CCSD, e.g. for open shell calculations, "tce:frozen core:freeze by atoms" is available but not "tce:number frozen core." This makes it hard to implement composite methods that incorporate the frozen core count (or derived values) as part of the high level correction.
This patch to tce_init.F adds "tce:number frozen core" to the rtdb. I note that in tce_init.F there are separate counts reserved for alpha and beta frozen cores, nfc(1) and nfc(2), but in practice it appears that the beta count is always set equal to the alpha count.
--- tce_init.F.bak 2015-05-31 10:39:45.869247867 -0700
+++ tce_init.F 2015-05-31 15:02:18.912596802 -0700
@@ -478,6 +478,10 @@
if (.not.rtdb_put(rtdb,'tce:ampnorms',mt_log,1,ampnorms))
1 call errquit('tce_init: failed to write ampnorms',0,RTDB_ERR)
endif
+c Frozen core counts to match non-TCE MP2/CCSD modules
+ if (.not.rtdb_put(rtdb,'tce:number frozen core',mt_int,1,nfc(1)))
+ 1 call errquit('tce_init: failed to write number frozen core',0,
+ 2 RTDB_ERR)
c
c Beginning of response property input section
c
|