From 5310d81cacf948290d2e2507a7a140c2d9f21a37 Mon Sep 17 00:00:00 2001 From: Francois Gygi Date: Thu, 27 Jul 2017 10:31:26 -0700 Subject: [PATCH] Fix discontinuity in torsion constraint function --- src/TorsionConstraint.C | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TorsionConstraint.C b/src/TorsionConstraint.C index db192d2..56d5168 100644 --- a/src/TorsionConstraint.C +++ b/src/TorsionConstraint.C @@ -348,7 +348,11 @@ double TorsionConstraint::sigma(D3vector a, D3vector b, D3vector c, D3vector d) const { // compute the constraint function - return torsion_angle(a,b,c,d) - angle_; + double delta = torsion_angle(a,b,c,d) - angle_; + // account for discontinuity at +/- 180 deg + if ( delta > 180.0 ) delta -= 360.0; + if ( delta < -180.0 ) delta += 360.0; + return delta; } //////////////////////////////////////////////////////////////////////////////// -- libgit2 0.26.0