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:
- Header commands -- Lines beginning with
#that define the calculation type, model, device, and global options. - 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 |
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:
ani2xani1xani1ccxani1xnrmaceoff23smaceoff23mmaceoff23legretaimnet2umamaceomolaimnet2nse
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:
extratighttightmedium(default)looseextraloosesuperloose
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.
All energies are reported in Hartree (Eh) and all coordinates in Angstroms. Energy differences in iterative output are shown in kcal/mol for convenience.
