Part II: Coordinate Input

The coordinate section of a MAPLE input file defines the molecular geometry. Coordinates are specified in Cartesian format (Angstroms) and can be provided either inline within the input file or loaded from external files. An optional charge and multiplicity line may precede the atomic coordinates.

Inline Coordinates

The simplest way to provide molecular geometry is to include Cartesian coordinates directly in the input file. Each atom is given on its own line with the element symbol followed by the x, y, and z coordinates in Angstroms.

An optional first line specifying charge and multiplicity can precede the coordinate block. If omitted, MAPLE assumes a neutral singlet (charge=0, multiplicity=1).

Basic format (neutral singlet assumed)

#model = ani2x
#opt

H    0.000000    0.000000    0.000000
O    0.000000    0.000000    0.960000
H    0.000000    0.757160    1.197280

With charge and multiplicity

#model = uma
#opt

0 1
C    0.000000    0.000000    0.000000
C    1.540000    0.000000    0.000000
H   -0.392000    1.011000    0.000000
H   -0.392000   -0.506000    0.875000
H   -0.392000   -0.506000   -0.875000
H    1.932000    0.506000    0.875000
H    1.932000    0.506000   -0.875000
H    1.932000   -1.011000    0.000000

Tip

The charge/multiplicity line must contain exactly two integers separated by whitespace. MAPLE distinguishes this line from coordinate data by checking whether the first token is an element symbol or an integer.

External XYZ Files

For larger molecules or when reusing geometries across calculations, you can load coordinates from an external XYZ file using the XYZ keyword followed by the file path.

#model = aimnet2
#opt(method=lbfgs, convergence=tight)

XYZ /path/to/molecule.xyz

You can also specify the charge and multiplicity before the XYZ line:

#model = uma
#freq

-1 1
XYZ /path/to/anion.xyz

The external XYZ file should follow the standard XYZ format:

3
Water molecule
O    0.000000    0.000000    0.117300
H    0.000000    0.757160   -0.469200
H    0.000000   -0.757160   -0.469200

Trajectory Files

For tasks that require multiple geometries (such as NEB or string methods for transition state searches), you can provide a trajectory file containing a sequence of structures using the XYZTRAJ keyword.

#model = uma
#ts(method=neb)

XYZTRAJ /path/to/trajectory.xyz

The trajectory file is a concatenation of standard XYZ frames. Each frame begins with the atom count, followed by a comment line and then the coordinate block:

3
Frame 1 - Reactant
O    0.000000    0.000000    0.117300
H    0.000000    0.757160   -0.469200
H    0.000000   -0.757160   -0.469200
3
Frame 2 - Product
O    0.000000    0.000000    0.117300
H    0.000000    0.900000   -0.350000
H    0.000000   -0.900000   -0.350000

Post-Processing Commands

After the coordinate block, you can add post-processing commands to apply constraints or define scan coordinates. These commands modify how specific internal coordinates are treated during the calculation. See the Constraints page for full details.

Command Format Description
C C i Fix the position of atom i (freeze in place)
B B i j Fix the bond distance between atoms i and j
A A i j k Fix the bond angle formed by atoms i, j, k
D D i j k l Fix the dihedral angle formed by atoms i, j, k, l
S S i j step nsteps Define a scan coordinate along atoms i, j (bond), i j k (angle), or i j k l (dihedral)

Example with constraints

#model = uma
#opt(method=lbfgs)

0 1
C    0.000000    0.000000    0.000000
C    1.540000    0.000000    0.000000
O    2.340000    1.100000    0.000000
H   -0.392000    1.011000    0.000000
H   -0.392000   -0.506000    0.875000
H    1.932000   -0.506000    0.875000

C 3
B 1 2

In this example, atom 3 (oxygen) is frozen in place and the bond between atoms 1 and 2 (C-C) is constrained at its initial distance during optimization.

Example with scan coordinate

#model = uma
#scan(method=lbfgs)

0 1
C    0.000000    0.000000    0.000000
C    1.540000    0.000000    0.000000
H   -0.392000    1.011000    0.000000
H   -0.392000   -0.506000    0.875000
H    1.932000    0.506000    0.875000
H    1.932000   -1.011000    0.000000

S 1 2 0.05 10

This scans the C-C bond length (atoms 1 and 2) in 10 steps of 0.05 Angstroms each.