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