Skip to content

Geo Workflow

Direct command workflows for GEO and structure file utilities.

This module implements CLI workflow orchestration for its command family, including argument parsing, request construction, execution dispatch, and result presentation handoff.

Usage context

  • Command routing: Resolve CLI aliases and normalized command names.
  • Task execution: Build request objects and invoke registered tasks.
  • Output handling: Forward results to table, plot, export, or report flows.

Command: xtob

Convert an XYZ file to ReaxFF GEO format.

Examples


 1. Convert slab.xyz to geo with box dimensions 11.0,12.0,100.0 and angles 90,90,90:
   reaxkit xtob --file slab.xyz --dims 11.0,12.0,100.0 --angles 90,90,90 --output geo

 2. Same as above but sort atoms by z-coordinate in descending order and write to slab_geo:
   reaxkit xtob --file slab.xyz --dims 11,12,100 --angles 90,90,90 --sort z --output slab_geo

Arguments

Flag Required Default Help Choices
--file Yes Input XYZ file
--dims Yes Box dimensions a,b,c
--angles Yes Box angles alpha,beta,gamma
--output No geo Output GEO file
--sort No Sort atoms before writing x, y, z, atom_type
--descending No Sort in descending order

Command: make-geo

Build a surface slab from a bulk structure and write it to an ASE-supported format.

Examples


 1. Build a slab with surface normal (1,0,0), 4x4 supercell expansion in the surface plane, 6 layers in the normal direction, and 15 angstrom vacuum, from AlN.cif and write to slab.xyz:
   reaxkit make-geo --file AlN.cif --output slab.xyz --surface 1,0,0 --expand 4,4,6 --vacuum 15

Arguments

Flag Required Default Help Choices
--file Yes Input bulk structure file
--output Yes Output file
--surface Yes Miller indices h,k,l
--expand Yes Supercell and layers nx,ny,layers
--vacuum Yes Vacuum thickness in angstrom

Command: sort_geo

Sort atoms in a GEO file and write a new GEO file.

Examples


 1. Sort atoms in geo by x-coordinate in ascending order and write to sorted_geo:
   reaxkit sort_geo --file geo --output sorted_geo --sort x

 2. Sort atoms in geo by atom type in descending order and write to sorted_geo:
   reaxkit sort_geo --file geo --output sorted_geo --sort atom_type --descending

Arguments

Flag Required Default Help Choices
--file Yes Input GEO file
--output Yes Output GEO file
--sort Yes Sort key m, x, y, z, atom_type
--descending No Sort in descending order

Command: orthogonalize-geo

Convert a hexagonal cell into an orthorhombic cell. In other words, change the angles from 90,90,120 to 90,90,90.

Examples


  reaxkit orthogonalize-geo --file AlN.cif --output AlN_ortho.cif

Arguments

Flag Required Default Help Choices
--file Yes Input structure file
--output Yes Output structure file

Command: place-geo

Randomly place copies of a molecule into an empty box, optionally around a base structure.

Examples


 1. Place 40 copies of template.xyz into an empty box of dimensions 28.8,33.27,60 with angles 90,90,90 and write to placed.xyz:
   reaxkit place-geo --insert template.xyz --ncopy 40 --dims 28.8,33.27,60 --angles 90,90,90 --output placed.xyz

 2. Place 40 copies of template.xyz into a box of dimensions 28.8,33.27,60 with angles 90,90,90 around the structure in slab.xyz (i.e., slab.xyz is already in place and we want to add template.xyz to it, as used when adding adsorbates to a surface) and write to placed_geo:
   reaxkit place-geo --insert template.xyz --ncopy 40 --dims 28.8,33.27,60 --angles 90,90,90 --base slab.xyz --output placed_geo

[Note] Flag --baseplace is sometimes used to control how the base structure is placed in the box. By default, it is 'as-is', meaning the base structure is not changed and is placed in the box according to its own coordinates.

Arguments

Flag Required Default Help Choices
--insert Yes Insert molecule
--ncopy Yes Number of copies to place
--dims Yes Box dimensions a,b,c
--angles Yes Box angles alpha,beta,gamma
--output Yes Output file
--base No Optional base structure
--mindist No 2.0 Minimum interatomic distance
--baseplace No as-is Base placement mode as-is, center, origin
--maxattempt No 50000 Maximum placement attempts per copy
--randomseed No Random seed

Command: add_restraints_to_geo

Insert sample or explicit (i.e., settings are defined) restraint blocks into a GEO file.

Examples


 1. Adding a sample bond restraint to a geo file:
   reaxkit add_restraints_to_geo --file geo --bond --output geo_r

 2. Adding an explicit angle restraint to a geo file:
   reaxkit add_restraints_to_geo --file geo --angle '1 2 3 109.5000 600.00 0.25000 0.0000000' --output geo_r

Arguments

Flag Required Default Help Choices
--file No geo Input GEO file
--output No Output GEO file
--bond No Add one bond restraint
--angle No Add one angle restraint
--torsion No Add one torsion restraint
--mascen No Add one mass-center restraint

Command: add_molcharge_to_geo

Use this command if you want to fix charges for specific atoms or parts of your system.This command inserts MOLCHARGE lines into your GEO file.

Examples


 1. Set charge 1 on atoms 20481 to 20589 and charge 0 on all other atoms:
   reaxkit add_molcharge_to_geo --file geo --per-atom 20481:20589:1 --rest 0 --output geo_m

 2. Set charge -1 on all atoms of type 'e' (electrons in the system) and charge 0 on all other atoms:
   reaxkit add_molcharge_to_geo --file geo --per-atom-type e:-1 --rest 0 --output geo_m

Arguments

Flag Required Default Help Choices
--file No geo Input GEO file
--output No Output GEO file
--per-atom No Per-atom charge by atom range using start:end:charge (repeatable)
--per-atom-type No Per-atom charge by atom type using atom_type:charge (repeatable)
--rest No Total charge for remaining atoms (outside per-atom selections)
--each-range No
--each-type No
--per-type No
--together-charge No

Common Runtime and Presentation Arguments

These are shared workflow-level CLI flags added before command-specific options, covering runtime context (engine/input/storage) and output presentation/export behavior.

Flag Required Default Help Choices
--copy-to-dot No Also copy generated output to current directory
--run-id No Run identifier for run-scoped layout (e.g., run_91ac0e).
--project-root No Project root that contains inputs/, data/, analysis/, etc.
--analysis-id No Optional analysis artifact id; defaults to run id.