Part I: Settings Block
MAPLE input files (.inp) begin with a settings block that configures the calculation type, selects the machine learning potential model, specifies the computational device, and sets global options. All control commands in this block start with the # symbol. During input processing, these commands are parsed first to determine the calculation task and its parameter settings.
Tip
If the input file does not define any task type, MAPLE automatically performs a single point energy calculation (sp) using default settings. Parameters left unspecified within any task command will also use their defaults.
Header Commands
The following header commands control the core behavior of a MAPLE calculation. Each command begins with # and can appear in any order within the settings block.
#model
Specifies the machine learning potential model used for the calculation. See the ML Models page for a complete list of supported potentials and guidance on choosing one.
#model = ani2x
#model = uma
#model = aimnet2
#model = maceoff23m
#opt
Requests a geometry optimization. Parameters such as the optimization method and convergence criteria can be supplied in parentheses.
#opt
#opt(method=lbfgs)
#opt(method=lbfgs, convergence=tight)
#ts
Requests a transition state search. The method and convergence settings are specified in parentheses.
#ts
#ts(method=prfo)
#ts(method=neb, convergence=tight)
#freq
Requests a vibrational frequency calculation. This computes the Hessian matrix and derives harmonic frequencies, zero-point energy, and thermochemical properties.
#freq
#irc
Requests an intrinsic reaction coordinate (IRC) calculation, tracing the minimum energy path from a transition state toward reactants and products.
#irc
#irc(method=gs, direction=both)
#irc(method=lqa, steps=50)
#scan
Requests a potential energy surface (PES) scan along one or more internal coordinates. Scan coordinates are defined in the post-processing section of the input file.
#scan
#scan(method=lbfgs)
#scan(method=rfo, convergence=tight)
#device
Specifies the hardware device on which the calculation will run. See Device Selection below for details.
#device = cpu
#device = gpu0
#device = cuda
Job Types
The table below summarizes all supported job types, their command syntax, and default methods.
| Job Type | Command | Description | Default Method |
|---|---|---|---|
| Single Point | #sp |
Computes energy and forces at the current geometry | N/A |
| Optimization | #opt |
Minimizes the molecular geometry | L-BFGS |
| Frequency | #freq |
Computes vibrational frequencies and thermochemistry | Numerical Hessian |
| Transition State | #ts |
Locates first-order saddle points | P-RFO |
| IRC | #irc |
Traces the minimum energy path from a TS | GS |
| PES Scan | #scan |
Scans along internal coordinates | L-BFGS |
Tip
Task commands accept parameters in parentheses using the format #taskname(param1=value1, param2=value2). If no parameters are given, MAPLE uses the default settings for that job type.
Device Selection
MAPLE can run on CPUs or NVIDIA GPUs. Use the #device command to select the target hardware. When multiple GPUs are available, you can target a specific one by index.
| Device | Command | Description |
|---|---|---|
| CPU | #device = cpu |
Run on the CPU (default if no GPU is detected) |
| GPU 0 | #device = gpu0 |
Run on the first GPU (CUDA device 0) |
| GPU 1 | #device = gpu1 |
Run on the second GPU (CUDA device 1) |
| CUDA (auto) | #device = cuda |
Automatically select an available CUDA GPU |
Convergence Levels
MAPLE provides several predefined convergence levels for geometry optimizations and transition state searches. These control the thresholds for maximum force (f_max), RMS force (f_rms), maximum displacement (dp_max), and RMS displacement (dp_rms). All force values are in Hartree/Bohr and displacements in Bohr.
| Level | f_max | f_rms | dp_max | dp_rms |
|---|---|---|---|---|
extratight |
1.5e-06 | 1.0e-06 | 6.0e-06 | 4.0e-06 |
tight |
1.5e-05 | 1.0e-05 | 6.0e-05 | 4.0e-05 |
medium |
4.5e-04 | 3.0e-04 | 1.8e-03 | 1.2e-03 |
loose |
2.5e-03 | 1.7e-03 | 1.0e-02 | 6.7e-03 |
extraloose |
2.5e-02 | 1.7e-02 | 1.0e-01 | 6.7e-02 |
superloose |
2.5e-01 | 1.7e-01 | 1.0e+00 | 6.7e-01 |
Set the convergence level inside the task command parentheses:
#opt(method=lbfgs, convergence=tight)
#ts(method=prfo, convergence=extratight)
Tip
The default convergence level is medium. For high-accuracy work such as computing thermochemical corrections, consider using tight or extratight. For quick preliminary scans, loose or extraloose can dramatically reduce computation time.
