Skip to content

🍦 Cone Sampling

📖 In the Cone Sampling step, NANR systematically explores the branching plane around each optimized MECI to understand how different displacement directions affect photochemical outcomes.


Concept Overview

  • The branching plane is defined by two orthogonal vectors, g (gradient difference) and h (nonadiabatic coupling).
  • New geometries — cone points — are generated by displacing the MECI geometry along linear combinations of g and h.
  • Each cone point represents a possible direction for the molecule to evolve following nonadiabatic transitions.
  • These cone points serve as starting geometries for the Relaxation stage.

Step-By-Step Cone Sampling

  1. Create cone_sampling/ inside each MECI directory

    mkdir <molecule>/seam_sampling/clustering/ciopt0/cone_sampling
    

  2. Copy in your optimized MECI geometry

    cp ../ci0.xyz cone_sampling/
    

  3. Create sampling.yaml

    engine:
      type: terachem
      gpus: 0
      cwd: .
    
    options:
      method: rhf
      basis: 6-31gs
      precision: mixed
      scf: diis+a
      casscf: 'yes'
      closed: 20
      active: 5
      cassinglets: 4
      casguess: 'c0.casscf'
      castarget: 2
      castargetmult: 1
      casscftrustmaxiter: 1000
      casscfmaxiter: 1000
      casscforbnriter: 1000
      cphfiter: 1000
      cpsacasscfmaxiter: 1000
    
    cone:
      sampling: radial
      lower_state: 2
      upper_state: 3
      samples: 60
      radii_list: [0.10]
    

  4. Create a submission script submit.sh

    #!/bin/bash
    #SBATCH -p l40-gpu
    #SBATCH -N 1
    #SBATCH -n 4
    #SBATCH -J cone_sample
    #SBATCH --mem=50G
    #SBATCH -t 1:00:00
    #SBATCH --qos gpu_access
    #SBATCH --gres=gpu:1
    
    module load tc/25.03
    python3 /<path>/NonadiabaticNanoreactor/scripts/gh_sampling.py sampling.yaml
    

  5. Submit your cone sampling job

    cd <molecule>/seam_sampling/clustering/ciopt0/cone_sampling
    sbatch submit.sh
    


Notes

The radii_list keyword specifies the displacement magnitude (in Å) for each cone point. Multiple values can be supplied, e.g. [0.05, 0.10, 0.15].

Ensure that your MECI optimization finished successfully before running this step.


Outputs

  • ci0_radial_XXXX.xyz → individual cone-point geometries
  • sampling.yaml → input record for reproducibility
  • submit.sh → TeraChem submission script

Continue to 🏖️ Relaxation →