Running

This page describes how to run SolvHybrid and extract the results.

Classical Run

The GitLab repository provides example input files in the examples_to_run/ directory. These reproduce a full surface and bulk TI run (corresponding to compute TI1 and TI2 from the reference paper).

The clean initial directory structure should look like:

├── ambersub.j         # Example SLURM submission script
│                      # (can be either a header or a full script)
├── cleanup.sh         # Optional script to remove intermediate files
├── Input
│   ├── CONTCAR_ads    # Adsorbed system structure (ASE-compatible)
│   ├── CONTCAR_mol    # Isolated molecule structure (ASE-compatible)
│   ├── CONTCAR_surf   # Clean surface structure (ASE-compatible)
│   ├── OUTCAR_ads     # VASP OUTCAR with Hirshfeld charges (adsorbed system)
│   ├── OUTCAR_mol     # VASP OUTCAR with Hirshfeld charges (molecule)
│   └── OUTCAR_surf    # VASP OUTCAR with Hirshfeld charges (surface)
├── solv_input.inp     # Input file for SolvHybrid
└── tmpl               # Templates for sander input files (min, heat, equi, SP)

In the solv_input.inp file you specify parameters for both TI workflows and how to launch them (e.g. dry run vs. full run). We recommend consulting the input file manual for detailed parameter explanations.

Run preparation

Once the input files are prepared, the Python environment activated, the PATH set to include solvhybrid/, and Amber (or AmberTools) installed, launch a run with:

solvhybrid.py -i solv_input.inp

This generates a solvhybrid.log file showing the progress of the workflow.

Depending on the chosen run type, different directories will be created to hold the prepared structures (solvated molecule, solvated surface, solvated adsorbed system, etc.) from the DFT structure given in input (in vacuum). For example, for the adsorbed system:

├── adsorbed
│   ├── solvent
│   └── vacuum

Thermodynamic Integration (example with TI_surface):

├── TI_surface
│   ├── TI_computation            # Actual TI calculations
│   │   ├── GALsoft               # One stage of TI1
│   │   │   ├── 0.005             # One λ-window directory
│   │   ├── GALunsoft
│   │   ├── decharge
│   │   ├── recharge
│   │   └── vdw_bonded
│   ├── base_files                # Reference files for non-soft TI stages
│   └── base_files_soft           # Reference files for soft TI stages (if soft=True)

Single-point jobs:

├── SP
│   ├── adsorbate
│   ├── molecule
│   └── surface

Run analysis

After simulations finish, compute adsorption free energies with:

solvhybrid.py -a

Warning

This will overwrite any existing solvhybrid.log file in the current directory.

This step collects:

  • ΔG from TI_surface and TI_bulk (if available)

  • DFT single-point energies

  • MM single-point energies

and computes:

\[\Delta G_{\mathrm{ads}}^{\mathrm{solv}} \;=\; E_{\mathrm{ads}}^{\mathrm{DFT(vac)}} \;-\; E_{\mathrm{ads}}^{\mathrm{MM(vac)}} \;+\; \Delta G_{\mathrm{bulk\,(TI2)}} \;-\; \Delta G_{\mathrm{surface\,(TI1)}}\]

and writes the results to analyse.dat.

Workflow outputs

  • TI_surface/, TI_bulk/ – Thermodynamic Integration runs

  • SP/ – single-point MM and DFT energies

  • adsorbed/, surface/, molecule/ – prepared systems

  • tleap/ – tleap logs and intermediate files

  • solvhybrid.log – workflow log file