Design Notes & Tips

Some important implementation details to keep in mind:

  • Atom ordering: For run_surface, the first atom of the pristine surface and the adsorbed system must be the same atom type and position. This ensures that the minimized solvent box from the adsorbed system can be consistently reused for the pristine surface.

  • Box consistency: Amber’s tleap may alter triclinic boxes. To avoid subtle inconsistencies, SolvHybrid reinjects the exact PDB box/coordinates into inpcrd using overwrite_inpcrd_with_box.

  • Soft mode (GALsoft/GALunsoft): Activated when soft = true and soft FF assets are defined in the [ForceField] block (leaprc_soft, params_soft). Otherwise, SolvHybrid falls back to the 3-stage TI.

  • Charge assignment: By default, CM5 charges are computed using the Python charge_model package. If cm5pac_dir is provided, the legacy cm5pac.exe binary is used instead (slightly faster, but optional).

  • SP-MM runs: Single-point MM energies are only computed if sp_mm = true in the input, and you adapted the input in the tmpl directory.

  • DFT requirements: Hirshfeld charges must be supplied from a prior DFT calculation (OUTCAR for VASP, CP2K support planned). SolvHybrid itself does not perform DFT.

  • Analysis reproducibility: The SCALE_FACTOR is stored alongside TI results to normalize free energies per molecule in later analysis in the TI_surface directory.

  • ForceField block: When specifying parameter or library files (e.g. params = Lib/uff.dat), note that the /Lib/ directory is not in your working directory. It resides inside solvhybrid/modules/ as part of the cloned repository.