-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathuser_ref.rst
12275 lines (6231 loc) · 207 KB
/
user_ref.rst
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
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.. raw:: html
<style> .red {color:#aa0060; font-weight:bold; font-size:18px} </style>
.. role:: red
.. This documentation was autogenerated using parselglossy. Editing by hand is not recommended.
====================
User input reference
====================
- Keywords without a default value are **required**.
- Default values are either explicit or computed from the value of other keywords in the input.
- Sections where all keywords have a default value can be omitted.
- Predicates, if present, are the functions run to validate user input.
:red:`Keywords`
:world_prec: Overall relative precision in the calculation.
**Type** ``float``
**Predicates**
- ``1.0e-10 < value < 1.0``
:world_size: Total size of computational domain given as 2**(``world_size``). Always cubic and symmetric around the origin. Negative value means it will be computed from the molecular geometry.
**Type** ``int``
**Default** ``-1``
**Predicates**
- ``value <= 10``
:world_unit: Length unit for *all* coordinates given in user input. Everything will be converted to atomic units (bohr) before the main executable is launched, so the JSON input is *always* given in bohrs.
**Type** ``str``
**Default** ``bohr``
**Predicates**
- ``value.lower() in ["bohr", "angstrom"]``
:world_origin: Global gauge origin of the calculation.
**Type** ``List[float]``
**Default** ``[0.0, 0.0, 0.0]``
**Predicates**
- ``len(value) == 3``
:red:`Sections`
:Precisions: Define specific precision parameters.
:red:`Keywords`
:exchange_prec: Precision parameter used in construction of Exchange operators. Negative value means it will follow the dynamic precision in SCF.
**Type** ``float``
**Default** ``-1.0``
:helmholtz_prec: Precision parameter used in construction of Helmholtz operators. Negative value means it will follow the dynamic precision in SCF.
**Type** ``float``
**Default** ``-1.0``
:poisson_prec: Precision parameter used in construction of Poisson operators.
**Type** ``float``
**Default** ``user['world_prec']``
**Predicates**
- ``1.0e-10 < value < 1.0``
:nuclear_prec: Precision parameter used in smoothing and projection of nuclear potential.
**Type** ``float``
**Default** ``user['world_prec']``
**Predicates**
- ``1.0e-10 < value < 1.0``
:Printer: Define variables for printed output.
:red:`Keywords`
:print_level: Level of detail in the written output. Level 0 for production calculations, negative level for complete silence.
**Type** ``int``
**Default** ``0``
:print_mpi: Write separate output from each MPI to file called ``<file_name>-<mpi-rank>.out``.
**Type** ``bool``
**Default** ``False``
:print_prec: Number of digits in property output (energies will get twice this number of digits).
**Type** ``int``
**Default** ``6``
**Predicates**
- ``0 < value < 10``
:print_width: Line width of printed output (in number of characters).
**Type** ``int``
**Default** ``75``
**Predicates**
- ``50 < value < 100``
:print_constants: Print table of physical constants used by MRChem.
**Type** ``bool``
**Default** ``False``
:Plotter: Give details regarding the density and orbital plots. Three types of plots are available, line, surface and cube, and the plotting ranges are defined by three vectors (A, B and C) and an origin (O): ``line``: plots on line spanned by A, starting from O. ``surf``: plots on surface spanned by A and B, starting from O. ``cube``: plots on volume spanned by A, B and C, starting from O.
:red:`Keywords`
:path: File path to plot directory.
**Type** ``str``
**Default** ``plots``
**Predicates**
- ``value[-1] != '/'``
:type: Type of plot: line (1D), surface (2D) or cube (3D).
**Type** ``str``
**Default** ``cube``
**Predicates**
- ``value.lower() in ['line', 'surf', 'cube']``
:points: Number of points in each direction on the cube grid.
**Type** ``List[int]``
**Default** ``[20, 20, 20]``
**Predicates**
- ``all(p > 0 for p in value)``
- ``not (user['Plotter']['type'] == 'line' and len(value) < 1)``
- ``not (user['Plotter']['type'] == 'surf' and len(value) < 2)``
- ``not (user['Plotter']['type'] == 'cube' and len(value) < 3)``
:O: Origin of plotting ranges.
**Type** ``List[float]``
**Default** ``[0.0, 0.0, 0.0]``
**Predicates**
- ``len(value) == 3``
:A: First boundary vector for plot.
**Type** ``List[float]``
**Default** ``[1.0, 0.0, 0.0]``
**Predicates**
- ``len(value) == 3``
:B: Second boundary vector for plot.
**Type** ``List[float]``
**Default** ``[0.0, 1.0, 0.0]``
**Predicates**
- ``len(value) == 3``
:C: Third boundary vector for plot.
**Type** ``List[float]``
**Default** ``[0.0, 0.0, 1.0]``
**Predicates**
- ``len(value) == 3``
:MPI: Define MPI related parameters.
:red:`Keywords`
:numerically_exact: This will use MPI algorithms that guarantees that the output is invariant wrt the number of MPI processes.
**Type** ``bool``
**Default** ``False``
:shared_memory_size: Size (MB) of the MPI shared memory blocks of each shared function.
**Type** ``int``
**Default** ``10000``
:share_nuclear_potential: This will use MPI shared memory for the nuclear potential.
**Type** ``bool``
**Default** ``False``
:share_coulomb_potential: This will use MPI shared memory for the Coulomb potential.
**Type** ``bool``
**Default** ``False``
:share_xc_potential: This will use MPI shared memory for the exchange-correlation potential.
**Type** ``bool``
**Default** ``False``
:bank_size: Number of MPI processes exclusively dedicated to manage orbital bank in total.
**Type** ``int``
**Default** ``-1``
:bank_per_node: Number of MPI processes exclusively dedicated to manage orbital bank for each node.
**Type** ``int``
**Default** ``-1``
:omp_threads: Force the number of OpenMP threads for workers.
**Type** ``int``
**Default** ``-1``
:use_omp_num_threads: Use the environment variable OMP_NUM_THREADS to determine the average number of threads for OMP (NB: banks will use 1 thread, workers may use more threads than OMP_NUM_THREADS).
**Type** ``bool``
**Default** ``false``
:Basis: Define polynomial basis.
:red:`Keywords`
:order: Polynomial order of multiwavelet basis. Negative value means it will be set automatically based on the world precision.
**Type** ``int``
**Default** ``-1``
:type: Polynomial type of multiwavelet basis.
**Type** ``str``
**Default** ``interpolating``
**Predicates**
- ``value.lower() in ['interpolating', 'legendre']``
:Derivatives: Define various derivative operators used in the code.
:red:`Keywords`
:kinetic: Derivative used in kinetic operator.
**Type** ``str``
**Default** ``abgv_55``
:h_b_dip: Derivative used in magnetic dipole operator.
**Type** ``str``
**Default** ``abgv_00``
:h_m_pso: Derivative used in paramagnetic spin-orbit operator.
**Type** ``str``
**Default** ``abgv_00``
:zora: Derivative used ZORA potential.
**Type** ``str``
**Default** ``abgv_00``
:Molecule: Define molecule.
:red:`Keywords`
:charge: Total charge of molecule.
**Type** ``int``
**Default** ``0``
:multiplicity: Spin multiplicity of molecule.
**Type** ``int``
**Default** ``1``
**Predicates**
- ``value > 0``
:translate: Translate coordinates such that center of mass coincides with the global gauge origin.
**Type** ``bool``
**Default** ``False``
:coords: Coordinates in xyz format. Atoms can be given either using atom symbol or atom number
**Type** ``str``
:WaveFunction: Define the wavefunction method.
:red:`Keywords`
:method: Wavefunction method. See predicates for valid methods. ``hf``, ``hartreefock`` and ``hartree-fock`` all mean the same thing, while ``lda`` is an alias for ``svwn5``. You can set a non-standard DFT functional (e.g. varying the amount of exact exchange) by choosing ``dft`` and specifing the functional(s) in the ``DFT`` section below.
**Type** ``str``
**Predicates**
- ``value.lower() in ['core', 'hartree', 'hf', 'hartreefock', 'hartree-fock', 'dft', 'lda', 'svwn3', 'svwn5', 'pbe', 'pbe0', 'bpw91', 'bp86', 'b3p86', 'b3p86-g', 'blyp', 'b3lyp', 'b3lyp-g', 'olyp', 'kt1', 'kt2', 'kt3']``
:restricted: Use spin restricted wavefunction.
**Type** ``bool``
**Default** ``True``
:relativity: Set method for relativistic treatment. ``ZORA`` for fully self-consistent ZORA potential, by default including all potentials (``V_nuc``, ``J``, ``V_xc``) but this can be overwritten in the ``ZORA`` section. ``nZORA`` is shortcut for nuclear-ZORA, i.e. only ``V_nuc`` is included (this keyword takes precedence over keywords in the ``ZORA`` section). ``azora`` uses atomic ZORA potentials, which are precomputed and read from the directory specified in the ``azora_potential_path`` keyword.
**Type** ``str``
**Default** ``none``
**Predicates**
- ``value.lower() in ['none', 'zora', 'nzora', 'azora']``
:environment: Set method for treatment of environment. ``none`` for vacuum calculation. ``PCM`` for Polarizable Continuum Model, which will activate the ``PCM`` input section for further parametrization options. The ``PB`` and ``LPB`` variants add the Poisson-Boltzmann and Linearized Poisson-Boltzmann solvers, respectively.
**Type** ``str``
**Default** ``none``
**Predicates**
- ``value.lower() in ['none', 'pcm', 'pcm_pb', 'pcm_lpb']``
:nuclear_model: Type of nucleus model. Point-like (numerical smoothing): HFYGB (default), parabola or minimal. Finite models (physical smoothing): Gaussian or Homogeneous sphere Finite models are derived from nuclear RMS radius, Visscher (1997)
**Type** ``str``
**Default** ``point_like``
**Predicates**
- ``value.lower() in ['point_like', 'point_parabola', 'point_minimal', 'finite_gaussian', 'finite_sphere']``
:ZORA: Define required parameters for the ZORA Hamiltonian.
:red:`Keywords`
:include_nuclear: Include the nuclear potential ``V_nuc`` in the ZORA potential.
**Type** ``bool``
**Default** ``True``
:include_coulomb: Include the Coulomb potential ``J`` in the ZORA potential.
**Type** ``bool``
**Default** ``True``
:include_xc: Include the XC potential ``V_xc`` in the ZORA potential.
**Type** ``bool``
**Default** ``True``
:azora_potential_path: Path to the directory containing the AZORA potentials. If not specified, the default potentials will be used. Look into the readme file in the share/azora_potentials directory for information about the potential file format.
**Type** ``str``
**Default** ``none``
:DFT: Define the exchange-correlation functional in case of DFT.
:red:`Keywords`
:density_cutoff: Hard cutoff for passing density values to XCFun.
**Type** ``float``
**Default** ``0.0``
:functionals: List of density functionals with numerical coefficient. E.g. for PBE0 ``EXX 0.25``, ``PBEX 0.75``, ``PBEC 1.0``, see XCFun documentation <https://xcfun.readthedocs.io/>_.
**Type** ``str``
**Default** `` ``
:spin: Use spin separated density functionals.
**Type** ``bool``
**Default** ``not(user['WaveFunction']['restricted'])``
:Properties: Provide a list of properties to compute (total SCF energy and orbital energies are always computed).
:red:`Keywords`
:dipole_moment: Compute dipole moment.
**Type** ``bool``
**Default** ``True``
:quadrupole_moment: Compute quadrupole moment. Note: Gauge origin dependent, should be used with ``translate = true`` in Molecule.
**Type** ``bool``
**Default** ``False``
:polarizability: Compute polarizability tensor.
**Type** ``bool``
**Default** ``False``
:magnetizability: Compute magnetizability tensor.
**Type** ``bool``
**Default** ``False``
:nmr_shielding: Compute NMR shielding tensor.
**Type** ``bool``
**Default** ``False``
:plot_density: Plot converged electron density.
**Type** ``bool``
**Default** ``False``
:plot_orbitals: Plot converged molecular orbitals from list of indices, negative index plots all orbitals.
**Type** ``List[int]``
**Default** ``[]``
:hirshfeld_charges: Compute Hirshfeld charges.
**Type** ``bool``
**Default** ``False``
:geometric_derivative: Compute geometric derivative.
**Type** ``bool``
**Default** ``user['GeometryOptimizer']['run']``
:Forces: Define parameters for the computation of forces.
:red:`Keywords`
:method: Method for computing forces. ``surface_integrals`` (more accurate) uses surface integrals over the quantum mechanical stress tensor, while ``hellmann_feynman`` uses the Hellmann-Feynman theorem.
**Type** ``str``
**Default** ``surface_integrals``
**Predicates**
- ``value.lower() in ['surface_integrals', 'hellmann_feynman']``
:surface_integral_precision: Precision of the surface integrals used in the computation of forces. Determines the number of Lebedev grid points used in the surface integration.
**Type** ``str``
**Default** ``medium``
**Predicates**
- ``value.lower() in ['low', 'medium', 'high']``
:radius_factor: Sets the radius of the surface used in the computation of forces. The radius is given by this factor times the distance to the neariest neighbour. Must be between 0.1 and 0.9. This should rarely need to be changed. Different values can change the accuracy of the forces.
**Type** ``float``
**Default** ``0.5``
:ExternalFields: Define external electromagnetic fields.
:red:`Keywords`
:electric_field: Strength of external electric field.
**Type** ``List[float]``
**Default** ``[]``
**Predicates**
- ``len(value) == 0 or len(value) == 3``
:Polarizability: Give details regarding the polarizability calculation.
:red:`Keywords`
:frequency: List of external field frequencies.
**Type** ``List[float]``
**Default** ``[0.0]``
:NMRShielding: Give details regarding the NMR shileding calculation.
:red:`Keywords`
:nuclear_specific: Use nuclear specific perturbation operator (h_m_pso).
**Type** ``bool``
**Default** ``False``
:nucleus_k: List of nuclei to compute. Negative value computes all nuclei.
**Type** ``List[int]``
**Default** ``[-1]``
:Files: Defines file paths used for program input/output. Note: all paths must be given in quotes if they contain slashes "path/to/file".
:red:`Keywords`
:guess_basis: File name for GTO basis set, used with ``gto`` guess.
**Type** ``str``
**Default** ``initial_guess/mrchem.bas``
:guess_gto_p: File name for paired orbitals, used with ``gto`` guess.
**Type** ``str``
**Default** ``initial_guess/mrchem.mop``
:guess_gto_a: File name for alpha orbitals, used with ``gto`` guess.
**Type** ``str``
**Default** ``initial_guess/mrchem.moa``
:guess_gto_b: File name for beta orbitals, used with ``gto`` guess.
**Type** ``str``
**Default** ``initial_guess/mrchem.mob``
:guess_phi_p: File name for paired orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/phi_p_scf_idx_<0...Np>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/phi_p``
:guess_phi_a: File name for alpha orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/phi_a_scf_idx_<0...Na>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/phi_a``
:guess_phi_b: File name for beta orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/phi_b_scf_idx_<0...Nb>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/phi_b``
:guess_x_p: File name for paired response orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/x_p_rsp_idx_<0...Np>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/X_p``
:guess_x_a: File name for alpha response orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/x_a_rsp_idx_<0...Na>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/X_a``
:guess_x_b: File name for beta response orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/x_b_rsp_idx_<0...Nb>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/X_b``
:guess_y_p: File name for paired response orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/y_p_rsp_idx_<0...Np>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/Y_p``
:guess_y_a: File name for alpha response orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/y_a_rsp_idx_<0...Na>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/Y_a``
:guess_y_b: File name for beta response orbitals, used with ``mw`` guess. Expected path is ``<path_orbitals>/y_b_rsp_idx_<0...Nb>_<re/im>.mw
**Type** ``str``
**Default** ``initial_guess/Y_b``
:guess_cube_p: File name for paired orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/phi_p_scf_idx_<0...Np>_<re/im>.cube where `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/phi_p``
:guess_cube_a: File name for alpha orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/phi_a_scf_idx_<0...Na>_<re/im>.cube where `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/phi_a``
:guess_cube_b: File name for beta orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/phi_b_scf_idx_<0...Nb>_<re/im>.cube where `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/phi_b``
:guess_cube_x_p: File name for paired response orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/x_p_rsp_<0,1,2>_<0...Np>_<re/im>.cube where `0,1,2` indicate the index of the components of the response vectors. `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/x_p``
:guess_cube_x_a: File name for alpha response orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/x_a_rsp_<0,1,2>_<0...Na>_<re/im>.cube where `0,1,2` indicate the index of the components of the response vectors. `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/x_a``
:guess_cube_x_b: File name for beta response orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/x_b_rsp_<0,1,2>_<0...Nb>_<re/im>.cube where `0,1,2` indicate the index of the components of the response vectors. `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/x_b``
:guess_cube_y_p: File name for paired response orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/y_p_rsp_<0,1,2>_<0...Np>_<re/im>.cube where `0,1,2` indicate the index of the components of the response vectors. `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/y_p``
:guess_cube_y_a: File name for alpha response orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/y_a_rsp_<0,1,2>_<0...Na>_<re/im>.cube where `0,1,2` indicate the index of the components of the response vectors. `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/y_a``
:guess_cube_y_b: File name for beta response orbitals, used with ``cube`` guess. Expected path is ``<path_orbitals>/y_b_rsp_<0,1,2>_<0...Nb>_<re/im>.cube where `0,1,2` indicate the index of the components of the response vectors. `Np` is the number of orbitals and `re/im` denote real or imaginary parts.
**Type** ``str``
**Default** ``initial_guess/y_b``
:cube_vectors: Directory where cube vectors are stored for mrchem calculation.
**Type** ``str``
**Default** ``cube_vectors/``
:SCF: Includes parameters related to the ground state SCF orbital optimization.
:red:`Keywords`
:run: Run SCF solver. Otherwise properties are computed on the initial orbitals.
**Type** ``bool``
**Default** ``True``
:max_iter: Maximum number of SCF iterations.
**Type** ``int``
**Default** ``100``
:kain: Length of KAIN iterative history.
**Type** ``int``
**Default** ``5``
:rotation: Number of iterations between each diagonalization/localization.
**Type** ``int``
**Default** ``0``
:localize: Use canonical or localized orbitals.
**Type** ``bool``
**Default** ``False``
:energy_thrs: Convergence threshold for SCF energy.
**Type** ``float``
**Default** ``-1.0``
:guess_prec: Precision parameter used in construction of initial guess.
**Type** ``float``
**Default** ``0.001``
**Predicates**
- ``1.0e-10 < value < 1.0``
:guess_screen: Screening parameter used in GTO evaluations, in number of standard deviations. Every coordinate beyond N StdDev from the Gaussian center is evaluated to zero. Note that too aggressive screening is counter productive, because it leads to a sharp cutoff in the resulting function which requires higher grid refinement. Negative value means no screening.
**Type** ``float``
**Default** ``12.0``
:start_prec: Incremental precision in SCF iterations, initial value.
**Type** ``float``
**Default** ``-1.0``
:final_prec: Incremental precision in SCF iterations, final value.
**Type** ``float``
**Default** ``-1.0``
:guess_type: Type of initial guess for ground state orbitals. ``chk`` restarts a previous calculation which was dumped using the ``write_checkpoint`` keyword. This will load MRA and electron spin configuration directly from the checkpoint files, which are thus required to be identical in the two calculations. ``mw`` will start from final orbitals in a previous calculation written using the ``write_orbitals`` or ``write_orbitals_txt`` keyword. The orbitals will be re-projected into the new computational setup, which means that the electron spin configuration and MRA can be different in the two calculations. ``gto`` reads precomputed GTO orbitals (requires extra non-standard input files for basis set and MO coefficients). ``core`` and ``sad`` will diagonalize the Fock matrix in the given AO basis (SZ, DZ, TZ or QZ) using a Core or Superposition of Atomic Densities Hamiltonian, respectively. ``cube`` will start from orbitals saved in cubefiles from external calculations.
**Type** ``str``
**Default** ``sad_gto``
**Predicates**
- ``value.lower() in ['mw', 'chk', 'gto', 'core_sz', 'core_dz', 'core_tz', 'core_qz', 'sad_sz', 'sad_dz', 'sad_tz', 'sad_qz', 'sad_gto', 'cube']``
:write_checkpoint: Write orbitals to disk in each iteration, file name ``<path_checkpoint>/phi_scf_idx_<0..N>``. Can be used as ``chk`` initial guess in subsequent calculations. Note: must be given in quotes if there are slashes in the path "path/to/checkpoint".
**Type** ``bool``
**Default** ``False``
:path_checkpoint: Path to checkpoint files during SCF, used with ``write_checkpoint`` and ``chk`` guess.
**Type** ``str``
**Default** ``checkpoint``
**Predicates**
- ``value[-1] != '/'``
:path_orbitals: Path to where converged orbitals will be written in connection with the ``write_orbitals`` keyword. Note: must be given in quotes if there are slashes in the path "path/to/orbitals".
**Type** ``str``
**Default** ``orbitals``
**Predicates**
- ``value[-1] != '/'``
:guess_rotate: Localize/Diagonalize the initial guess orbitals before calculating the initial guess energy.
**Type** ``bool``
**Default** ``True``
:write_orbitals: Write final orbitals to disk, file name ``<path_orbitals>/phi_<p/a/b>_scf_idx_<0..Np/Na/Nb>``. Can be used as ``mw`` initial guess in subsequent calculations.
**Type** ``bool``
**Default** ``user['GeometryOptimizer']['use_previous_guess']``
:orbital_thrs: Convergence threshold for orbital residuals.
**Type** ``float``
**Default** ``10 * user['world_prec']``
:Response: Includes parameters related to the response SCF optimization.
:red:`Keywords`
:run: In which Cartesian directions to run response solver.
**Type** ``List[bool]``
**Default** ``[True, True, True]``
:max_iter: Maximum number of response iterations.
**Type** ``int``
**Default** ``100``
:kain: Length of KAIN iterative history.
**Type** ``int``
**Default** ``5``
:property_thrs: Convergence threshold for symmetric property. Symmetric meaning the property computed from the same operator as the response purturbation, e.g. for external magnetic field the symmetric property corresponds to the magnetizability (NMR shielding in non-symmetric, since one of the operators is external magnetic field, while the other is nuclear magnetic moment).
**Type** ``float``
**Default** ``-1.0``
:start_prec: Incremental precision in SCF iterations, initial value.
**Type** ``float``
**Default** ``-1.0``
:final_prec: Incremental precision in SCF iterations, final value.
**Type** ``float``
**Default** ``-1.0``
:guess_prec: Precision parameter used in construction of initial guess.
**Type** ``float``
**Default** ``0.001``
**Predicates**
- ``1.0e-10 < value < 1.0``
:guess_type: Type of initial guess for response. ``none`` will start from a zero guess for the response functions. ``chk`` restarts a previous calculation which was dumped using the ``write_checkpoint`` keyword. ``mw`` will start from final orbitals in a previous calculation written using the ``write_orbitals`` or the ``write_orbitals_txt`` keyword. The orbitals will be re-projected into the new computational setup.
**Type** ``str``
**Default** ``none``
**Predicates**
- ``value.lower() in ['none', 'chk', 'mw', 'cube']``
:write_checkpoint: Write perturbed orbitals to disk in each iteration, file name ``<path_checkpoint>/<X/Y>_rsp_<direction>_idx_<0..N>``. Can be used as ``chk`` initial guess in subsequent calculations.
**Type** ``bool``
**Default** ``False``
:path_checkpoint: Path to checkpoint files during SCF, used with ``write_checkpoint`` and ``chk`` guess.
**Type** ``str``
**Default** ``checkpoint``
**Predicates**
- ``value[-1] != '/'``
:write_orbitals: Write final perturbed orbitals to disk, file name ``<path_orbitals>/<X/Y>_<p/a/b>_rsp_<direction>_idx_<0..Np/Na/Nb>``. Can be used as ``mw`` initial guess in subsequent calculations.
**Type** ``bool``
**Default** ``False``
:write_orbitals_txt: Write final perturbed orbitals to disk, file name ``<path_orbitals>/<X/Y>_<p/a/b>_rsp_<direction>_idx_<0..Np/Na/Nb>``. Can be used as ``mw`` initial guess in subsequent calculations. The orbitals are written in a readable and portable text format.
**Type** ``bool``
**Default** ``False``
:path_orbitals: Path to where converged orbitals will be written in connection with the ``write_orbitals`` or ``write_orbitals_txt`` keyword.
**Type** ``str``
**Default** ``orbitals``
**Predicates**
- ``value[-1] != '/'``
:orbital_thrs: Convergence threshold for orbital residuals.
**Type** ``float``
**Default** ``10 * user['world_prec']``
:localize: Use canonical or localized unperturbed orbitals.
**Type** ``bool``
**Default** ``user['SCF']['localize']``
:PCM: Includes parameters related to the computation of the reaction field energy of a system in an environment within the Polarizable Continuum Model.
:red:`Sections`
:SCRF: Parameters for the Self-Consistent Reaction Field optimization.
:red:`Keywords`
:max_iter: Max number of iterations allowed in the nested procedure.
**Type** ``int``
**Default** ``100``
:dynamic_thrs: Set the convergence threshold for the nested procedure. ``true`` will dynamically tighten the convergence threshold based on the absolute value of the latest orbital update as. When the orbitals are close to convergence (``mo_residual < world_prec*10``) the convergence threshold will be set equal to ``world_prec``. ``false`` uses ``world_prec`` as convergence threshold throughout.
**Type** ``bool``
**Default** ``True``
:density_type: What part of the total molecular charge density to use in the algorithm. ``total`` uses the total charge density. ``nuclear`` uses only the nuclear part of the total charge density. ``electronic`` uses only the electronic part of the total charge density.
**Type** ``str``
**Default** ``total``
**Predicates**
- ``value.lower() in ['total', 'nuclear', 'electronic']``
:kain: Number of previous reaction field iterates kept for convergence acceleration during the nested precedure.
**Type** ``int``
**Default** ``user['SCF']['kain']``
:Solvent: Parameters for the Self-Consistent Reaction Field optimization.
:red:`Sections`
:Permittivity: Parameters for the permittivity function.
:red:`Keywords`
:epsilon_in: Permittivity inside the cavity. 1.0 is the permittivity of free space, anything other than this is undefined behaviour.
**Type** ``float``
**Default** ``1.0``
:formulation: Formulation of the Permittivity function. Currently only the exponential is available.
**Type** ``str``
**Default** ``exponential``
**Predicates**
- ``value.lower() in ['exponential']``
:red:`Sections`
:epsilon_out: Parameters for the continuum solvent outside the cavity.
:red:`Keywords`
:nonequilibrium: Whether to use the nonequilibrium formulation of response, *i.e.* use the dynamic permittivity for the calculation of the response reaction field. Defaults to false.
**Type** ``bool``
**Default** ``False``
:static: Static permittivity outside the cavity. This is characteristic of the solvent used.
**Type** ``float``
**Default** ``1.0``
:dynamic: Dynamic permittivity outside the cavity. This is characteristic of the solvent used and relevant only in response calculations. Defaults to the same value as `epsilon_static`.
**Type** ``float``
**Default** ``user['PCM']['Solvent']['Permittivity']['epsilon_out']['static']``
:DebyeHuckelScreening: Parameters for the Debye-Huckel screening factor
:red:`Keywords`
:ion_strength: Ionic strength of the electrolyte in mol/L. This represents the concentration of the ions in the bulk solvent.
**Type** ``float``
**Default** ``1.0``
:ion_radius: Amount with which the vdw-radius of the atoms will be increased. The screening factor will have an area of effect that is often going to be larger than the vdw-cavity, but centered in the same atoms.
**Type** ``float``
**Default** ``0.0``
:ion_width: Width of the transition between the solute and the ion accessible part.
**Type** ``float``
**Default** ``0.2``
:formulation: formulation of the debye-huckel screening factor. Currently only the variable factor is implemented. ``variable``: implement the screening functions as k = (1-C_ion)k_out
**Type** ``str``