Science

Calculations & parameters

SimpleAtom exposes three calculation types, each a thin, browser-friendly layer over ASE and the underlying MACECalculator. This page explains what each type computes, which parameters control it, and how those parameters map onto the MACE Python API.

Single-point energy & forces

Computes the total energy and the per-atom forces at the current geometry, with no optimization or dynamics. This is the fastest calculation type and the natural first step for any new structure — use it to sanity-check a structure before committing to a longer optimization or MD run.

Geometry optimization

Relaxes atomic positions to a nearby local minimum by iteratively moving atoms in the direction of the forces until the maximum force component drops below a threshold, fmax.

ParameterDefaultNotes
OptimizerBFGSFixed — BFGS is the only optimizer, and it is not selectable. If it struggles to converge, loosen fmax, raise maxOptSteps, or start from a cleaner geometry.
fmax (eV/Å)0.050.01 for production results; 0.005 if the relaxed geometry will be handed to an external vibrational analysis.
maxOptSteps500Always set a limit to prevent an infinite loop; increase for large or difficult-to-converge systems.

Only atomic positions are optimized — cell optimization is not yet supported. Watch the RMS force during optimization: it should decrease monotonically as the structure approaches a minimum.

Molecular dynamics

Propagates a trajectory over time under one of three ensembles. Initial velocities are always drawn from a Maxwell–Boltzmann distribution at the target temperature.

EnsembleThermostat / barostatRequires
NVENone (microcanonical)Any system. Total energy (potential + kinetic) should stay conserved; potential energy alone should not, and does not.
NVTLangevin thermostat (friction parameter)Target temperature (K). The thermostat exchanges energy with a heat bath, so temperature fluctuates around the target rather than holding fixed, and total energy is not conserved.
NPTBarostatTemperature (K), pressure (GPa), and a periodic system with a defined cell.
  • Timestep: typically 0.5–2.0 fs; use a smaller timestep for systems containing light elements such as hydrogen.
  • Steps: total number of MD steps to run.
  • Temperature (K): the target for the initial Maxwell–Boltzmann velocity distribution and for the NVT/NPT thermostat.
  • Langevin friction: controls how strongly the NVT thermostat couples the system to the target temperature.
  • Pressure (GPa): the NPT target pressure, entered in GPa and converted internally — see Units & conventions.
  • Random seed: MD has two stochastic sources — the initial Maxwell–Boltzmann velocities and the Langevin random forces. Both are driven by a single seed, which defaults to 42, so a run is reproducible bit-for-bit. The seed used is recorded in the result message and parameters, so a shared trajectory can always be re-run exactly. Change it to generate independent replicas of the same system.
  • What a trajectory records: potential energy, kinetic energy, total energy and the instantaneous temperature at every frame. The Energy tab plots total energy and potential energy as separate, named series, so the NVE claim above is one you can check on the chart rather than take on trust; the Summary tab reports the total-energy drift over the run and the mean temperature against your target.

Phonon spectrum — planned

Phonon spectrum calculation is on the roadmap but not yet supported in SimpleAtom. For now, vibrational analysis must be performed on a fully converged geometry using an external workflow.

D3 dispersion correction

Adds Grimme’s semi-empirical DFT-D3 van der Waals correction on top of MACE-MP-0 predictions. It matters for layered materials, molecular adsorption, and molecular crystals where dispersion forces are significant.

D3 is MACE-MP-0 only

D3 dispersion is only meaningful for MACE-MP-0. MACE-OFF is trained on ωB97M-D3BJ reference data, which already includes dispersion — enabling D3 on top of it double-counts the correction. SimpleAtom disables the D3 toggle automatically when MACE-OFF is selected.

Precision

Precision is the default_dtype handed to MACE. The default setting is Auto, which applies upstream MACE’s own choice rather than a SimpleAtom opinion:

  • float32 — faster, less accurate. Upstream recommends it for molecular dynamics.
  • float64 — slower, more accurate. Upstream recommends it for geometry optimization, and mace_off() defaults to it for the whole MACE-OFF family.

Both mace_mp() and mace_off() print this guidance at construction time, on every run: float32 … faster but less accurate. Recommended for MD. Use float64 for geometry optimization. Auto follows it: float64 for MACE-OFF and for geometry optimization, float32 otherwise.

An explicit choice is honoured, and reported

Picking float32 or float64 explicitly overrides Auto — upstream honours whatever default_dtype it is handed, and so does SimpleAtom. When the choice lands below upstream’s recommendation, the result carries a warning saying so. A custom.model checkpoint is a special case: it keeps the dtype it was saved in, because MACE adopts the checkpoint’s own dtype when no default_dtype is passed. Either way, the precision shown in a result is the dtype the loaded model was actually running in, read back off the model — not the dtype that was requested.

Device

Calculations run on cpu by default. If a CUDA GPU is available it can significantly speed up larger systems or longer MD trajectories; SimpleAtom falls back to CPU automatically if CUDA is unavailable or runs out of memory.

Web UI → MACE parameter mapping

Under the hood, SimpleAtom drives the same MACECalculator and mace_mp() / mace_off() factory functions you would use from a Python script. The web parameters map directly onto that API:

Web UI parameterMaps toNotes
Model Typemace_mp() / mace_off() / custom uploadSelects the foundation model or a user checkpoint.
Model Sizemodel argument"small", "medium", "large".
Precisiondefault_dtype"float32" or "float64". Auto passes no default_dtype, so upstream’s own default applies.
Devicedevice"cpu" or "cuda".
D3 DispersiondispersionOn/off toggle; MACE-MP-0 only.
Custom Model Uploadmodel_pathsUser-supplied .model checkpoint file.

Lower-level parameters — compile_mode, enable_cueq, charges_key, info_keys, and the unit-conversion factors — are handled automatically by the backend and are not exposed in the UI, since they require no configuration for standard workflows.