File: cpf.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 (333 lines) | stat: -rw-r--r-- 11,367 bytes parent folder | download | duplicates (3)
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
.. index::
   single: Program; CPF
   single: CPF

.. _UG\:sec\:cpf:

:program:`cpf`
==============

.. only:: html

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

Description
-----------

.. xmldoc:: <MODULE NAME="CPF">
            %%Description:
            <HELP>
            This program performs standard SDCI calculations, or
            CPF calculations as described by Ahlrichs; MCPF calculations(Chong) or
            ACPF calculations(Gdanitz). In each case, the reference is normally
            a single determinant, possibly with a few high-spin coupled open shells,
            but low-spin cases are also possible. It was originally written by Siegbahn and
            Blomberg, and has only been slightly modified to fit MOLCAS.
            It requires a file generated by the GUGA program. See manual.
            </HELP>

The
:program:`CPF` program generates :index:`SDCI <single: SDCI; using CPF>`,
:index:`CPF` :cite:`Ahlrichs:85`,
:index:`MCPF` :cite:`Chong:86` or
:index:`ACPF <single: ACPF; using CPF>` :cite:`Gdanitz:88`,
wavefunctions from **one** reference configuration.

The
:program:`CPF` program is a modification to a CPF
program written by P. E. M. Siegbahn and M. Blomberg
(Institute of Physics, Stockholm University, Sweden).

The program is based on the Direct CI method :cite:`Roos:72`,
with the coupling coefficients generated
by the Graphical Unitary Group Approach :cite:`Shavitt:77,Shavitt:78,Siegbahn:80`
(See program description for
:program:`GUGA`).
:program:`CPF` generates natural orbitals that can be fed into
the property program to evaluate certain one electron properties.
Also, the natural orbitals can be used for Iterative Natural Orbital
calculations.

Orbital subspaces
-----------------

The orbital space is divided into the following subspaces:
:index:`Frozen <single: CPF; Frozen>`,
:index:`Inactive <single: CPF; Inactive>`,
:index:`Active <single: CPF; Active>`,
:index:`Secondary <single: CPF; Secondary>`,
and :index:`Deleted <single: CPF; Deleted>` orbitals. Within each
symmetry type, they follow this order.
Their meaning is the same as explained in the :program:`GUGA` and
:program:`MOTRA` sections, except that, in this case, there is only
a single reference configuration. Therefore, the active orbitals in
this case are usually only open shells, if any.
Since explicit handling of orbitals is taken care of at the integral
transformation step, program :program:`MOTRA`, orbital spaces are not
specified in the input, except when orbitals are frozen or deleted by the
:program:`CPF` program, rather than by :program:`MOTRA`
(which should normally be avoided).

.. index::
   pair: Dependencies; CPF

.. _UG\:sec\:cpf_dependencies:

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

The :program:`CPF` program needs the coupling
coefficients generated by the program
:program:`GUGA` and the transformed one and two electron
integrals from the program
:program:`MOTRA`.

.. index::
   pair: Files; CPF

.. _UG\:sec\:cpf_files:

Files
-----

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

The
:program:`CPF` program need the coupling coefficients generated by
:program:`GUGA` and the transformed integrals from
:program:`MOTRA`.

:program:`CPF` will use the following input
files: :file:`ONEINT`, :file:`RUNFILE`, :file:`CIGUGA`,
:file:`TRAINT`, :file:`TRAONE`
(for more information see :numref:`UG:sec:files_list`).
and :file:`CPFVECT` (for restarted calculations).

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

:program:`CPF` generates an two output files:

.. class:: filelist

:file:`CPFORB`
  The natural orbitals from the CPF functional.

:file:`CPFVECT`
  The CI expansion coefficients. These may be used for restarting an
  unconverged calculation.

.. index::
   pair: Input; CPF

.. _UG\:sec\:cpf_input:

Input
-----

This section describes the input to the :program:`CPF` program in the |molcas| program system.
The input for each module is preceded by its name like: ::

  &CPF

.. index::
   pair: Keywords; CPF

Optional keywords
.................

.. class:: keywordlist

:kword:`TITLe`
  Followed by a title line

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="TITLE" APPEAR="Title" KIND="STRING" LEVEL="BASIC">
              %%Keyword: Title <basic>
              <HELP>
              Followed by a title line
              </HELP>
              </KEYWORD>

:kword:`SDCI`
  Specifies that a SDCI calculation is to be performed.
  No additional input is required.
  Only one of the choices SDCI, CPF, MCPF or ACPF should be chosen.

  .. xmldoc:: <SELECT MODULE="CPF" NAME="COMP_MODEL" APPEAR="Computation model" CONTAINS="SDCI,CPF,MCPF,ACPF" LEVEL="BASIC">

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="SDCI" KIND="SINGLE" EXCLUSIVE="CPF,MCPF,ACPF" LEVEL="BASIC">
              %%Keyword: SDCI <basic>
              Out of the choices SDCI, CPF, MCPF or ACPF, precisely one must be used.
              <HELP>
              Single-reference SDCI calculation.
              </HELP>
              </KEYWORD>

:kword:`CPF`
  Specifies that a CPF calculation is to be performed.
  Only one of the choices SDCI, CPF, MCPF or ACPF should be chosen.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="CPF" KIND="SINGLE" EXCLUSIVE="SDCI,MCPF,ACPF" LEVEL="BASIC">
              %%Keyword: CPF <basic>
              Out of the choices SDCI, CPF, MCPF or ACPF, precisely one must be used.
              <HELP>
              Single-reference CPF calculation (Ahlrichs, see manual).
              </HELP>
              </KEYWORD>

:kword:`MCPF`
  Specifies that a Modified CPF calculation is to be performed.
  This option is in fact the default choice.
  Only one of the choices SDCI, CPF, MCPF or ACPF should be chosen.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="MCPF" KIND="SINGLE" EXCLUSIVE="SDCI,CPF,ACPF" LEVEL="BASIC">
              %%Keyword: MCPF <basic>
              Out of the choices SDCI, CPF, MCPF or ACPF, precisely one must be used.
              <HELP>
              Single-reference MCPF calculation (Chong, see manual).
              </HELP>
              </KEYWORD>

:kword:`ACPF`
  Specifies that an Average CPF calculation is to be performed.
  Only one of the choices SDCI, CPF, MCPF or ACPF should be chosen.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="ACPF" KIND="SINGLE" EXCLUSIVE="SDCI,CPF,MCPF" LEVEL="BASIC">
              %%Keyword: ACPF <basic>
              Out of the choices SDCI, CPF, MCPF or ACPF, precisely one must be used.
              <HELP>
              Single-reference ACPF calculation (Gdanitz, see manual).
              </HELP>
              </KEYWORD>

  .. xmldoc:: </SELECT>

:kword:`RESTart`
  Restart the calculation from a previous calculation.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="RESTART" APPEAR="Restart" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: Restart <advanced>
              <HELP>
              Restart the calculation from a previous calculation.
              </HELP>
              </KEYWORD>

:kword:`THRPr`
  Threshold for printout of the wavefunction. All configurations with
  a coefficient greater than this threshold are printed in the final
  printout. The default is 0.05.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="THRP" APPEAR="CI Print Threshold" KIND="REAL" LEVEL="ADVANCED" DEFAULT_VALUE="0.05" MIN_VALUE="0.0">
              %%Keyword: ThrPrint <advanced>
              <HELP>
              Set threshold on CI coefficients to be printed. Default 0.05.
              </HELP>
              </KEYWORD>

:kword:`ECONvergence`
  Energy convergence threshold. The update procedure is repeated
  until the energy difference between the last two iterations is less
  than this threshold. The default is 1.0e-8.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="ECON" APPEAR="Energy Convergence" KIND="REAL" LEVEL="ADVANCED" DEFAULT_VALUE="1.0D-8" MIN_VALUE="0.0">
              %%Keyword: EConvergence <advanced>
              <HELP>
              Set energy threshold for convergence. Default 1.0D-8.
              </HELP>
              </KEYWORD>

:kword:`PRINt`
  Print level of the program. Default is 5.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="PRINT" APPEAR="Print level" KIND="INT" LEVEL="ADVANCED" DEFAULT_VALUE="5">
              %%Keyword: PrintLevel <advanced>
              <HELP>
              Set print level. Default is 5.
              </HELP>
              </KEYWORD>

:kword:`MAXIterations`
  Maximum number of iterations in the update procedure. Default 20.
  The maximum value of this parameter is 75.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="MAXITER" APPEAR="Maximum iterations" KIND="INT" LEVEL="ADVANCED" DEFAULT_VALUE="20" MIN_VALUE="0" MAX_VALUE="75">
              %%Keyword: MaxIterations <advanced>
              <HELP>
              Set maximum iterations. Default 20, max possible 75.
              </HELP>
              </KEYWORD>

:kword:`FROZen`
  Specify the number of orbitals to be frozen in
  **addition** to the orbitals frozen in the integral transformation. Default is 0
  in all symmetries.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="FROZEN" APPEAR="Frozen" KIND="INTS_LOOKUP" SIZE="NSYM" LEVEL="ADVANCED" DEFAULT_VALUE="0" MIN_VALUE="0">
              %%Keyword: Frozen <advanced>
              <HELP>
              Specify, for each symmetry, how many orbitals to keep uncorrelated
              in addition to any that were frozen already by MOTRA.
              </HELP>
              </KEYWORD>

:kword:`DELEted`
  Specify the number of orbitals to be deleted in
  **addition** to the orbitals deleted in the integral transformation. Default is 0
  in all symmetries.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="DELETED" APPEAR="Deleted" KIND="INTS_LOOKUP" SIZE="NSYM" LEVEL="ADVANCED" DEFAULT_VALUE="0" MIN_VALUE="0">
              %%Keyword: Deleted <advanced>
              <HELP>
              Specify, for each symmetry, how many orbitals to delete
              in addition to any that were deleted already by MOTRA.
              </HELP>
              </KEYWORD>

:kword:`LOW`
  Specifies that this is a low spin case, i.e. the spin is less than
  the maximum possible with the number of open shells in the
  calculation. See Refs. :cite:`Ahlrichs:85,Chong:86`.
  This requires special considerations.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="LOWSPIN" APPEAR="Low Spin" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: Low <advanced>
              <HELP>
              Specifies a low spin case, see manual.
              </HELP>
              </KEYWORD>

:kword:`MAXPulay`
  Maximum number of iterations in the initial stage. After that, DIIS extrapolation
  will be used. Default is 6.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="MAXPULAY" APPEAR="Pre-DIIS Iterations" KIND="INT" LEVEL="ADVANCED" DEFAULT_VALUE="6">
              %%Keyword: MaxPulay <advanced>
              <HELP>
              Number of iterations until DIIS extrapolation is switched on.
              </HELP>
              </KEYWORD>

:kword:`LEVShift`
  Levelshift in the update procedure. Default is 0.3.

  .. xmldoc:: <KEYWORD MODULE="CPF" NAME="LEVSHIFT" APPEAR="Level shift" KIND="REAL" LEVEL="ADVANCED" DEFAULT_VALUE="0.3">
              %%Keyword: LevShift <advanced>
              <HELP>
              Enter level shift to use in the equation solver. Default is 0.3.
              </HELP>
              </KEYWORD>

Input example
.............

::

  &CPF
  Title
   Water molecule. 1S frozen in transformation.
  MCPF

.. xmldoc:: </MODULE>