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.