File: cht3.rst

package info (click to toggle)
openmolcas 25.02-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 170,204 kB
  • sloc: f90: 498,088; fortran: 139,779; python: 13,587; ansic: 5,745; sh: 745; javascript: 660; pascal: 460; perl: 325; makefile: 17
file content (269 lines) | stat: -rw-r--r-- 9,409 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
.. index::
   single: Program; CHT3
   single: CHT3

.. _sec\:cht3:

:program:`cht3`
===============

.. only:: html

  .. contents::
     :local:
     :backlinks: none

.. xmldoc:: <MODULE NAME="CHT3">
            %%Description:
            <HELP>
            CHT3 is a Closed-Shell Coupled-Clusters perturbative triples
            program based exclusively on the Cholesky (or RI) decomposed 2-electron integrals
            aimed towards calculation of large systems on highly parallel architectures. Use of
            point-group symmetry is not implemented.
            It requires RUNFILE from the SCF module, T1 and T2 excitation amplitudes and MO
            transformed Cholesky/RI vectors from CHCC.
            </HELP>

:program:`CHT3` is a Closed-Shell Coupled-Clusters perturbative triples
program based exclusively on the Cholesky (or RI) decomposed 2-electron integrals
aimed towards calculation of large systems on highly parallel architectures. Use of
point-group symmetry is not implemented. Main advantage compared to the
:program:`CCSDT` module is |molcas| is in its more efficient parallelization and
dramatically lowered memory (and eventually disk) requirements.

.. For further details the reader is referred to :numref:`TUT:sec:cht3`.

.. index::
   pair: Dependencies; CHT3

.. _sec\:cht3_dependencies:

Dependencies
------------

:program:`CHT3` requires previous run of the :program:`CHCC` Cholesky/RI
based CCSD program to produce T1 and T2 excitation amplitudes stored in :file:`T2xxxx`
and :file:`RstFil` files.
The :program:`CHCC` program (as well as :program:`SEWARD` and :program:`SCF`) must be run
in Cholesky/RI mode.

The algorithm used for almost complete elimination of the :program:`CHT3`
limits in calculated system size due to the computer memory bottleneck relies
on blocking of the virtual orbitals. Size of blocks is, unlike in :program:`CHCC` program, determined automatically for optimal performance.

.. index::
   pair: Files; CHT3

.. _sec\:cht3_files:

Files
-----

Input files
...........

.. class:: filelist

:file:`RUNFILE`
  File for communication of auxiliary information.

:file:`L0xxxx`, :file:`L1xxxx`, :file:`L2xxxx`
  MO-transformed Cholesky vectors

:file:`T2xxxx`
  T2 :math:`(ij,a'b')` excitation amplitudes

:file:`RstFil`
  Communication file containing T1 amplitudes, restart informations, etc.

Intermediate files
..................

All the intermediate files are created, used and removed
automatically, unless you yourself create a link or a file
with the specified name.

.. class:: filelist

:file:`KMATAA`, :file:`KMATBA`, :file:`LMATAA`, :file:`LMATBA`
  Temporary integral files

Output files
............

None

.. index::
   pair: Input; CHT3

.. _sec\:cht3_input:

Input
-----

The input for each module is preceded by its name like: ::

  &CHT3

.. class:: keywordlist

:kword:`TITLe`
  This keyword starts the reading of title lines,
  with the number of title lines limited to 10.
  Reading the input as title lines is stopped as soon
  as the input parser detects one of the other keywords,
  however only ten lines will be accepted.
  This keyword is *optional*.

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="TITLE" APPEAR="Title" KIND="CUSTOM" LEVEL="BASIC">
              %%Keyword: TITLe <basic>
              <HELP>
              Enter up to ten title lines. Do not put any keyword in the beginning of a title line.
              </HELP>
              </KEYWORD>

:kword:`FROZen`
  Integer on the following line specifies number of inactive occupied
  orbitals in the (T) calculation. This keyword is *optional*. (Default=0)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="FROZ" APPEAR="Frozen orbitals" KIND="INT" LEVEL="BASIC" MIN_VALUE="0" DEFAULT_VALUE="0">
              %%Keyword: FROZen <basic>
              <HELP>
              Specifies number of inactive occupied orbitals in the (T) procedure
              </HELP>
              </KEYWORD>

:kword:`DELEted`
  Integer on the following line specifies number of inactive virtual
  orbitals in the (T) calculation. This keyword is *optional*. (Default=0)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="DELE" APPEAR="Deleted orbitals" KIND="INT" LEVEL="BASIC" MIN_VALUE="0" DEFAULT_VALUE="0">
              %%Keyword: DELEted <basic>
              <HELP>
              Specifies number of inactive virtual orbitals in the (T) procedure
              </HELP>
              </KEYWORD>

:kword:`LARGe`
  Integer on the following line specifies the main segmentation of the virtual orbitals
  used in previous CCSD run.

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="LARG" APPEAR="Large segmentation" KIND="INT" LEVEL="BASIC" MIN_VALUE="1" MAX_VALUE="32" DEFAULT_VALUE="1">
              %%Keyword: LARGe <basic>
              <HELP>
              Specifies the segmentation of virtual orbitals
              </HELP>
              </KEYWORD>

  .. :kword:`MHKEy`
       Integer on the following line specifies if library BLAS (MHKEy=1) or hard-coded
       fortran vector-vector, matrix-vector and matrix-matrix manipulation is used.
       This keyword is *optional*. (Default=1)

       .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="MHKE" APPEAR="Use BLAS" KIND="INT" LEVEL="BASIC" MIN_VALUE="0" MAX_VALUE="1" DEFAULT_VALUE="1">
                   %%Keyword: MHKEy <basic>
                   <HELP>
                   Specifies if BLAS libraries (=1) or hard-code fortran is used.
                   </HELP>
                   </KEYWORD>

:kword:`NOGEnerate`
  This keyword specifies that the pre-(T) steps (generation of integrals from
  the Cholesky/RI vectors, etc.) are skipped. This keyword can be used for
  restarting the (T) calculation if the required integrals were already generated.
  This keyword is *optional*. (Default=OFF)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="NOGE" APPEAR="Skip pre-(T) steps" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: NOGEnerate <basic>
              <HELP>
              Pre-(T) steps, like integrals generation, etc. are skipped.
              </HELP>
              </KEYWORD>

:kword:`NOTRiples`
  This keyword specifies that the post integral preparation steps, i.e.
  the real calculation of (T) contribution will not be done. Job can be restarted
  from this point using the :kword:`NOGEnerate` keyword.
  This keyword is *optional*. (Default=OFF)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="NOTR" APPEAR="No triples" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: NOTRiples <basic>
              <HELP>
              Program stops after generation of temporary integral files
              </HELP>
              </KEYWORD>

:kword:`ALOOp`
  Two integers on the following line specify first and last triplet of
  virtual orbitals blocks to be calculated in the first ("A loop") of
  the two parts of the (T) calculation. Using this keyword enables user
  to split the (T) calculation into separate jobs. Information about
  the total number of triplets in the "A loop" can be found in the
  output of the "preparation" step of the (T) program. Values
  -1, -1 mean, that the whole "A loop" is either executed or skipped,
  depending on the parameters of the BLOOp keyword.
  This keyword is *optional*. (Default=-1,-1)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="ALOO" APPEAR="A loop" KIND="INTS" SIZE="2" LEVEL="BASIC" MIN_VALUE="-1" DEFAULT_VALUE="-1">
              %%Keyword: ALOOp <basic>
              <HELP>
              Specifies the range of triplets of virtual orbitals blocks from
              the fist of two parts of (T) program to be calculated.
              </HELP>
              </KEYWORD>

:kword:`BLOOp`
  Two integers on the following line specify first and last triplet of
  virtual orbital block to be calculated in the second ("B loop") of
  two parts of the (T) calculation. Using this keyword enables user
  to split the (T) calculation into separate jobs. Information about
  the total number of triplets in the "B loop" can be found in the
  output of the "preparation" step of the (T) program. Values
  -1, -1 mean, that the whole "B loop" is either executed or skipped,
  depending on the values of the ALOOp keyword.
  This keyword is *optional*. (Default=-1,-1)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="BLOO" APPEAR="B loop" KIND="INTS" SIZE="2" LEVEL="BASIC" MIN_VALUE="-1" DEFAULT_VALUE="-1">
              %%Keyword: BLOOp <basic>
              <HELP>
              Specifies the range of triplets of virtual orbitals blocks from
              the second of two parts of (T) program to be calculated.
              </HELP>
              </KEYWORD>

:kword:`PRINtkey`
  The integer on the following line specifies the print level in output

  .. container:: list

    1  --- Minimal

    2  --- Minimal + timings of each (T) step

    10 --- Debug

  This keyword is *optional*. (Default=1)

  .. xmldoc:: <KEYWORD MODULE="CHT3" NAME="PRIN" APPEAR="Print level" KIND="CHOICE" LIST="1: Minimal,2: Minimal + timings,10: Debug" LEVEL="ADVANCED" DEFAULT_VALUE="1">
              <HELP>
              Choose the print level
              </HELP>
              </KEYWORD>
              %%Keyword: PRINtkey <advanced>
              Sets the print level

              1  -- Minimal
              2  -- Minimal + timings
              10 -- Debug

::

  &CHT3
  Title  = Benzene dimer
  Frozen = 12
  Large  = 4
  ALOOp  = 20 120
  BLoop  = 1 250
  Print  = 2

.. xmldoc:: </MODULE>