Interatomic Potential¶
The interatomic potential is chosen through the compute_force block. By default it does nothing (compute_force: nop); it is invoked as part of compute_all_forces_energy, called at every step of any numerical scheme:
Redefining compute_force in your input file is enough to select a potential — you don't need to touch compute_force_prolog/compute_force_epilog or compute_all_forces_energy. Three examples are given below: a simple analytical pair potential with no external file (Lennard-Jones), a tabulated potential read from a file (EAM alloy), and a more complex analytical potential (MEAM).
Lennard-Jones (Argon)¶
lj_compute_force computes the standard 12/6 Lennard-Jones pair potential from two parameters, epsilon and sigma, up to a cutoff rcut:
Tip
For a system with multiple species, lj_multi_force takes a common_parameters fallback plus a per-pair parameters list keyed by type_a/type_b — see Lennard-Jones for details.
EAM alloy (Tantalum)¶
eam/alloy-format potentials are read from a tabulated file. The eam_alloy_force operator computes the whole potential — electron density, embedding energy and force — in a single pass:
Tip
More complex scenarios (multi-species alloys, the multi-pass/optimized variant with a separate ghost exchange of the embedding derivative, etc.) can also be set up — see the reference EAM alloy section (still being written).
MEAM (Tin)¶
meam_force implements the full (2NN) MEAM formalism directly from a set of analytical parameters — no external file:
Tip
rcut/rmax/rmin/rc/rp are cutoff-related distances, Ecoh/E0/A/r0/alpha/delta describe the universal energy curve, beta0-3/t0-3 control the electron density contributions, s0-3 are screening-related, and Cmin/Cmax/Z set the angular screening function — see the reference MEAM potentials section (still being written) for the full formalism.