FeNNol Models

FeNNol (Force-field-enhanced Neural Networks optimized library) is MAPLE's framework for FENNIX-format .fnx machine-learning potential files. MAPLE ships the FeNNix-Bio1 family of foundation models for condensed-phase biomolecular simulations, and also supports loading external .fnx models through model_path.

Runtime note

FeNNol uses a JAX/Flax runtime for .fnx programs and does not use the PyTorch calculator runtime. GPU execution, when available, is controlled by the installed JAX runtime and its platform configuration.

FeNNix-Bio1 Family

FeNNix-Bio1 is a family of scalable foundation models for reactive condensed-phase molecular dynamics, built on the FeNNol library within the Jax framework. Two sizes are available with different accuracy and throughput trade-offs:

Model Keyword Best For
FeNNix-Bio1S fennix-bio1s Light-weight high-throughput model for rapid screening
FeNNix-Bio1M fennix-bio1m Higher-accuracy model for production-quality condensed-phase simulations

Important

The medium variant (fennix-bio1m) requires more computational resources than the small variant. Start with fennix-bio1s for high-throughput screening and switch to fennix-bio1m for production-quality simulations.

External .fnx Models

Use the generic fennol keyword to load an external .fnx model file. This works with any valid .fnx program.

#model=fennol(model_path=/path/to/model.fnx)
#sp

XYZ /path/to/structure.xyz

The generic fennol keyword always requires model_path. The element coverage, cutoff, and energy terms are determined by the supplied .fnx program.

Model Files

The built-in FeNNix-Bio1 checkpoints are resolved from MAPLE's model directory:

  • fennix-bio1sfennix-bio1S-finetuneIons.fnx
  • fennix-bio1mfennix-bio1M-finetuneIons.fnx

The generic fennol keyword requires an explicit model_path pointing to a valid .fnx file.

Model Options

Option Default Description
model_path built-in for fennix-bio1s/fennix-bio1m Path to an external .fnx file. Required for #model=fennol.
use_float64 false Enable JAX float64 execution when tighter numerical precision is needed.

Charge and Multiplicity

Charge support in FeNNol depends on the loaded .fnx model architecture. The FeNNix-Bio1 family supports total molecular charge from the coordinate block and passes it to the FENNIX charge model. External .fnx models may or may not support charge — consult the model's documentation.

The current MAPLE runtime has no spin/multiplicity input, so multiplicity must always be 1 regardless of the model.

#model=fennix-bio1s
#opt(method=lbfgs)

0 1
C    0.000000    0.000000    0.000000
O    1.230000    0.000000    0.000000
H   -0.540000    0.940000    0.000000
H   -0.540000   -0.940000    0.000000

Calculator Capabilities

  • Units: FeNNol models commonly report energies in eV internally; MAPLE converts final energies and forces to Hartree and Hartree per Angstrom.
  • Hessian: analytic and numerical Hessians are available in gas phase. Implicit-solvent Hessians are not supported.
  • HVP: FeNNol implements get_hvp() in gas phase, which can be used by HVP-enabled workflows.
  • PBC: FeNNol is exposed as a no-PBC molecular calculator in MAPLE. Periodic atoms fail fast.
  • Solvent / D4: MAPLE's experimental GB-polar/QEq correction is energy-only (#sp with experimental=true); D4 is not supported for FeNNol.

Usage Examples

High-throughput screening with FeNNix-Bio1S

#model=fennix-bio1s
#device=gpu0
#opt(level=loose)

XYZ /path/to/structure.xyz

Production-quality simulation with FeNNix-Bio1M

#model=fennix-bio1m
#device=gpu0
#opt(method=lbfgs, level=tight)

XYZ /path/to/structure.xyz

Load an external .fnx model

#model=fennol(model_path=/path/to/custom_model.fnx, use_float64=true)
#sp

XYZ /path/to/structure.xyz

Limitations

  • No periodic systems. The FeNNol wrapper rejects PBC inputs.
  • Singlet multiplicity only. Total charge may be supported depending on the model, but multiplicity must always be 1.
  • Runtime-specific GPU behavior. FeNNol GPU execution depends on the installed JAX build and platform configuration.
  • External model coverage is model-defined. MAPLE can load a valid .fnx file, but the chemistry supported by that file is determined by its training and program contents.