From b626c02de3a0c5bc5cc7020375397bc3edac2d99 Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Tue, 13 Sep 2016 11:20:28 +0200 Subject: [PATCH] Small fix to ensure virial is consistent with forces --- src/colvar/ERMSD.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/colvar/ERMSD.cpp b/src/colvar/ERMSD.cpp index 4c7677599..88e257b30 100644 --- a/src/colvar/ERMSD.cpp +++ b/src/colvar/ERMSD.cpp @@ -171,8 +171,14 @@ void ERMSD::calculate(){ for(unsigned i=0;i<derivs.size();++i) {derivs[i].zero();} double ermsdist; Tensor virial; +// This is a trick to avoid explicit virial calculation +// 1. we make the molecule whole makeWhole(); - ermsdist=ermsd.calculate(getPositions(),getPbc(),derivs,virial); +// 2. we ignore pbcs + Pbc fake_pbc; +// Notice that this might have problems when having 2 RNA molecules (hybridization). + + ermsdist=ermsd.calculate(getPositions(),fake_pbc,derivs,virial); setValue(ermsdist); for(unsigned i=0;i<derivs.size();++i) {setAtomsDerivatives(i,derivs[i]);} -- GitLab