|
34 | 34 | Keyword Default Description |
35 | 35 | ======================== ============ ============================================ |
36 | 36 | method None Method to calculate dispersion for |
| 37 | + params_tweaks None Optional dict with the damping parameters |
37 | 38 | cache_api True Reuse generate API objects (recommended) |
38 | 39 | ======================== ============ ============================================ |
39 | 40 |
|
| 41 | +The params_tweaks dict contains the damping parameters, at least s8, a1 and a2 |
| 42 | +must be provided |
| 43 | +
|
| 44 | +======================== =========== ============================================ |
| 45 | + Tweakable parameter Default Description |
| 46 | +======================== =========== ============================================ |
| 47 | + s6 1.0 Scaling of the dipole-dipole dispersion |
| 48 | + s8 None Scaling of the dipole-quadrupole dispersion |
| 49 | + s9 1.0 Scaling of the three-body dispersion energy |
| 50 | + a1 None Scaling of the critical radii |
| 51 | + a2 None Offset of the critical radii |
| 52 | + alp 16.0 Exponent of the zero damping (ATM only) |
| 53 | +======================== =========== ============================================ |
| 54 | +
|
| 55 | +Either method or s8, a1 and a2 must be provided, s9 can be used to overwrite |
| 56 | +the ATM scaling if the method is provided in the model. |
| 57 | +Disabling the three-body dispersion (s9=0.0) changes the internal selection rules |
| 58 | +for damping parameters of a given method and prefers special two-body only |
| 59 | +damping parameters if available! |
| 60 | +
|
40 | 61 | Example |
41 | 62 | ------- |
42 | 63 | >>> from ase.build import molecule |
|
69 | 90 | CalculationFailed, |
70 | 91 | all_changes, |
71 | 92 | ) |
| 93 | +from ase.calculators.mixing import SumCalculator |
72 | 94 | from ase.atoms import Atoms |
73 | 95 | from ase.units import Hartree, Bohr |
74 | 96 |
|
@@ -102,6 +124,9 @@ def __init__( |
102 | 124 |
|
103 | 125 | Calculator.__init__(self, atoms=atoms, **kwargs) |
104 | 126 |
|
| 127 | + def add_calculator(self, other: Calculator) -> Calculator: |
| 128 | + return SumCalculator([self, other]) |
| 129 | + |
105 | 130 | def set(self, **kwargs) -> dict: |
106 | 131 | """Set new parameters to dftd4""" |
107 | 132 |
|
|
0 commit comments