From ba6113f26a6539a0488181b36866c5f3b1d497dd Mon Sep 17 00:00:00 2001 From: Carlo Camilloni <carlo.camilloni@gmail.com> Date: Thu, 5 Jun 2014 22:20:59 +0200 Subject: [PATCH] CS2Backbone: small optimisations --- src/colvar/CS2Backbone.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/colvar/CS2Backbone.cpp b/src/colvar/CS2Backbone.cpp index 93acd2357..09fb41452 100644 --- a/src/colvar/CS2Backbone.cpp +++ b/src/colvar/CS2Backbone.cpp @@ -338,13 +338,10 @@ CS2Backbone::~CS2Backbone() void CS2Backbone::calculate() { - double energy=0.; - Tensor virial; - unsigned N = getNumberOfAtoms(); - for(unsigned i=0;i<numResidues;i++) for(unsigned j=0;j<6;j++) sh[i][j]=0.; if(getExchangeStep()) cam_list[0].set_box_count(0); + unsigned N = getNumberOfAtoms(); for (unsigned i=0;i<N;i++) { unsigned ipos = 4*i; Vector Pos = getPosition(i); @@ -383,15 +380,17 @@ void CS2Backbone::calculate() } csforces.clear(); + double energy; energy = cam_list[0].ens_energy_force(coor, csforces, sh); if(!serial) comm.Sum(&csforces[0][0], N*4); + Tensor virial; virial.zero(); + double ff=fact*for_pl2alm; + Vector For; for(unsigned i=0;i<N;i++) { unsigned ipos=4*i; - double ff=fact*for_pl2alm; - Vector For; For[0] = ff*csforces.coor[ipos]; For[1] = ff*csforces.coor[ipos+1]; For[2] = ff*csforces.coor[ipos+2]; -- GitLab