Example: Graphene optimization under external stress

Download ExternalStress_graphene.run

#!/bin/sh

# Here we perform an optimization under external stress using the
# UpdateReferenceCell option. When using this option the energy during
# the geometry optimization will not necessary go down, but the final
# stress will match the ExternalStress with much hihger accuracy.

AMS_JOBNAME=go $AMSBIN/ams << eor

Task GeometryOptimization

System

    Atoms
        C 0.0           0.0          0.0
        C 1.23647204352 0.7138774661 0.0
    End
    Lattice
        1.23647204352 -2.1416324015 0.0
        1.23647204352  2.1416324015 0.0
    End
End

UseSymmetry no

EngineAddons
    ExternalStress
        StressTensorVoigt 0.01 0.02 0.003
        UpdateReferenceCell Yes
    End
End

GeometryOptimization
    OptimizeLattice Yes
    Convergence Gradients=1.0E-4
End

Engine DFTB
    Model SCC-DFTB
    ResourcesDir DFTB.org/pbc-0-3
    KSpace Quality=Normal
EndEngine
eor

# Here we compute the stress tensor at the optimized geometry to validate
# the optimization under stress

AMS_JOBNAME=sp $AMSBIN/ams << eor

Task SinglePoint

LoadSystem
    File go.results/ams.rkf
End

UseSymmetry no

Properties
    StressTensor Yes
End

LoadEngine go.results/dftb.rkf
eor

echo "Resulting final stress tensor:"
$AMSBIN/amsreport sp.results/dftb.rkf -r "AMSResults%StressTensor#12.6f##2"