Ziegler–Biersack–Littmark (ZBL)¶
Description¶
The zbl_compute_force operator computes the universal ZBL screened nuclear repulsion, which describes high-energy, short-distance collisions between atoms:
with the screening function
and the screening length (in Å)
\(S(r)\) is a switching function that brings the energy and its first and second derivatives smoothly to zero between an inner cutoff \(r_1\) and the outer cutoff \(r_c\). With \(t = r - r_1\):
where \(A\), \(B\) and \(C\) are computed from the value and the first two derivatives of the unscreened ZBL term at \(r_c\).
The atomic numbers \(Z_i\) and \(Z_j\) are not potential parameters: they are taken from the z property of each species (see the species block).
| Parameter | Units | Description |
|---|---|---|
r1 |
distance | Inner cutoff, where the switching function starts |
rc |
distance | Outer cutoff, where energy and forces reach zero |
rcut |
distance | Cutoff radius of the pair potential (use rc) |
YAML syntax¶
- VALUE = Physical value of the intended parameter.
- UNITS = Units of the provided value that will be passed to the conversion helper for internal units conversion.
Usage examples¶
Systems with a single atomic specy
Systems with multiple atomic species
species:
- In: { mass: 114.818 Da , z: 49 , charge: 0.0 e- }
- P: { mass: 30.974 Da , z: 15 , charge: 0.0 e- }
zbl_multi_force:
rcut: 4.2 ang
common_parameters: { r1: 3.0 ang , rc: 4.2 ang }
parameters:
- { type_a: In , type_b: In , rcut: 4.2 ang , parameters: { r1: 3.0 ang , rc: 4.2 ang } }
- { type_a: In , type_b: P , rcut: 4.2 ang , parameters: { r1: 3.0 ang , rc: 4.2 ang } }
- { type_a: P , type_b: P , rcut: 4.2 ang , parameters: { r1: 3.0 ang , rc: 4.2 ang } }
Tip
ZBL is typically added to a machine-learning potential (for example SNAP) to handle very short interatomic distances. List both operators in compute_force.