Example: Constrained optimizations¶
#!/bin/sh
# This example demonstrates the setup of all different types of constraints.
# Note that all constraints types can be combined with each other, as long as
# the resulting set of constraints actually makes sense. (It must of course be
# possible to satisfy all of them at the same time. AMS is not able to check
# that and you might get really surprising results if that is not the case ...)
# 1. Angle constraints
# ====================
AMS_JOBNAME=angle $ADFBIN/ams << EOF
Task GeometryOptimization
System
Atoms
O 0.001356 0.000999 0.000000
H 0.994442 -0.037855 0.000000
H -0.298554 0.948531 0.000000
End
End
Constraints
# Fix the H--O--H angle to 125 degrees.
Angle 3 1 2 125.0
End
Engine DFTB
ResourcesDir Dresden
DispersionCorrection Auto
EndEngine
EOF
# 2. Distance constraints
# =======================
AMS_JOBNAME=dist $ADFBIN/ams << EOF
Task GeometryOptimization
System
Atoms
O 0.001356 0.000999 0.000000
H 0.994442 -0.037855 0.000000
H -0.298554 0.948531 0.000000
End
End
Constraints
# Fix the O--H bond distances to 1.03 Angstrom.
Distance 1 2 1.03
Distance 1 3 1.03
End
Engine DFTB
ResourcesDir Dresden
DispersionCorrection Auto
EndEngine
EOF
# 3. Dihedral angle constraint
# ============================
AMS_JOBNAME=dihed $ADFBIN/ams << EOF
Task GeometryOptimization
System
Atoms
C -0.004115 -0.000021 0.000023
C 1.535711 0.000022 0.000008
H -0.399693 1.027812 -0.000082
H -0.399745 -0.513934 0.890139
H -0.399612 -0.513952 -0.890156
H 1.931188 0.514066 0.890140
H 1.931432 0.513819 -0.890121
H 1.931281 -1.027824 0.000244
End
End
Constraints
# Fix the dihedral angle H(6)--C(2)--C(1)--H(3) to 20 degrees.
Dihedral 6 2 1 3 20.00
End
Engine DFTB
ResourcesDir Dresden
DispersionCorrection Auto
EndEngine
EOF
# 4. Fixed atom constraint
# ========================
AMS_JOBNAME=atom $ADFBIN/ams << EOF
Task GeometryOptimization
GeometryOptimization
Convergence Energy=1.0e-6 Gradients=1.0e-4 Step=1.0e-3
CoordinateType Cartesian
End
System
Atoms
C -0.2460249052 -1.70363153 0.0005128649944
O 1.152833576 -1.81594932 -0.0004409224206
C 1.489235475 0.61782051 10.0004771689226
O 0.5700116914 0.627761615 10.0005491194077
End
End
Constraints
# Fix atom 1 and 2 at their initial positions.
Atom 1
Atom 2
End
Engine DFTB
ResourcesDir DFTB.org/mio-1-1
EndEngine
EOF
# 5. Fixed coordinate constraint
# ==============================
AMS_JOBNAME=coord $ADFBIN/ams << EOF
Task GeometryOptimization
GeometryOptimization
Convergence Energy=1.0e-6 Gradients=1.0e-4 Step=1.0e-3
CoordinateType Cartesian
End
System
Atoms
C -0.2460249052 -1.70363153 0.0005128649944
O 1.152833576 -1.81594932 -0.0004409224206
C 1.489235475 0.61782051 10.0004771689226
O 0.5700116914 0.627761615 10.0005491194077
End
End
Constraints
# Fix the x-coordinate of all atoms.
Coordinate 1 x
Coordinate 2 x
Coordinate 3 x
Coordinate 4 x
End
Engine DFTB
ResourcesDir DFTB.org/mio-1-1
EndEngine
EOF
# 6. Fixed atom constraint (in periodic system)
# =============================================
AMS_JOBNAME=pbcatom $ADFBIN/ams << EOF
Task GeometryOptimization
System
Atoms
C -1.23 -0.710140830 0.0
C -1.23 -0.710140830 3.8
C 0.0 0.0 0.4
C 0.0 -1.42028166 3.355
End
Lattice
1.23 -2.130422493309719 0.0
1.23 2.130422493309719 0.0
End
End
Constraints
# Fix atom 1 and 3 at their initial positions.
Atom 1
Atom 3
End
Engine DFTB
ResourcesDir DFTB.org/mio-1-1
EndEngine
EOF
# 7. Block constraints (with listing the atoms in a block)
# ========================================================
AMS_JOBNAME=block_list $ADFBIN/ams << EOF
Task GeometryOptimization
System
Atoms
C 0.5584839616765542 0.5023705181144142 -0.4625483159356394
C 1.07173137896726 0.2125484528111251 -1.892767990599312
C 1.699248504588085 -1.006061067555322 -2.191856791501442
C 2.242484629452111 -1.236470028363516 -3.455616615521399
C 2.18874580207099 -0.2444337131062739 -4.435483595049287
C 1.604409798904145 0.9866950282217637 -4.135465239465763
C 1.061086793296828 1.217355116664161 -2.871773146851866
H 1.763625603740592 -1.780903563899969 -1.431707209662057
H 2.716038261390732 -2.190869049673275 -3.672115451399807
H 2.611833078693977 -0.4241619800888815 -5.420308290235123
H 1.578029796368043 1.774138556616255 -4.884624561698751
H 0.6247213391616491 2.187200330357715 -2.64521108544713
C 1.303528070245188 -0.1416812092038768 0.7303699949711653
C 0.8164830922475474 -1.314631142230651 1.326337082260565
C 1.531799364672407 -1.947399963062604 2.342825210379356
C 2.757684862125068 -1.432061688813837 2.765634667957531
C 3.271640455523863 -0.2897364031184506 2.150731553729188
C 2.556535912403799 0.3432056352653093 1.134221563049466
H -0.128925843064934 -1.7366201913903 0.9939642396630857
H 1.133600273086767 -2.849990046242235 2.799740694330775
H 3.31486005979636 -1.925049398411132 3.557912279830031
H 4.236604921323707 0.1064455961800578 2.457138367063388
H 2.976510069814392 1.222131876866508 0.6510413538003352
C -0.930165749820548 0.9153412637395284 -0.5420710991631585
C -1.791729737216814 0.6892660986048864 0.5418285200469819
C -3.111373625199894 1.139542032267652 0.5090625363459357
C -3.586568528476239 1.843983986018719 -0.5977864609101087
C -2.726152821786783 2.111108432452229 -1.663369105880468
C -1.406454626777386 1.660929752085611 -1.63085383469072
H -1.428888457076976 0.1571120160719108 1.417905619994904
H -3.76723983501283 0.9462006794587581 1.35432032282366
H -4.614972346570283 2.194578435055282 -0.6233521468909432
H -3.080200905921361 2.678981846821393 -2.520207901691867
H -0.7413545301831963 1.891248563160919 -2.459672151335554
C 1.235557647765805 1.735720249011045 0.1803884343948648
C 1.377191890012647 1.826646222422494 1.573181692925026
C 1.905898822116255 2.975086608901246 2.16214311213053
C 2.280792642899383 4.061906342938987 1.371311861877147
C 2.105006642447361 3.998471351380415 -0.0115253875199488
C 1.576317094651283 2.850163227898022 -0.6007264381779673
H 1.072424817958776 0.9937816064904853 2.202306496283991
H 2.017471491684088 3.023369029562452 3.242524256706377
H 2.693031233132915 4.956641734238467 1.830324484771476
H 2.372569859099136 4.8485771293401 -0.6342066225733602
H 1.427765851939196 2.820397327218896 -1.677480576376967
End
End
GeometryOptimization
Convergence
Energy 1.0e-6
Gradients 1.0e-4
Step 1.0e-4
End
End
Constraints
# Create blocks from the 4 phenyl groups by specifying the atom indices
# explicitly. (The indices follow the order in the System%Atoms block,
# where we happen to have the atoms belonging to the different phenyl
# groups consecutive.)
BlockAtoms 2 3 4 5 6 7 8 9 10 11 12
BlockAtoms 13 14 15 16 17 18 19 20 21 22 23
BlockAtoms 24 25 26 27 28 29 30 31 32 33 34
BlockAtoms 35 36 37 38 39 40 41 42 43 44 45
End
Engine DFTB
Model DFTB3
ResourcesDir DFTB.org/3ob-3-1
DispersionCorrection D3-BJ
EndEngine
EOF
# 8. Block constraints (with named blocks)
# ========================================
AMS_JOBNAME=block_names $ADFBIN/ams << EOF
Task GeometryOptimization
System
Atoms
C 0.5584839616765542 0.5023705181144142 -0.4625483159356394
C.phenyl1 1.07173137896726 0.2125484528111251 -1.892767990599312
C.phenyl1 1.699248504588085 -1.006061067555322 -2.191856791501442
C.phenyl1 2.242484629452111 -1.236470028363516 -3.455616615521399
C.phenyl1 2.18874580207099 -0.2444337131062739 -4.435483595049287
C.phenyl1 1.604409798904145 0.9866950282217637 -4.135465239465763
C.phenyl1 1.061086793296828 1.217355116664161 -2.871773146851866
H.phenyl1 1.763625603740592 -1.780903563899969 -1.431707209662057
H.phenyl1 2.716038261390732 -2.190869049673275 -3.672115451399807
H.phenyl1 2.611833078693977 -0.4241619800888815 -5.420308290235123
H.phenyl1 1.578029796368043 1.774138556616255 -4.884624561698751
H.phenyl1 0.6247213391616491 2.187200330357715 -2.64521108544713
C.phenyl2 1.303528070245188 -0.1416812092038768 0.7303699949711653
C.phenyl2 0.8164830922475474 -1.314631142230651 1.326337082260565
C.phenyl2 1.531799364672407 -1.947399963062604 2.342825210379356
C.phenyl2 2.757684862125068 -1.432061688813837 2.765634667957531
C.phenyl2 3.271640455523863 -0.2897364031184506 2.150731553729188
C.phenyl2 2.556535912403799 0.3432056352653093 1.134221563049466
H.phenyl2 -0.128925843064934 -1.7366201913903 0.9939642396630857
H.phenyl2 1.133600273086767 -2.849990046242235 2.799740694330775
H.phenyl2 3.31486005979636 -1.925049398411132 3.557912279830031
H.phenyl2 4.236604921323707 0.1064455961800578 2.457138367063388
H.phenyl2 2.976510069814392 1.222131876866508 0.6510413538003352
C.phenyl3 -0.930165749820548 0.9153412637395284 -0.5420710991631585
C.phenyl3 -1.791729737216814 0.6892660986048864 0.5418285200469819
C.phenyl3 -3.111373625199894 1.139542032267652 0.5090625363459357
C.phenyl3 -3.586568528476239 1.843983986018719 -0.5977864609101087
C.phenyl3 -2.726152821786783 2.111108432452229 -1.663369105880468
C.phenyl3 -1.406454626777386 1.660929752085611 -1.63085383469072
H.phenyl3 -1.428888457076976 0.1571120160719108 1.417905619994904
H.phenyl3 -3.76723983501283 0.9462006794587581 1.35432032282366
H.phenyl3 -4.614972346570283 2.194578435055282 -0.6233521468909432
H.phenyl3 -3.080200905921361 2.678981846821393 -2.520207901691867
H.phenyl3 -0.7413545301831963 1.891248563160919 -2.459672151335554
C.phenyl4 1.235557647765805 1.735720249011045 0.1803884343948648
C.phenyl4 1.377191890012647 1.826646222422494 1.573181692925026
C.phenyl4 1.905898822116255 2.975086608901246 2.16214311213053
C.phenyl4 2.280792642899383 4.061906342938987 1.371311861877147
C.phenyl4 2.105006642447361 3.998471351380415 -0.0115253875199488
C.phenyl4 1.576317094651283 2.850163227898022 -0.6007264381779673
H.phenyl4 1.072424817958776 0.9937816064904853 2.202306496283991
H.phenyl4 2.017471491684088 3.023369029562452 3.242524256706377
H.phenyl4 2.693031233132915 4.956641734238467 1.830324484771476
H.phenyl4 2.372569859099136 4.8485771293401 -0.6342066225733602
H.phenyl4 1.427765851939196 2.820397327218896 -1.677480576376967
# ^---- Element symbols augmented with a tag that we will use in the Constraints block
End
End
GeometryOptimization
Convergence
Energy 1.0e-6
Gradients 1.0e-4
Step 1.0e-4
End
End
Constraints
# Use the tag from System%Atoms to set up the block constraints.
Block phenyl1
Block phenyl2
Block phenyl3
Block phenyl4
End
Engine DFTB
Model DFTB3
ResourcesDir DFTB.org/3ob-3-1
DispersionCorrection D3-BJ
EndEngine
EOF