Example*: Mechanical embedding (QUILD)¶
This is a fairly technical test, testing the case insensitivity of region and engine names. Furthermore gradients are tested.
#!/bin/sh
hybridenginename=hybrid # this is a temporary hack
report=report.txt
echo "Start of the report" > $report
echo "------------------------------" >> $report
echo "Start of the region names test" >> $report
echo "------------------------------" >> $report
export AMS_JOBNAME=regionnamestest
rm -rf $AMS_JOBNAME.results
$AMSBIN/ams <<eor
Task SinglePoint
Properties Gradients=yes
System
Atoms
C 0.0 0.0 0.0 region=a
O 1.13 0.0 0.0 region=A
O -1.13 0.0 0.0 region=B
End
BondOrders
1 2 2.0
1 3 2.0
End
End
Engine Hybrid
Energy
Term factor=1.0 region=* engineID=ForceField
Term factor=1.0 region=A engineID=dftB-2
Term factor=-1.0 region=a engineID=ForceField
End
Capping AllowHighBondOrders=True # Because we cut through double bonds here ...
Engine ForceField
EndEngine
Engine dftb dftb-1
Model GFN1-xTB
EndEngine
Engine dftb dFtb-2
Model SCC-DFTB
ResourcesDir QUASINANO2015
EndEngine
Engine mopac
EndEngine
EndEngine
eor
echo "Energy for region names test" >> $report
$AMSBIN/amsreport $AMS_JOBNAME.results/$hybridenginename.rkf -k "AMSResults%Energy" >> $report
echo "----------------------------" >> $report
echo "End of the region names test" >> $report
echo "----------------------------" >> $report
echo "--------------------------" >> $report
echo "Start of the gradient test" >> $report
echo "--------------------------" >> $report
# strange capitalization is on purpose
for capping in fractionAl fiXed
do
for num in true false
do
export AMS_JOBNAME=gradtest.capping=$capping.num=$num
rm -rf $AMS_JOBNAME.results
$AMSBIN/ams <<eor
Task SinglePoint
Properties Gradients=yes
EngineDebugging IgnoreGradientsRequest=$num NeverQuiet=false
NumericalDifferentiation NuclearStepSize=1.0e-4
System
Atoms
C 0.0 0.0 0.0 region=a
O 1.13 0.0 0.0 region=a
O -1.13 0.0 0.0 region=b
End
BondOrders
1 2 2.0
1 3 2.0
End
End
Engine Hybrid
Capping Option=$capping AllowHighBondOrders=True # Because we cut through double bonds here ...
Energy
Term factor=1.0 region=* engineID=ForceField
Term factor=1.0 region=a engineID=dftb-2
Term factor=-1.0 region=a engineID=ForceField
End
Engine ForceField
EndEngine
Engine dftb dftb-1
Model GFN1-xTB
EndEngine
Engine dftb dftb-2
Model SCC-DFTB
ResourcesDir QUASINANO2015
EndEngine
Engine mopac
EndEngine
EndEngine
eor
echo "gradients for capping=$capping num=$num:" >> $report
$AMSBIN/amsreport $AMS_JOBNAME.results/$hybridenginename.rkf -k "AMSResults%Gradients##3" >> $report
done
done
echo "------------------------" >> $report
echo "End of the gradient test" >> $report
echo "------------------------" >> $report
echo "---------------------------" >> $report
echo "Start of the singleton test" >> $report
echo "---------------------------" >> $report
echo "Calculate the same system twice with the same engine but with different settings. The energy should be non-zero" >> $report
for engine in dftb band adf mopac
do
export AMS_JOBNAME=testsingleton.engine.$engine
rm -rf $AMS_JOBNAME.results
$AMSBIN/ams << eor
Task SinglePoint
System
GeometryFile $AMSHOME/atomicdata/Molecules/TestMols/Acetamide.xyz
End
Engine Hybrid
AllowSanityCheckWarnings true
Energy
Term factor=1.0 region=* engineID=$engine-1
Term factor=-1.0 region=* engineID=$engine-2
End
Engine band band-1
xc gga=pbe
EndEngine
Engine band band-2
basis type=SZ
EndEngine
Engine adf adf-1
xc gga=pbe
EndEngine
Engine adf adf-2
basis type=SZ
EndEngine
Engine mopac mopac-1
Model PM6
EndEngine
Engine mopac mopac-2
Model PM7
EndEngine
Engine DFTB dftb-1
Model GFN1-xTB
EndEngine
Engine DFTB dftb-2
Model SCC-DFTB
ResourcesDIR QUASINANO2015
EndEngine
EndEngine
eor
echo "Hopfully nonzero energy for engine=$engine" >> $report
$AMSBIN/amsreport $AMS_JOBNAME.results/$hybridenginename.rkf -k "AMSResults%Energy" >> $report
done
echo "-------------------------" >> $report
echo "End of the singleton test" >> $report
echo "-------------------------" >> $report
cat $report