Example: PES Exploration, Binding Sites for O on Pt 111
*******************************************************

"Download BindingSites_O+Pt111.run"

   #!/bin/sh

   export OMP_NUM_THREADS=1 # Reduce ReaxFF engine noise

   # =======================================================================================
   # This example demonstrates a two-step workflow to identify binding sites and reaction
   # pathways for an oxygen atom on a rigid Pt(111) surface.
   #
   # Calculation Steps:
   #
   #     1) Find Stable Geometries (AMS_JOBNAME=process_search)
   #        First, a ProcessSearch strategy is performed to locate stable adsorption
   #        configurations (minima) and the transition states that connect them.
   #
   #     2a) Map Sites from Atom Positions (AMS_JOBNAME=binding_sites)
   #        Next, binding sites are calculated using the default method, where each
   #        site's coordinates match the final position of the adsorbed oxygen atom.
   #        The edges connecting these sites match the reaction pathways found
   #        in the previous step.
   #
   #     2b) Map Sites with a Surface Offset (AMS_JOBNAME=binding_sites2)
   #        Finally, an alternative method is demonstrated. The binding sites are
   #        defined by placing them at a constant distance of 3.0 Å from the surface.
   # =======================================================================================

   # Let's define the reference system:
   echo "
   System
       Atoms
            O     5.54003937     1.60484089     8.92740946       region=adsorbate
           Pt     8.31521714     4.80239136     7.78926430       region=surface
           Pt     5.54298786     0.00160612     7.79128800       region=surface
           Pt     6.92910250     2.40199874     7.79027615       region=surface
           Pt    11.08707571     4.80244586     7.78854885       region=surface
           Pt     8.31484643     0.00166062     7.79057254       region=surface
           Pt     9.70096096     2.40178486     7.79068672       region=surface
           Pt     5.54335868     4.80260524     7.78885374       region=surface
           Pt     2.77112940     0.00182001     7.79087743       region=surface
           Pt     4.15724404     2.40221263     7.78986559       region=surface
           Pt     9.70154331     5.60130339     5.52585419       region=surface
           Pt     6.92931403     0.80051815     5.52787789       region=surface
           Pt     8.31542867     3.20091077     5.52686604       region=surface
           Pt     4.15782639     5.60173116     5.52503306       region=surface
           Pt     1.38559711     0.80094593     5.52705675       region=surface
           Pt     2.77171175     3.20133854     5.52604491       region=surface
           Pt     6.92968485     5.60151727     5.52544363       region=surface
           Pt     4.15745557     0.80073204     5.52746732       region=surface
           Pt     5.54357021     3.20112466     5.52645547       region=surface
           Pt     6.92989639     4.00003668     3.26303536       region=surface
           Pt     8.31601103     6.40042930     3.26202352       region=surface
           Pt     5.54378174     1.59964406     3.26404721       region=surface
           Pt     9.70175484     3.99982280     3.26344593       region=surface
           Pt    11.08786948     6.40021541     3.26243408       region=surface
           Pt     8.31564020     1.59943018     3.26445778       region=surface
           Pt     4.15803792     4.00025057     3.26262480       region=surface
           Pt     5.54415256     6.40064318     3.26161295       region=surface
           Pt     2.77192328     1.59985795     3.26363664       region=surface
           Pt     1.38639089     2.39871548     1.00094199       region=surface
           Pt     5.54436409     4.79916260     0.99921469       region=surface
           Pt     6.93024583     7.19969029     1.00043291       region=surface
           Pt     4.15824945     2.39876998     1.00022653       region=surface
           Pt     8.31622256     4.79894871     0.99962525       region=surface
           Pt     9.70210429     7.19947641     1.00084348       region=surface
           Pt     6.93010792     2.39855609     1.00063710       region=surface
           Pt     2.77250564     4.79937648     0.99880412       region=surface
           Pt     4.15838737     7.19990418     1.00002234       region=surface
       End
       Lattice
           8.31557575     0.00000000     0.00000000
           4.15778787     7.20149984     0.00000000
       End
   End
   " > system.in


   AMS_JOBNAME=process_search "$AMSBIN/ams" --delete-old-results << EOF

   Task PESExploration
   @include system.in

   Constraints
       FixedRegion surface
   End

   PESExploration
       Job ProcessSearch

       RandomSeed 100
       NumExpeditions 50
       NumExplorers 5
       DynamicSeedStates T

       Temperature 100.0

       Optimizer
           ConvergedForce 0.0001
       End

       SaddleSearch
           MaxEnergy 2.0
       End

       StructureComparison
           DistanceDifference 0.1
           EnergyDifference 0.01
       End
   End

   Engine ReaxFF
       ForceField CHONSFPtClNi.ff
       Charges Solver=Direct # Reduce ReaxFF engine noise
   EndEngine

   EOF


   AMS_JOBNAME=binding_sites "$AMSBIN/ams" --delete-old-results << EOF

   Task PESExploration
   @include system.in

   Constraints
       FixedRegion surface
   End

   PESExploration
       Job BindingSites
       LoadEnergyLandscape
          Path process_search.results/ams.rkf
       End

       StatesAlignment
           ReferenceRegion surface
       End

       BindingSites
           NeighborCutoff 3.5
       End

       StructureComparison
           DistanceDifference 0.1
           EnergyDifference 0.1
       End
   End

   Engine ReaxFF
       ForceField CHONSFPtClNi.ff
       Charges Solver=Direct # Reduce ReaxFF engine noise
   EndEngine

   EOF


   AMS_JOBNAME=binding_sites2 "$AMSBIN/ams" --delete-old-results << EOF

   Task PESExploration
   @include system.in

   Constraints
       FixedRegion surface
   End

   PESExploration
       Job BindingSites
       LoadEnergyLandscape
          Path process_search.results/ams.rkf
       End

       StatesAlignment
           ReferenceRegion surface
       End

       BindingSites
           NeighborCutoff 3.5
           PositioningMethod ConstantDistance
           SurfaceOffset 3.0
       End

       StructureComparison
           DistanceDifference 0.1
           EnergyDifference 0.1
       End
   End

   Engine ReaxFF
       ForceField CHONSFPtClNi.ff
       Charges Solver=Direct # Reduce ReaxFF engine noise
   EndEngine

   EOF
