Architecture Catalog#

Enerzyme supports several internal architectures and external wrappers. Choose based on targets (energy/forces only vs charge/dipole), system size, equivariance needs, and optional dependencies.

Internal architectures#

Architecture

Charge

Dipole

Modular

Shallow ens.

Notes

SchNet

yes

yes

partial

yes

Good baseline

PhysNet

yes

yes

yes

yes

Electrostatics, D3/D4 optional

SpookyNet

yes

yes

yes

yes

Enzyme-scale clusters

MACE

yes

yes

partial

yes

Equivariant, higher cost

AlphaNet

varies

varies

partial

varies

See config TODOs

External wrappers#

Architecture

Extra install

NequIP

nequip

XPaiNN

XequiNet and dependencies

External models are declared under Modelhub.external_FFs with the same active / layers pattern where supported.

Selection guidelines#

Baseline / tutorial

SchNet — minimal dependencies, charge-aware stacks available.

Production QM-labeled clusters with charge and solvent

PhysNet or SpookyNet — long-range electrostatics, optional dispersion layers.

Maximum accuracy on diverse geometries

MACE or NequIP — equivariant message passing; tune cutoff and depth.

Active learning with force variance

Any architecture with ShallowEnsembleReduce or committee_size > 1.

Spin and charge#

Charge-aware stacks need Q (and often ChargeConservation). SpookyNet-style models may use ElectronicEmbedding for charge and spin (S / multiplicity). Match simulation System.charge and multiplicity to training data conventions.

Reference configs#

Full multi-architecture examples: enerzyme/config/train.yaml. Enable one FF entry at a time when starting (active: true).