Potential

eOn supports many potentials, some vendored within the executable and libraries and others via interfaces.

Note

Some of these require compile-time flags, detailed in the installation instructions. The conda-forge package (conda install -c conda-forge eon) includes Metatomic, XTB, EXT_POT, and the vendored potentials. The client always compiles the LAMMPS interface and loads liblammps with dlopen. The option -Dwith_lammps does not exist. ASE, VASP, AMS, and MPI potentials require building from source with the corresponding -Dwith_* flags.

Supported potentials

External

RGPOT

In-process rgpot calculators. Set potential = rgpot and configure [RgpotPot]. NWChem and CPMD are backends. See RgpotPot (direct in-process rgpot). conda-forge

VASP [POT_KFurthmuller96]

Vienna Ab-Initio Simulation Program (VASP) I/O interface. -Dwith_vasp defaults false. source build

LAMMPS [POT_Pli95, POT_TAB+22]

Library interface, detailed documentation here. in.lammps must be in the working directory, or the potential raises an error. conda-forge

EXT_POT

File-based interface to any external calculator. Detailed documentation here. conda-forge

Added in version 2.0:

AMS(-IO)

Amsterdam modeling suite [POT_teVeldeBB+01], both I/O and library. source build ASE_ORCA

Atomic simulation environment [POT_LMB+17] interface to ORCA [POT_NWBR20]. source build ASE_NWChem

Atomic simulation environment [POT_LMB+17] interface to NWChem [POT_ApraBDJ+20]. source build XTB

Extended Tight binding models via native Fortran-C interfce [POT_BCE+21]. -Dwith_xtb defaults false. Prefer potential = rgpot in [Potential] and backend = xtb in [RgpotPot]. conda-forge Metatomic

Common interface to atomistic machine learning models. -Dwith_metatomic defaults false. conda-forge SocketNWChem

Socket oriented communicator for efficient integration with NWChem [POT_ApraBDJ+20]. conda-forge

Vendored

CuH2

Copper Hydride system

FeHe

Iron-hydrides

EAM_Al

Embedded atom method parameterized for Aluminum. The rgpot kernel stores the EON r2549 parameter literals at single precision.

EMT

Effective medium theory, for metals.

LJ [POT_Jon24]

Lennard-Jones in reduced units, served by rgpot. Neighbor pairs via vesin; timed by ASV TimeMinimizationLJCluster (ljcluster).

LJCluster [POT_Jon24]

Lennard-Jones cluster variant, served by rgpot.

Morse_Pt

Hard sphere morse potential for Platinum, served by rgpot. Neighbor pairs via vesin; timed by ASV TimePointMorsePt / saddle / NEB Morse fixtures.

ZBL

Ziegler-Biersack-Littmark screened nuclear repulsion, served by rgpot.

Added in version 3.2.1:

DFTD3 / DFTD4

Grimme DFT-D via rgpot 3.2 (potential = dftd3 / dftd4, [D3Pot] / [D4Pot]). The option -Dwith_dftd3 does not exist. The client compiles these pots when RGPOT_HAS_DFTD3 or RGPOT_HAS_DFTD4 is defined.

EXPR

rgpot ExprPot. potential = expr with [ExprPot] expression and comma-separated terms (0.5*lj + d3). Terms: lj, ljcluster, morse, zbl, d3/dftd3, d4/dftd4, mopac.

MOPAC

rgpot 3.2 MOPACPot (libmopacc). potential = mopac, [MOPACPot] charge, spin, model (4 is AM1), engine_path.

Lenosky_Si [POT_LSA+00]

Lenosky potential, for silicon.

SW_SI [POT_SW85]

Stillinger-Weber potential, for silicon.

Tersoff_SI [POT_Ter88]

Tersoff pair potential with angular terms, for silicon.

EDIP [POT_JBK+98]

Environment-Dependent Interatomic Potential, for carbon.

TIP4P [POT_JCM+83]

Point charge model for water and for water on platinum. Source builds need -Dwith_water=true because with_water defaults false. Water with an extra hydrogen is the Fortran kernel and follows with_fortran.

SPCE [POT_BGS87]

Extended simple point charge model for water. Source builds need -Dwith_water=true because with_water defaults false.

Configuration

A known potential name matches in any case. RGPOT is stored as rgpot. An exact listed spelling wins, so SocketNWChem stays distinct from socketnwchem.

[Potential]
pydantic model eon.schema.PotentialConfig[source]
Fields:
  • mpi_poll_period (float)

  • lammps_logging (bool)

  • lammps_threads (int)

  • ext_pot_path (str)

  • pair_switch_width (float)

  • pair_cutoff (float)

  • potential (Literal['ams', 'ase_pot', 'ams_io', 'ase_nwchem', 'ase_orca', 'catlearn', 'cuh2', 'dftd3', 'dftd4', 'eam_al', 'edip', 'emt', 'expr', 'ext_pot', 'fehe', 'gpr', 'lammps', 'lenosky_si', 'lj', 'ljcluster', 'metatomic', 'mopac', 'morse_pt', 'mpi', 'rgpot', 'socketnwchem', 'SocketNWChem', 'spce', 'sw_si', 'tersoff_si', 'tip4p', 'tip4p_h', 'tip4p_pt', 'unknown', 'vasp', 'xtb', 'zbl'])

  • emt_rasmussen (bool | None)

  • potentials_path (str | None)

  • log_potential (bool | None)

field mpi_poll_period: float = 0.25

Polling period for MPI potential.

field lammps_logging: bool = False

Logging LAMMPS calls.

field lammps_threads: int = 0

LAMMPS threads.

field ext_pot_path: str = 'ext_pot'

Path for the external potential.

field pair_switch_width: float = 0.0

Width in Angstrom of the C^2 quintic switch that takes the lj, ljcluster and morse_pt pair terms, and those terms of expr, to zero at their cutoff. 0 keeps the shifted truncation, whose force jumps at the cutoff.

Constraints:
  • ge = 0.0

field pair_cutoff: float = 0.0

Cutoff in Angstrom of the lj, ljcluster and morse_pt pair terms, and those terms of expr. 0 keeps each potential’s own cutoff: 15 for LJ, 9.5 for Morse.

Constraints:
  • ge = 0.0

field potential: Literal['ams', 'ase_pot', 'ams_io', 'ase_nwchem', 'ase_orca', 'catlearn', 'cuh2', 'dftd3', 'dftd4', 'eam_al', 'edip', 'emt', 'expr', 'ext_pot', 'fehe', 'gpr', 'lammps', 'lenosky_si', 'lj', 'ljcluster', 'metatomic', 'mopac', 'morse_pt', 'mpi', 'rgpot', 'socketnwchem', 'SocketNWChem', 'spce', 'sw_si', 'tersoff_si', 'tip4p', 'tip4p_h', 'tip4p_pt', 'unknown', 'vasp', 'xtb', 'zbl'] = 'lj'
Options:
  • ams: Amsterdam Modeling Suite potential.

  • ams_io: Amsterdam Modeling Suite via the I/O.

  • ase_nwchem: ASE interface for NWChem (ase_nwcem is an accepted alias).

  • ase_orca: ASE interface for ORCA quantum chemistry package.

  • cuh2: Potential for copper hydride systems.

  • eam_al: Embedded atom method parameterized for aluminum.

  • dftd3: Grimme DFT-D3 via rgpot 3.1 s-dftd3 ([D3Pot]).

  • dftd4: Grimme DFT-D4 via rgpot 3.1 dftd4 ([D4Pot]).

  • edip: Environment-Dependent Interatomic Potential, for carbon.

  • emt: Effective medium theory, for metals.

  • expr: rgpot ExprPot algebra over named terms ([ExprPot] expression and comma-separated terms: lj, morse, zbl, d3, d4).

  • ext_pot: External potential with system call interface.

  • fehe: Potential for iron-hydrogen systems.

  • gpr: Gaussian process regression potential.

  • lammps: The LAMMPS potentials.

  • lenosky_si: Lenosky potential, for silicon.

  • lj: Lennard-Jones potential in reduced units (served by rgpot).

  • ljcluster: Lennard-Jones cluster potential (served by rgpot).

  • mopac: rgpot 3.2 MOPACPot (libmopacc, default AM1; [MOPACPot]).

  • morse_pt: Morse potential for platinum (served by rgpot).

  • mpi: Communicate with an MPI process to calculate energy and forces.

  • rgpot: In-process rgpot backends (NWChem / CPMD / metatomic / xTB via dlopen).

  • spce: Simple Point Charge model for water.

  • sw_si: Stillinger-Weber potential, for silicon.

  • tersoff_si: Tersoff pair potential with angular terms, for silicon.

  • tip4p: Point charge model for water.

  • tip4p_h: TIP4P model for water with hydrogen.

  • tip4p_pt: TIP4P model for water on platinum.

  • unknown: Placeholder for unknown potential type.

  • vasp: Vienna Ab-Initio Simulation Program (VASP) interface.

  • xtb: Extended Tight Binding model.

  • zbl: Ziegler-Biersack-Littmark screened nuclear repulsion (served by rgpot).

Type of potential to execute. A known name matches in any case. An exact listed spelling wins.

field emt_rasmussen: bool | None = False

Use the Rasmussen EMT parameterization.

field potentials_path: str | None = None

Directory of extra potential data files.

field log_potential: bool | None = None

If true, write timing information about each force call to client.log.

Pair cutoff switch

The pair potentials lj, ljcluster and morse_pt shift each pair energy to zero at the cutoff: 15 Angstrom for LJ, 9.5 Angstrom for Morse. The same terms of expr do too. The force still jumps there, and a line search or a dimer rotation reads that jump as noise. pair_switch_width replaces the shift with the quintic switch S(t) = 1 - 10t^3 + 15t^4 - 6t^5. It acts over the last pair_switch_width Angstrom below the cutoff. The energy, the force, and the curvature then reach zero at the cutoff:

[Potential]
potential = morse_pt
pair_switch_width = 1.0

The default 0 keeps the shifted truncation. A width must lie in (0, cutoff]; rgpot refuses any other. The switch changes the energy surface, so results with and without it do not compare directly.

pair_cutoff sets that cutoff, in Angstrom, for the same potentials. The default 0 keeps each potential’s own. A periodic cell finds pairs by the minimum image, so every cell width must exceed twice the cutoff; at 15 Angstrom that rules out any cell narrower than 30 Angstrom. LJ cut at 2.2 Angstrom with a 0.2 Angstrom switch:

[Potential]
potential = lj
pair_cutoff = 2.2
pair_switch_width = 0.2

Potential configurations

Several potentials have additional configuration stanzas.

RGPOT

pydantic model eon.schema.RgpotPot[source]
Fields:
  • backend (str)

  • basis (str)

  • nwchem_basis (str)

  • theory (str)

  • nwchem_theory (str)

  • scf_type (str)

  • nwchem_scf_type (str)

  • functional (str)

  • cpmd_functional (str)

  • cutoff_ry (float)

  • cutOffRy (float)

  • cpmd_cut_off_ry (float)

  • charge (int)

  • nwchem_charge (int)

  • multiplicity (int)

  • nwchem_multiplicity (int)

  • engine_path (str)

  • engine_library (str)

  • model_path (str)

  • task_name (str)

  • device (str)

  • length_unit (str)

  • extensions_directory (str)

  • check_consistency (bool)

  • uncertainty_threshold (float)

  • torch_determinism_strict (bool)

  • paramset (Literal['GFNFF', 'GFN0xTB', 'GFN1xTB', 'GFN2xTB'])

  • xtb_paramset (Literal['GFNFF', 'GFN0xTB', 'GFN1xTB', 'GFN2xTB'])

  • accuracy (float)

  • xtb_accuracy (float)

  • electronic_temperature (float)

  • xtb_electronic_temperature (float)

  • max_iterations (int)

  • xtb_max_iterations (int)

  • uhf (int)

  • xtb_uhf (int)

  • xtb_charge (float)

  • engine_root (str)

  • title (str)

  • memory_mb (int)

  • scratch_dir (str)

  • input_block (str)

  • permanent_dir (str)

  • params_path (str)

  • ranks_per_image (int)

field backend: str = 'nwchemc'

rgpot backend: ‘nwchemc’, ‘cpmdc’, ‘metatomic’, or ‘xtb’ (aliases: nwchem/cpmd/mta/gfn). metatomic/xtb dlopen libmetatomic_engine.so / libxtb_engine.so for packaging.

field basis: str = 'sto-3g'

Basis set for the NWChem backend.

field nwchem_basis: str = 'sto-3g'

Alias of basis, read when basis is absent.

field theory: str = 'scf'

Theory level for the NWChem backend.

field nwchem_theory: str = 'scf'

Alias of theory, read when theory is absent.

field scf_type: str = 'rhf'

SCF type for the NWChem backend.

field nwchem_scf_type: str = 'rhf'

Alias of scf_type, read when scf_type is absent.

field functional: str = 'BLYP'

XC functional for the CPMD backend. [cpmd] functional overrides this key when params_path is empty.

field cpmd_functional: str = 'BLYP'

Alias of functional, read when functional is absent.

field cutoff_ry: float = 70.0

Plane-wave cutoff (Ry) for the CPMD backend. [cpmd] cutOffRy overrides this key when params_path is empty.

field cutOffRy: float = 70.0

Alias of cutoff_ry that wins over it when both are set.

field cpmd_cut_off_ry: float = 70.0

Alias of cutoff_ry, read when cutOffRy and cutoff_ry are absent.

field charge: int = 0

Total charge.

field nwchem_charge: int = 0

Alias of charge, read when charge is absent.

field multiplicity: int = 1

Spin multiplicity.

field nwchem_multiplicity: int = 1

Alias of multiplicity, read when multiplicity is absent.

field engine_path: str = ''

Engine .so path (libnwchemc / libcpmdc / libmetatomic_engine / libxtb_engine).

field engine_library: str = ''

Alias for engine_path; used when engine_path is empty.

field model_path: str = ''

Metatomic model path when backend=metatomic.

field task_name: str = 'omol'

UMA task head when backend=uma.

field device: str = 'cpu'

Metatomic device when backend=metatomic.

field length_unit: str = 'angstrom'

Metatomic length unit when backend=metatomic.

field extensions_directory: str = ''

Metatomic extensions directory when backend=metatomic.

field check_consistency: bool = False

Metatomic consistency checks when backend=metatomic.

field uncertainty_threshold: float = -1.0

Metatomic uncertainty threshold when backend=metatomic.

field torch_determinism_strict: bool = False

Strict Torch determinism when backend=metatomic.

field paramset: Literal['GFNFF', 'GFN0xTB', 'GFN1xTB', 'GFN2xTB'] = 'GFN2xTB'

XTB paramset when backend=xtb.

field xtb_paramset: Literal['GFNFF', 'GFN0xTB', 'GFN1xTB', 'GFN2xTB'] = 'GFN2xTB'

Alias of paramset, read when paramset is absent.

field accuracy: float = 1.0

XTB accuracy when backend=xtb.

field xtb_accuracy: float = 1.0

Alias of accuracy, read when accuracy is absent.

field electronic_temperature: float = 300.0

XTB electronic temperature (K) when backend=xtb.

field xtb_electronic_temperature: float = 300.0

Alias of electronic_temperature, read when that key is absent.

field max_iterations: int = 250

XTB max iterations when backend=xtb.

field xtb_max_iterations: int = 250

Alias of max_iterations, read when max_iterations is absent.

field uhf: int = 0

XTB unpaired electrons when backend=xtb.

field xtb_uhf: int = 0

Alias of uhf, read when uhf is absent.

field xtb_charge: float = 0.0

XTB total charge when backend=xtb. An omitted key uses charge.

field engine_root: str = ''

Engine installation root (NWCHEM_ROOT / CPMD_ROOT).

field title: str = ''

Job title passed to the engine.

field memory_mb: int = 0

Engine memory limit in MB (0 uses the engine default).

field scratch_dir: str = ''

Engine scratch directory.

field input_block: str = ''

Verbatim input block. For NWChem this is inputBlocks. For CPMD, [cpmd] input_block overrides this key and the text is appended to the message inputBlocks.

field permanent_dir: str = ''

CPMD FILEPATH directory for RESTART files (backend=cpmdc).

field params_path: str = ''

Path to a Cap’n Proto CPMDParams message. The file owns the CPMD method, including inputSections and inputBlocks, and the scalar keys are not written over it. input_block is appended to inputBlocks. engine_path, engine_root, scratch_dir, and permanent_dir still place the run.

field ranks_per_image: int = 0

Split the MPI world into groups of this many ranks, one CPMD session per group, and spread NEB images over the groups. 0 keeps one session on every rank.

Metatomic

pydantic model eon.schema.Metatomic[source]
Fields:
  • model_path (str)

  • device (str)

  • length_unit (str)

  • extensions_directory (str)

  • check_consistency (bool)

  • uncertainty_threshold (float)

  • variant_base (str)

  • variant_energy (str)

  • variant_energy_uncertainty (str)

  • energy_output (str)

  • energy_uncertainty_output (str)

  • force_output (str)

  • non_conservative (bool)

  • random_rotation (bool)

  • n_symmetry_rotations (int)

  • variant_force (str)

  • deterministic (bool)

  • deterministic_strict (bool)

field model_path: str = ''

Path to the Metatomic model.

field device: str = 'auto'

Device to use for Metatomic calculations (e.g., ‘cpu’, ‘cuda’, ‘auto’).

field length_unit: str = 'Angstrom'

Length unit used by the Metatomic model.

field extensions_directory: str = ''

Directory for Metatomic extensions.

field check_consistency: bool = False

Whether to check consistency of the Metatomic model.

field uncertainty_threshold: float = -1

Threshold to report per-atom uncertainties, if positive. Also used to populate the variance.

field variant_base: str = ''

Default variant suffix for energy, uncertainty, and non_conservative_force unless overridden.

field variant_energy: str = ''

Override variant for energy (use ‘off’ for the base key).

field variant_energy_uncertainty: str = ''

Override variant for energy_uncertainty.

field energy_output: str = ''

Literal model energy output key; empty uses variant resolution.

field energy_uncertainty_output: str = ''

Literal energy uncertainty output key; empty uses variant resolution.

field force_output: str = ''

Literal non-conservative force output key; empty uses pick_output.

field non_conservative: bool = False

Read forces from non_conservative_force instead of energy gradients.

field random_rotation: bool = False

Apply a random SO(3) rotation per evaluation and rotate forces back.

field n_symmetry_rotations: int = 0

If >0, average over this many random rotations (O(3) symmetrization).

field variant_force: str = ''

Override variant for non_conservative_force (defaults to energy variant).

field deterministic: bool = True

Disable JIT profiling and enable PyTorch deterministic algorithms (reproducible NEB / multi-image forces).

field deterministic_strict: bool = False

Fail on nondeterministic CUDA ops; requires CUBLAS_WORKSPACE_CONFIG (e.g. :4096:8).

XTB

pydantic model eon.schema.XTBPot[source]
Fields:
  • paramset (Literal['GFNFF', 'GFN0xTB', 'GFN1xTB', 'GFN2xTB'])

  • accuracy (float)

  • electronic_temperature (float)

  • max_iterations (int)

  • uhf (int)

  • charge (float)

field paramset: Literal['GFNFF', 'GFN0xTB', 'GFN1xTB', 'GFN2xTB'] = 'GFNFF'

Parameter set for XTB potential.

field accuracy: float = 1.0

Accuracy of the XTB calculation.

field electronic_temperature: float = 0.0

Electronic temperature for XTB.

field max_iterations: int = 250

Maximum number of XTB iterations.

field uhf: int = 0

Multiplicity

field charge: float = 0.0

Total charge

ZBL

pydantic model eon.schema.ZBLPot[source]
Fields:
  • cut_inner (float)

  • cut_global (float)

field cut_inner: float = 2.0

Distance where switching function begins.

field cut_global: float = 2.5

Global cutoff for the ZBL interaction.

NWChem

Support for nwchem works best with the socket potential structure as noted in the reproduction details of the Optimal transport Gaussian Process [POT_GJonsson25], and can lead to manyfold increases in speed compared to file or ASE interfaces [POT_Gos25].

pydantic model eon.schema.SocketNWChemPot[source]
Fields:
  • host (str)

  • port (int)

  • nwchem_settings (str)

  • unix_socket_path (str)

  • unix_socket_mode (bool)

  • mem_in_gb (int)

  • make_template_input (bool)

field host: str = '127.0.0.1'

Host where the NWChem client will connect.

field port: int = 9999

Port for the NWChem client to send data to eOn.

field nwchem_settings: str = 'nwchem_settings.nwi'

Path to the user-provided file containing NWChem scientific settings (basis, theory, task, etc.).

field unix_socket_path: str = 'eon_nwchem'

The basename for the UNIX socket file. The full path will be /tmp/ipi_<basename>.

field unix_socket_mode: bool = False

If true, use a UNIX domain socket for communication instead of TCP/IP.

field mem_in_gb: int = 2

Memory (in GB) to be allocated for the NWChem calculation.

field make_template_input: bool = True

If false, the socket input for the right geometry is generated by the user.

Warning

NWChem’s Fortran i-PI socket driver truncates UNIX socket names to approximately 30 characters. The full socket path is /tmp/ipi_<unix_socket_path>, so unix_socket_path should be kept short (under ~20 characters). For example, eon_nwchem works but eon_nwchem_test_socket is truncated, and the connection fails with no clear error message.

An older ASE interface exists as well.

ASE potentials

There are several specific ASE potentials supported,

pydantic model eon.schema.ASE_NWCHEM[source]
Fields:
  • nwchem_path (str)

  • nproc (int | Literal['auto'])

  • mpi_launcher (str)

  • multiplicity (str)

  • scf_thresh (float)

  • scf_maxiter (int)

  • basis (str)

  • memory (str)

field nwchem_path: str = 'NONE'

Path to the NWChem executable.

field nproc: int | Literal['auto'] = 'auto'

Number of processors to use for NWChem. Can be ‘auto’ or an integer string.

field mpi_launcher: str = 'mpirun'

MPI launcher for NWChem (mpirun default, or srun on Slurm).

field multiplicity: str = '1'

Spin multiplicity for the NWChem calculation.

field scf_thresh: float = 1e-05

SCF convergence threshold for NWChem.

field scf_maxiter: int = 200

Maximum number of SCF iterations for NWChem.

field basis: str = '3-21G'

NWChem basis set passed to the ASE calculator.

field memory: str = '2 gb'

NWChem memory string passed to the ASE calculator.

pydantic model eon.schema.ASE_ORCA[source]
Fields:
  • orca_path (str)

  • nproc (int | Literal['auto'])

  • simpleinput (str)

field orca_path: str = 'NONE'

Path to the ORCA executable.

field nproc: int | Literal['auto'] = 'auto'

Number of processors to use for ORCA. Can be ‘auto’ or an integer string.

field simpleinput: str = 'ENGRAD HF-3c'

Simple input string for ORCA, specifying method and basis set.

AMS potentials

Both a direct server model and a file based integration exist.

pydantic model eon.schema.AMSConfig[source]
Fields:
  • engine (Literal['', 'REAXFF', 'MOPAC'])

  • forcefield (str)

  • model (str)

  • xc (str)

  • basis (str)

  • resources (str)

field engine: Literal['', 'REAXFF', 'MOPAC'] = ''

Engine for AMS calculation. One of REAXFF, MOPAC.

field forcefield: str = ''

Force field to use (e.g., ‘OPt.ff’).

field model: str = ''

Model to use (e.g., ‘PM7’, ‘PM3’).

field xc: str = ''

Exchange-correlation functional.

field basis: str = ''

Basis set to use with the exchange-correlation functional.

field resources: str = ''

Resources path for DFTB.

pydantic model eon.schema.AMSIOConfig[source]
Fields:
  • engine (Literal['', 'REAXFF', 'MOPAC'])

  • forcefield (str)

  • model (str)

  • xc (str)

field engine: Literal['', 'REAXFF', 'MOPAC'] = ''

Engine for AMS calculation. One of REAXFF, MOPAC.

field forcefield: str = ''

Force field to use (e.g., ‘OPt.ff’).

field model: str = ''

Model to use (e.g., ‘PM7’, ‘PM3’).

field xc: str = ''

Exchange-correlation functional.

Along with helpers to set environment variables for these calculations.

pydantic model eon.schema.AMSEnvConfig[source]
Fields:
  • amshome (str)

  • scm_tmpdir (str)

  • scm_pythondir (str)

  • amsbin (str)

  • scmlicense (str)

  • amsresources (str)

field amshome: str = ''

Path to AMS home directory (e.g., ‘/some/path/to/amshome/’).

field scm_tmpdir: str = ''

Temporary directory for SCM (e.g., ‘/tmp’).

field scm_pythondir: str = ''

Python directory for SCM (e.g., ‘/.scm/python’).

field amsbin: str = ''

Path to AMS binary directory (will be appended to amshome).

field scmlicense: str = ''

Path to SCM license file (will be appended to amshome).

field amsresources: str = ''

Path to AMS atomic data resources (will be appended to amshome).

References

[POT_ApraBDJ+20] (1,2)

E. Aprà, E. J. Bylaska, W. A. De Jong, N. Govind, K. Kowalski, T. P. Straatsma, M. Valiev, H. J. J. Van Dam, Y. Alexeev, J. Anchell, V. Anisimov, F. W. Aquino, R. Atta-Fynn, J. Autschbach, N. P. Bauman, J. C. Becca, D. E. Bernholdt, K. Bhaskaran-Nair, S. Bogatko, P. Borowski, J. Boschen, J. Brabec, A. Bruner, E. Cauët, Y. Chen, G. N. Chuev, C. J. Cramer, J. Daily, M. J. O. Deegan, T. H. Dunning, M. Dupuis, K. G. Dyall, G. I. Fann, S. A. Fischer, A. Fonari, H. Früchtl, L. Gagliardi, J. Garza, N. Gawande, S. Ghosh, K. Glaesemann, A. W. Götz, J. Hammond, V. Helms, E. D. Hermes, K. Hirao, S. Hirata, M. Jacquelin, L. Jensen, B. G. Johnson, H. Jónsson, R. A. Kendall, M. Klemm, R. Kobayashi, V. Konkov, S. Krishnamoorthy, M. Krishnan, Z. Lin, R. D. Lins, R. J. Littlefield, A. J. Logsdail, K. Lopata, W. Ma, A. V. Marenich, J. Martin Del Campo, D. Mejia-Rodriguez, J. E. Moore, J. M. Mullin, T. Nakajima, D. R. Nascimento, J. A. Nichols, P. J. Nichols, J. Nieplocha, A. Otero-de-la-Roza, B. Palmer, A. Panyala, T. Pirojsirikul, B. Peng, R. Peverati, J. Pittner, L. Pollack, R. M. Richard, P. Sadayappan, G. C. Schatz, W. A. Shelton, D. W. Silverstein, D. M. A. Smith, T. A. Soares, D. Song, M. Swart, H. L. Taylor, G. S. Thomas, V. Tipparaju, D. G. Truhlar, K. Tsemekhman, T. Van Voorhis, Á. Vázquez-Mayagoitia, P. Verma, O. Villa, A. Vishnu, K. D. Vogiatzis, D. Wang, J. H. Weare, M. J. Williamson, T. L. Windus, K. Woliński, A. T. Wong, Q. Wu, C. Yang, Q. Yu, M. Zacharias, Z. Zhang, Y. Zhao, and R. J. Harrison. NWChem: past, present, and future. Journal of Chemical Physics, 152(18):184102, May 2020. doi:10.1063/5.0004997.

[POT_BCE+21]

Christoph Bannwarth, Eike Caldeweyher, Sebastian Ehlert, Andreas Hansen, Philipp Pracht, Jakob Seibert, Sebastian Spicher, and Stefan Grimme. Extended tight-binding quantum chemistry methods. WIREs Computational Molecular Science, 11(2):e1493, 2021. doi:10.1002/wcms.1493.

[POT_BGS87]

H. J. C. Berendsen, J. R. Grigera, and T. P. Straatsma. The missing term in effective pair potentials. The Journal of Physical Chemistry, 91(24):6269–6271, November 1987. doi:10.1021/j100308a038.

[POT_Gos25]

Rohit Goswami. Efficient exploration of chemical kinetics. October 2025. arXiv:2510.21368, doi:10.48550/arXiv.2510.21368.

[POT_GJonsson25]

Rohit Goswami and Hannes Jónsson. Adaptive Pruning for Increased Robustness and Reduced Computational Overhead in Gaussian Process Accelerated Saddle Point Searches. ChemPhysChem, November 2025. doi:10.1002/cphc.202500730.

[POT_Jon24] (1,2)

Lennard Jones. On the determination of molecular fields. —II. From the equation of state of a gas. Proceedings of the Royal Society of London. Series A, Containing Papers of a Mathematical and Physical Character, 106(738):463–477, October 1924. doi:10.1098/rspa.1924.0082.

[POT_JCM+83]

William L. Jorgensen, Jayaraman Chandrasekhar, Jeffry D. Madura, Roger W. Impey, and Michael L. Klein. Comparison of simple potential functions for simulating liquid water. The Journal of Chemical Physics, 79(2):926–935, July 1983. doi:10.1063/1.445869.

[POT_JBK+98]

João F. Justo, Martin Z. Bazant, Efthimios Kaxiras, V. V. Bulatov, and Sidney Yip. Interatomic potential for silicon defects and disordered phases. Physical Review B, 58(5):2539–2550, August 1998. doi:10.1103/PhysRevB.58.2539.

[POT_KFurthmuller96]

G. Kresse and J. Furthmüller. Efficient iterative schemes for ab initio total-energy calculations using a plane-wave basis set. Physical Review B, 54(16):11169–11186, October 1996. doi:10.1103/PhysRevB.54.11169.

[POT_LMB+17] (1,2)

Ask Hjorth Larsen, Jens Jørgen Mortensen, Jakob Blomqvist, Ivano E. Castelli, Rune Christensen, Marcin Du\lak, Jesper Friis, Michael N. Groves, Bjørk Hammer, Cory Hargus, Eric D. Hermes, Paul C. Jennings, Peter Bjerre Jensen, James Kermode, John R. Kitchin, Esben Leonhard Kolsbjerg, Joseph Kubal, Kristen Kaasbjerg, Steen Lysgaard, Jón Bergmann Maronsson, Tristan Maxson, Thomas Olsen, Lars Pastewka, Andrew Peterson, Carsten Rostgaard, Jakob Schiøtz, Ole Schütt, Mikkel Strange, Kristian S. Thygesen, Tejs Vegge, Lasse Vilhelmsen, Michael Walter, Zhenhua Zeng, and Karsten W. Jacobsen. The atomic simulation environment—a Python library for working with atoms. Journal of Physics: Condensed Matter, 29(27):273002, June 2017. doi:10.1088/1361-648X/aa680e.

[POT_LSA+00]

Thomas J Lenosky, Babak Sadigh, Eduardo Alonso, Vasily V Bulatov, Tomas Diaz De La Rubia, Jeongnim Kim, Arthur F Voter, and Joel D Kress. Highly optimized empirical potential model of silicon. Modelling and Simulation in Materials Science and Engineering, 8(6):825–841, November 2000. doi:10.1088/0965-0393/8/6/305.

[POT_NWBR20]

Frank Neese, Frank Wennmohs, Ute Becker, and Christoph Riplinger. The ORCA quantum chemistry program package. The Journal of Chemical Physics, 152(22):224108, June 2020. doi:10.1063/5.0004608.

[POT_Pli95]

Steve Plimpton. Fast Parallel Algorithms for Short-Range Molecular Dynamics. Journal of Computational Physics, 117(1):1–19, March 1995. doi:10.1006/jcph.1995.1039.

[POT_SW85]

Frank H. Stillinger and Thomas A. Weber. Computer simulation of local order in condensed phases of silicon. Physical Review B, 31(8):5262–5271, April 1985. doi:10.1103/PhysRevB.31.5262.

[POT_Ter88]

J. Tersoff. Empirical interatomic potential for silicon with improved elastic properties. Physical Review B, 38(14):9902–9905, November 1988. doi:10.1103/PhysRevB.38.9902.

[POT_TAB+22]

Aidan P. Thompson, H. Metin Aktulga, Richard Berger, Dan S. Bolintineanu, W. Michael Brown, Paul S. Crozier, Pieter J. In 'T Veld, Axel Kohlmeyer, Stan G. Moore, Trung Dac Nguyen, Ray Shan, Mark J. Stevens, Julien Tranchida, Christian Trott, and Steven J. Plimpton. LAMMPS - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales. Computer Physics Communications, 271:108171, February 2022. doi:10.1016/j.cpc.2021.108171.

[POT_teVeldeBB+01]

G. te Velde, F. M. Bickelhaupt, E. J. Baerends, C. Fonseca Guerra, S. J. A. van Gisbergen, J. G. Snijders, and T. Ziegler. Chemistry with ADF. Journal of Computational Chemistry, 22(9):931–967, 2001. doi:10.1002/jcc.1056.