howto:cdft
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howto:cdft [2018/11/02 12:28] – [Example: Configuration interaction calculations with CDFT (CDFT-CI): The case of $\mathrm{H}_2^+$] nholmber | howto:cdft [2022/05/18 20:24] – Update for new CDFT forces based on Hirshfeld partitioning of the electron density (CP2K version 10 #2111) cahart | ||
---|---|---|---|
Line 7: | Line 7: | ||
<note important> | <note important> | ||
- | CP2K version 5.1 or higher is needed to perform CDFT simulations. | + | CP2K version 5.1 or higher is needed to perform CDFT simulations. CP2K version 10 or higher is needed to perform CDFT force calculations with Hirshfeld based constraints. |
</ | </ | ||
+ | |||
---- | ---- | ||
Line 40: | Line 41: | ||
* spin specific constraint ($\rho^{\uparrow/ | * spin specific constraint ($\rho^{\uparrow/ | ||
- | The Becke and Hirshfeld space partitioning schemes can be used as constraint weight functions in CP2K. The main differences between these two constraints will be explained in a subsequent section. Please note that Becke constraints have been tested much more extensively. | + | The Becke and Hirshfeld space partitioning schemes can be used as constraint weight functions in CP2K. The main differences between these two constraints will be explained in a subsequent section. |
- | When CDFT is used in a molecular dynamics or a geometry optimization simulation, additional force terms arising from the constraints are calculated | + | When CDFT is used in a molecular dynamics or a geometry optimization simulation, additional force terms arising from the constraints are calculated |
\begin{equation} | \begin{equation} | ||
Line 157: | Line 158: | ||
- Constraint weight function specific settings (Becke/ | - Constraint weight function specific settings (Becke/ | ||
- | In the above example, a Becke constraint is selected using the keyword [[inp> | + | In the above example, a Becke constraint is selected using the keyword [[inp> |
{{ howto: | {{ howto: | ||
- | **Figure | + | **Figure |
The OUTER_SCF section within the CDFT section defines settings for the CDFT SCF loop. The keyword [[inp> | The OUTER_SCF section within the CDFT section defines settings for the CDFT SCF loop. The keyword [[inp> | ||
Line 168: | Line 169: | ||
==== Available constraints ===== | ==== Available constraints ===== | ||
- | The CDFT module in CP2K currently supports using Becke or Hirshfeld | + | The CDFT module in CP2K currently supports using Becke or Hirshfeld based constraints. The main aspects of these weight functions and their use as CDFT constraints will be explained in this section. Weight function specific settings are defined in the sections [[inp> |
Line 176: | Line 177: | ||
{{ howto: | {{ howto: | ||
- | **Figure | + | **Figure |
- | The Voronoi and, by extension, the Becke partitioning methods treat each element equally. This leads to unphysical partial charges in most systems. For example, the Becke scheme predicts a positive charge on oxygen and a negative charge on hydrogen in water (see examples for input files). This problem can be remedied by accounting for atomic radii during the partitioning. This behavior is activated by the keyword [[inp> | + | The Voronoi and, by extension, the Becke partitioning methods treat each element equally. This leads to unphysical partial charges in most systems. For example, the Becke scheme predicts a positive charge on oxygen and a negative charge on hydrogen in water (see examples for input files). This problem can be remedied by accounting for atomic radii during the partitioning. This behavior is activated by the keyword [[inp> |
The algorithmic implementation of the Becke density partitioning method has been detailed [[doi> | The algorithmic implementation of the Becke density partitioning method has been detailed [[doi> | ||
Line 207: | Line 208: | ||
== Hirshfeld constraints == | == Hirshfeld constraints == | ||
- | Hirshfeld constraints are cheaper to construct than Becke constraints in large systems because Hirshfeld constraints are essentially just weighted sums of spherical Gaussian functions. The keywords [[inp> | + | Hirshfeld constraints are cheaper to construct than Becke constraints in large systems because Hirshfeld constraints are essentially just weighted sums of spherical Gaussian functions. The keywords [[inp> |
+ | |||
+ | The shape function keyword accepts two values: Gaussian or Density. | ||
* The first choice implies that the CDFT weight function for each atom is a single Gaussian function whose radius is controlled by the GAUSSIAN_SHAPE keyword. By default, tabulated covalent radii are used as the radii of the Gaussian, but it is also possible to select van der Waals radii or to define custom radii. | * The first choice implies that the CDFT weight function for each atom is a single Gaussian function whose radius is controlled by the GAUSSIAN_SHAPE keyword. By default, tabulated covalent radii are used as the radii of the Gaussian, but it is also possible to select van der Waals radii or to define custom radii. | ||
- | * The latter choice implies that the atomic weight function are constructed from isolated atomic densities which are expanded in terms of multiple spherical Gaussians. This choice | + | * The latter choice implies that the atomic weight function are constructed from isolated atomic densities which are expanded in terms of multiple spherical Gaussians. This choice |
==== Selected examples | ==== Selected examples | ||
Line 319: | Line 322: | ||
=== Zn dimer cation with Hirshfeld constraints === | === Zn dimer cation with Hirshfeld constraints === | ||
- | This tutorial is exactly the same as the one above but using Hirshfeld based constraints instead of Becke constraints. | + | <note important> |
+ | |||
+ | This tutorial is exactly the same as the Zn dimer example | ||
+ | |||
+ | It might be instructive to visualize how the Becke and Hirshfeld weight function schemes differ, in particular, how the methods assign a volume to each atom in the system. You can activate the section [[inp> | ||
Line 430: | Line 437: | ||
In the above example input file, a common file '' | In the above example input file, a common file '' | ||
- | The keyword [[inp> | + | The keyword [[inp> |
+ | |||
+ | The keyword [[inp> | ||
+ | |||
+ | A special run type is available for '' | ||
==== Example: Electronic coupling of Zn cation dimer ==== | ==== Example: Electronic coupling of Zn cation dimer ==== | ||
Line 492: | Line 503: | ||
We can use CDFT states as the basis of a configuration interaction (CI) simulation to correct for SIE in this system. As the figure above shows, CDFT-CI using the PBE functional is able to reproduce the exact dissociation profile. You can read up on the theory behind CDFT-CI simulations from the references given at the start of this tutorial. Very briefly, CDFT-CI simulations involve representing the system' | We can use CDFT states as the basis of a configuration interaction (CI) simulation to correct for SIE in this system. As the figure above shows, CDFT-CI using the PBE functional is able to reproduce the exact dissociation profile. You can read up on the theory behind CDFT-CI simulations from the references given at the start of this tutorial. Very briefly, CDFT-CI simulations involve representing the system' | ||
- | In this tutorial, you will reproduce the DFT and CDFT results from the figure above. You can find the input files here. The reference data used to plot Figure 4 are also included in the zip-folder. Please note that the reference results were obtained with a larger basis set and planewave cutoff as well as tighter convergence criteria than the settings you will be using in this tutorial. | + | In this tutorial, you will reproduce the DFT and CDFT results from the figure above. You can find the input files {{: |
- Start by examining the simulation script '' | - Start by examining the simulation script '' |
howto/cdft.txt · Last modified: 2024/01/03 13:20 by oschuett