| Both sides previous revision Previous revision | |
| the_scf_program [2025/11/18 07:13] – convergence: AVAS, extra symmetries doll | the_scf_program [2026/01/28 13:23] (current) – doll |
|---|
| |
| * **''NATORB''=//record//** Save natural charge orbitals in given record. | * **''NATORB''=//record//** Save natural charge orbitals in given record. |
| * **''UNOMIN''=//unomin//** Minimum occpation number for UNO-CAS (default 0.02) | * **''UNOMIN''=//unomin//** Minimum occupation number for UNO-CAS (default 0.02) |
| * **''UNOMAX''=//unomax//** Maximum occupation number for UNO-CAS (default 1.98) | * **''UNOMAX''=//unomax//** Maximum occupation number for UNO-CAS (default 1.98) |
| |
| </code> | </code> |
| |
| Beware, however, that STO-3G is a very poor basis set and usually gives very bad starting vectors. This technique is best used in combination with reasonable small basis sets (e.g., cc-pVDZ or def2-SVP) or minimal basis sets with a proper repesentation of the occupied atomic orbitals (e.g, 6-31G or MINAO/MINAO-PP): | Beware, however, that STO-3G is a very poor basis set and usually gives very bad starting vectors. This technique is best used in combination with reasonable small basis sets (e.g., cc-pVDZ or def2-SVP) or minimal basis sets with a proper representation of the occupied atomic orbitals (e.g, 6-31G or MINAO/MINAO-PP): |
| |
| <code - examples/minao_startorb.inp> | <code - examples/minao_startorb.inp> |
| * **Occupation freezing:** The option ''%%{rhf,nitord=N}%%'' can be used to freeze orbital occupations at iteration N. When the programs emits warnings about reassigned orbital occupations, you could try to freeze the occupations only later (give a higher N) or earlier (give a smaller N). By freezing the occupation pattern you tell the RHF program to try to lock on whatever solution it currently is pursuing. This often helps if multiple RHF solutions with similar energies are present and otherwise the program would oscillate between some of them. Note that ''%%{rhf,nitord=1} %%''will tell RHF to lock onto the initial occupation; if combined with orbital rotation or advanced initial guesses this can often be used to converge to specific solutions (e.g., some excited states). | * **Occupation freezing:** The option ''%%{rhf,nitord=N}%%'' can be used to freeze orbital occupations at iteration N. When the programs emits warnings about reassigned orbital occupations, you could try to freeze the occupations only later (give a higher N) or earlier (give a smaller N). By freezing the occupation pattern you tell the RHF program to try to lock on whatever solution it currently is pursuing. This often helps if multiple RHF solutions with similar energies are present and otherwise the program would oscillate between some of them. Note that ''%%{rhf,nitord=1} %%''will tell RHF to lock onto the initial occupation; if combined with orbital rotation or advanced initial guesses this can often be used to converge to specific solutions (e.g., some excited states). |
| * **Minimal-basis SCF guess:** Try to obtain a Hartree-Fock solution with a minimal-basis AO set first and to use this as initial guess for the actual Hartree-Fock calculation. For this purpose we provided the basis set definition "MINAO" (to complement cc-pVnZ basis sets) and "MINAO-PP" (to complement cc-pVnZ-PP sets with ECPs). See section [[the SCF program#initial orbital guess|initial orbital guess]] for an example. These sets simply consist of the AO part of the cc-pVTZ or cc-pVTZ-PP basis sets, stripped of all their polarization functions. Since a minimal basis has fewer degrees of freedom than a real basis set, convergence is often easier, and it can still provide reasonable guess for the valence electronic structure. Note: The MINAO basis sets are very small, so conventional Hartree-Fock (in integral-direct mode if necessary) is typically much faster than density-fitting Hartree-Fock. | * **Minimal-basis SCF guess:** Try to obtain a Hartree-Fock solution with a minimal-basis AO set first and to use this as initial guess for the actual Hartree-Fock calculation. For this purpose we provided the basis set definition "MINAO" (to complement cc-pVnZ basis sets) and "MINAO-PP" (to complement cc-pVnZ-PP sets with ECPs). See section [[the SCF program#initial orbital guess|initial orbital guess]] for an example. These sets simply consist of the AO part of the cc-pVTZ or cc-pVTZ-PP basis sets, stripped of all their polarization functions. Since a minimal basis has fewer degrees of freedom than a real basis set, convergence is often easier, and it can still provide reasonable guess for the valence electronic structure. Note: The MINAO basis sets are very small, so conventional Hartree-Fock (in integral-direct mode if necessary) is typically much faster than density-fitting Hartree-Fock. |
| * **Increasing the DIIS dimension:** In rare cases ''%%{rhf,maxdis=30,iptyp=’DIIS’,nitord=20; shift,-1.0,-0.5}%%'' can find solutions which are not found in the standard settings. Usually increasing the DIIS dimension beyond 10 (the default) just slows down convergence. It is also worthwile to try a variation of DIIS known as KAIN (Krylov-subspace accelerated inexact Newton): ''%%{rhf,maxdis=10,iptyp=’KAIN’,nitord=10; shift,-1.0,-0.5}%%'' which sometimes shows different convergence behavior than straight DIIS. | * **Increasing the DIIS dimension:** In rare cases ''%%{rhf,maxdis=30,iptyp=’DIIS’,nitord=20; shift,-1.0,-0.5}%%'' can find solutions which are not found in the standard settings. Usually increasing the DIIS dimension beyond 10 (the default) just slows down convergence. It is also worthwhile to try a variation of DIIS known as KAIN (Krylov-subspace accelerated inexact Newton): ''%%{rhf,maxdis=10,iptyp=’KAIN’,nitord=10; shift,-1.0,-0.5}%%'' which sometimes shows different convergence behavior than straight DIIS. |
| * **AVAS** may be used to have a good initial guess for the orbitals. | * **AVAS** may be used to have a good initial guess for the orbitals. |
| * **sym** may be used to exploit extra symmetries. | * **sym** may be used to exploit extra symmetries. |
| ===== Stability check: Eigenvalues of the orbital Hessian ===== | ===== Stability check: Eigenvalues of the orbital Hessian ===== |
| |
| It is possible to calculate the eigenvalues of the orbital Hessian with the MCSCF program (see [[the MCSCF program MULTI#orbital Hessian eigenvalues|orbital Hessian eigenvalues]] ) for a RHF wavefuction. This requires a manually given orbital occupation in the MCSCF program (see ''CLOSED'' and ''OCC'') similar to the RHF solution. The computation of the orbital Hessian is considerably more expansive than the RHF optimization. Negative eigenvalues show that the solution is a saddle point, and a lower energy could be found. | It is possible to calculate the eigenvalues of the orbital Hessian with the MCSCF program (see [[the MCSCF program MULTI#orbital Hessian eigenvalues|orbital Hessian eigenvalues]] ) for a RHF wavefunction. This requires a manually given orbital occupation in the MCSCF program (see ''CLOSED'' and ''OCC'') similar to the RHF solution. The computation of the orbital Hessian is considerably more expansive than the RHF optimization. Negative eigenvalues show that the solution is a saddle point, and a lower energy could be found. |
| |
| ===== Advanced use: Core-excited states ===== | ===== Advanced use: Core-excited states ===== |