Input & Output

MAPLE input files (.inp) follow a simple, human-readable format. This guide covers the complete input file structure, all available header commands, coordinate formats, and the output files produced by each job type.

Input File Structure

A MAPLE input file consists of two main sections, processed in order:

  1. Header commands -- Lines beginning with # that define the calculation type, model, device, and global options.
  2. Coordinates -- Atomic coordinates provided inline or referenced from an external file.

Here is an example input file showing both sections, adapted from the checked-in Dimer TS example examples/ts/dimer/inp1.inp:

#model=ANI-1xnr
#ts(method=dimer)
#device=gpu0

C   0.8773307780  0.7831579390 -0.1629806432
H   0.6909163982  1.5540583811 -0.9219751886
O   0.5296065367  0.9762287325  1.1234790578
C   1.3488671845 -0.5563869274 -0.1923254310
H   0.7828987178 -0.2429788233  1.0663324170
H   1.0764966981 -1.2943318365 -0.9583627957
H   2.2951253096 -0.7293808119  0.3397718379

Header Commands

All header commands start with the # symbol. They are parsed first to determine the task type and global settings.

Command Description Example
#model Select the ML potential model #model=ani2x
#sp Run a single point energy calculation; use verbose=1 for gradients #sp(verbose=1)
#opt Run a geometry optimization #opt(method=lbfgs)
#ts Run a transition state search; the method value is required #ts(method=prfo)
#freq Compute vibrational frequencies #freq
#irc Run an intrinsic reaction coordinate calculation #irc(method=gs)
#scan Perform a potential energy surface scan; relaxed mode supports lbfgs, rfo, sd, cg, and sdcg #scan(method=rfo, mode=relaxed)
#device Set the compute device #device=gpu0
Note

If no task command (#opt, #ts, etc.) is specified, MAPLE automatically performs a single-point energy calculation using default settings.

Task Parameters

Task commands accept optional parameters in parentheses. Geometry optimization can use defaults, but TS jobs require an explicit method, and SP uses verbose rather than verbosity:

# Single point with gradients
#sp(verbose=1)

# Optimization using defaults (equivalent to #opt(method=lbfgs))
#opt

# Transition state search with an explicit method
#ts(method=prfo)

Supported Models

MAPLE supports the following machine learning potential models, specified via the #model header command:

  • ani2x
  • ani1x
  • ani1ccx
  • ani1xnr
  • maceoff23s
  • maceoff23m
  • maceoff23l
  • egret
  • aimnet2
  • uma
  • maceomol
  • aimnet2nse

Convergence Levels

MAPLE provides six predefined convergence levels for iterative tasks such as geometry optimizations and transition state searches. Set the level inside the task command parentheses:

#opt(method=lbfgs, level=tight)
#ts(method=prfo, level=extratight)

The available levels, from tightest to loosest, are:

  • extratight
  • tight
  • medium (default)
  • loose
  • extraloose
  • superloose

See the Settings page for the exact numerical thresholds of each level.

Coordinate Formats

MAPLE supports two ways to specify molecular coordinates.

Inline Coordinates

The most common method. Specify atom symbol and Cartesian coordinates (in Angstroms) directly in the input file, one atom per line:

#model=ani2x

C    0.000000    0.000000    0.000000
H    0.629118    0.629118    0.629118
H   -0.629118   -0.629118    0.629118
H   -0.629118    0.629118   -0.629118
H    0.629118   -0.629118   -0.629118

External XYZ File

Reference an external .xyz file containing the coordinates. The XYZ file follows the standard format (atom count on line 1, comment on line 2, coordinates from line 3):

#model=ani2x
#opt

XYZ methane.xyz

Where methane.xyz contains:

5
Methane molecule
C    0.000000    0.000000    0.000000
H    0.629118    0.629118    0.629118
H   -0.629118   -0.629118    0.629118
H   -0.629118    0.629118   -0.629118
H    0.629118   -0.629118   -0.629118

Dual XYZ for NEB

For methods that require two endpoint structures (e.g., NEB), provide two XYZ references for the reactant and product geometries. Relative XYZ paths are resolved from the input file location; the example below assumes the input file is saved in the MAPLE repository root.

#model=ANI-1xnr
#ts(method=neb,refine=nebts)

XYZ examples/ts/neb/react.xyz
XYZ examples/ts/neb/prod.xyz

Output Files

MAPLE generates output files whose names and contents depend on the job type. The following table summarizes the primary output files:

Job Type Output File Contents
Single Point *.out Parsed coordinates, charge/multiplicity, and electronic energy (Eh); gradients with verbose=1
Optimization *_opt.xyz Optimized geometry in XYZ format
Optimization *_opt_traj.xyz Full optimization trajectory
Frequency *_freq.out Vibrational frequencies, IR intensities, thermochemistry
Transition State Method-specific XYZ files Examples include *_prfo_ts.xyz, *_dimer_ts.xyz, *_nebts_ts.xyz, *_stringts_ts.xyz, and MEP/path files for path methods
IRC *_irc_forward.xyz Forward IRC path geometries
IRC *_irc_reverse.xyz Reverse IRC path geometries
PES Scan *_scan_final.xyz Multi-frame geometries for every scan point
PES Scan *.out Main scan log with progress, energies, coordinates, and optimizer diagnostics when applicable

In the table above, * represents the input file name without the .inp extension. For example, a NEBTS job named inp1.inp writes files such as inp1_nebts_ts.xyz and inp1_nebts_mep.xyz.

Important

All energies are reported in Hartree (Eh) and all coordinates in Angstroms. Energy differences in iterative output are shown in kcal/mol for convenience.