Skip to main content

MLIP plugins for Gaussian16 External (UMA, ORB, MACE, AIMNet2)

Project description

g16-mlips

DOI

MLIP (Machine Learning Interatomic Potential) plugins for Gaussian 16 External interface.

Four model families are currently supported:

  • UMA (fairchem) — default model: uma-s-1p1
  • ORB (orb-models) — default model: orb_v3_conservative_omol
  • MACE (mace) — default model: MACE-OMOL-0
  • AIMNet2 (aimnetcentral) — default model: aimnet2

All backends provide energy, gradient, and analytical Hessian for Gaussian 16. An optional implicit-solvent correction (xTB) is also available via --solvent.

The model server starts automatically and stays resident, so repeated calls during optimization are fast.

Requires Python 3.9 or later.

Quick Start (Default = UMA)

  1. Install PyTorch suitable for your environment (CUDA/CPU).
pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu129
  1. Install the package with the UMA profile. If you need ORB/MACE/AIMNet2, use g16-mlips[orb]/g16-mlips[mace]/g16-mlips[aimnet2].
pip install "g16-mlips[uma]"
  1. Log in to Hugging Face for UMA model access. (Not required for ORB/MACE/AIMNet2)
huggingface-cli login
  1. Use in a Gaussian input file (nomicro is required.). If you use ORB/MACE/AIMNet2, use external="orb"/external="mace"/external="aimnet2". For detailed Gaussian External usage, see https://gaussian.com/external/
%nprocshared=8
%mem=32GB
%chk=water_ext.chk
#p external="uma" opt(nomicro)

Water external UMA example

0 1
O  0.000000  0.000000  0.000000
H  0.758602  0.000000  0.504284
H -0.758602  0.000000  0.504284

Other backends:

#p external="orb" opt(nomicro)
#p external="mace" opt(nomicro)
#p external="aimnet2" opt(nomicro)

Important: For Gaussian External geometry optimization, always include nomicro in opt(...). Without it, Gaussian uses micro-iterations that assume an internal gradient routine, which is incompatible with the external interface.

Analytical Hessian (optional)

Optimization and IRC can run without providing an initial Hessian — Gaussian builds one internally using estimated force constants. Providing an MLIP analytical Hessian via freq + readfc improves convergence, especially for TS searches.

Gaussian freq (with external=...) is the only path that requests the plugin's analytical Hessian directly.

Frequency calculation

%nprocshared=8
%mem=32GB
%chk=cla_ext.chk
#p external="uma" freq

CLA freq UMA

0 1
...

Gaussian sends igrd=2 and stores the result in the .chk file.

Using the analytical Hessian in optimization jobs

To use the MLIP analytical Hessian in opt/irc, read the Hessian from an existing checkpoint using Gaussian %oldchk + readfc.

%nprocshared=8
%mem=32GB
%chk=cla_ext.chk
%oldchk=cla_ext.chk

#p external="uma" opt(readfc,nomicro)

CLA opt UMA

0 1
...

readfc reads the force constants from %oldchk. This applies to opt and irc runs. Note that freq is the only job type that requests the analytical Hessian (igrd=2) from the plugin. opt and irc themselves never request it directly.

Implicit Solvent Correction (xTB)

You can use an implicit-solvent correction via xTB. To use it, install xTB and pass the --solvent option.

Install xTB in your conda environment (easy path):

conda install xtb

Use --solvent <name> in external="..." (examples: water, thf):

#p external="uma --solvent water" opt(nomicro)
#p external="uma --solvent thf" freq

This implementation follows the solvent-correction approach described in: Zhang, C., Leforestier, B., Besnard, C., & Mazet, C. (2025). Pd-catalyzed regiodivergent arylation of cyclic allylboronates. Chemical Science, 16, 22656-22665. https://doi.org/10.1039/d5sc07577g

When you describe this correction in a paper, you can use: Implicit solvent effects were accounted for by integrating the ALPB [or CPCM-X] solvation model from the xtb package as an additional correction to UMA-generated energies, gradients, and Hessians.

Note: --solvent-model cpcmx (CPCM-X) requires xTB built from source with -DWITH_CPCMX=ON. The conda-forge xtb package does not include CPCM-X support. See SOLVENT_EFFECTS.md for build instructions.

For details, see SOLVENT_EFFECTS.md.

Installing Model Families

pip install "g16-mlips[uma]"         # UMA (default)
pip install "g16-mlips[orb]"         # ORB
pip install "g16-mlips[mace]"        # MACE
pip install "g16-mlips[orb,mace]"    # ORB + MACE
pip install "g16-mlips[aimnet2]"     # AIMNet2
pip install "g16-mlips[orb,mace,aimnet2]"  # ORB + MACE + AIMNet2
pip install g16-mlips                # core only

Note: UMA and MACE have a dependency conflict (e3nn). Use separate environments.

Local install:

git clone https://github.com/t-0hmura/g16-mlips.git
cd g16-mlips
pip install ".[uma]"

Model download notes:

  • UMA: Hosted on Hugging Face Hub. Run huggingface-cli login once.
  • ORB / MACE / AIMNet2: Downloaded automatically on first use.

Upstream Model Sources

Advanced Options

See OPTIONS.md for backend-specific tuning parameters. For solvent correction options, see SOLVENT_EFFECTS.md.

Command aliases:

  • Short: uma, orb, mace, aimnet2
  • Prefixed: g16-mlips-uma, g16-mlips-orb, g16-mlips-mace, g16-mlips-aimnet2

Troubleshooting

  • external="uma" runs the wrong plugin — Use external="g16-mlips-uma" to avoid alias conflicts.
  • external="aimnet2" runs the wrong plugin — Use external="g16-mlips-aimnet2" to avoid alias conflicts.
  • uma command not found — Activate the conda environment where the package is installed.
  • UMA model download fails (401/403) — Run huggingface-cli login. Some models require access approval on Hugging Face.
  • Works interactively but fails in PBS jobs — Use absolute path from which uma in the Gaussian input.

Citation

If you use this package, please cite:

@software{ohmura2026g16mlips,
  author       = {Ohmura, Takuto},
  title        = {g16-mlips},
  year         = {2026},
  month        = {2},
  version      = {1.1.0},
  url          = {https://github.com/t-0hmura/g16-mlips},
  license      = {MIT},
  doi          = {10.5281/zenodo.18695243}
}

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

g16_mlips-1.1.0.tar.gz (38.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

g16_mlips-1.1.0-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file g16_mlips-1.1.0.tar.gz.

File metadata

  • Download URL: g16_mlips-1.1.0.tar.gz
  • Upload date:
  • Size: 38.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for g16_mlips-1.1.0.tar.gz
Algorithm Hash digest
SHA256 93da3b27af01a1b7ffb51f3fb29bbb1898dd5c1140d8df633154f5360db9a2a6
MD5 a3c12c2015e12cf5d34009984e8b5d4e
BLAKE2b-256 3524ee5c11540755774f6f9b8a2bcc246e6e6b0900a98946258e50dc6c990f22

See more details on using hashes here.

Provenance

The following attestation bundles were made for g16_mlips-1.1.0.tar.gz:

Publisher: release.yml on t-0hmura/g16-mlips

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file g16_mlips-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: g16_mlips-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for g16_mlips-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5266e96eba755dec1cc0172bb4b435d5c5c4479b606bc5d9002e3ed63f5e271b
MD5 a7c8f79fed103e746376f589026cd7b2
BLAKE2b-256 e8b05b596515e90a1104557cc83adfc1b5b0bb2ac7cde9f3c0db6d680416d12e

See more details on using hashes here.

Provenance

The following attestation bundles were made for g16_mlips-1.1.0-py3-none-any.whl:

Publisher: release.yml on t-0hmura/g16-mlips

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page