| 1 | 
  | 
#include <math.h> | 
| 2 | 
< | 
#include "MatVec3.h" | 
| 3 | 
< | 
#include "Atom.hpp" | 
| 4 | 
< | 
#include "SRI.hpp" | 
| 5 | 
< | 
#include "AbstractClasses.hpp" | 
| 6 | 
< | 
#include "SimInfo.hpp" | 
| 7 | 
< | 
#include "ForceFields.hpp" | 
| 8 | 
< | 
#include "Thermo.hpp" | 
| 9 | 
< | 
#include "ReadWrite.hpp" | 
| 10 | 
< | 
#include "Integrator.hpp" | 
| 11 | 
< | 
#include "simError.h" | 
| 2 | 
> | 
#include "math/MatVec3.h" | 
| 3 | 
> | 
#include "primitives/Atom.hpp" | 
| 4 | 
> | 
#include "primitives/SRI.hpp" | 
| 5 | 
> | 
#include "primitives/AbstractClasses.hpp" | 
| 6 | 
> | 
#include "brains/SimInfo.hpp" | 
| 7 | 
> | 
#include "UseTheForce/ForceFields.hpp" | 
| 8 | 
> | 
#include "brains/Thermo.hpp" | 
| 9 | 
> | 
#include "io/ReadWrite.hpp" | 
| 10 | 
> | 
#include "integrators/Integrator.hpp" | 
| 11 | 
> | 
#include "utils/simError.h" | 
| 12 | 
  | 
 | 
| 13 | 
  | 
#ifdef IS_MPI | 
| 14 | 
< | 
#include "mpiSimulation.hpp" | 
| 14 | 
> | 
#include "brains/mpiSimulation.hpp" | 
| 15 | 
  | 
#endif | 
| 16 | 
  | 
 | 
| 17 | 
  | 
// Basic non-isotropic thermostating and barostating via the Melchionna | 
| 28 | 
  | 
  T( theInfo, the_ff ) | 
| 29 | 
  | 
{ | 
| 30 | 
  | 
  GenericData* data; | 
| 31 | 
< | 
  DoubleArrayData * etaValue; | 
| 32 | 
< | 
  vector<double> etaArray; | 
| 31 | 
> | 
  DoubleVectorGenericData * etaValue; | 
| 32 | 
  | 
  int i,j; | 
| 33 | 
  | 
 | 
| 34 | 
  | 
  for(i = 0; i < 3; i++){ | 
| 45 | 
  | 
    // retrieve eta array from simInfo if it exists | 
| 46 | 
  | 
    data = info->getProperty(ETAVALUE_ID); | 
| 47 | 
  | 
    if(data){ | 
| 48 | 
< | 
      etaValue = dynamic_cast<DoubleArrayData*>(data); | 
| 48 | 
> | 
      etaValue = dynamic_cast<DoubleVectorGenericData*>(data); | 
| 49 | 
  | 
       | 
| 50 | 
  | 
      if(etaValue){ | 
| 52 | 
– | 
        etaArray = etaValue->getData(); | 
| 51 | 
  | 
         | 
| 52 | 
  | 
        for(i = 0; i < 3; i++){ | 
| 53 | 
  | 
          for (j = 0; j < 3; j++){ | 
| 54 | 
< | 
            eta[i][j] = etaArray[3*i+j]; | 
| 54 | 
> | 
            eta[i][j] = (*etaValue)[3*i+j]; | 
| 55 | 
  | 
            oldEta[i][j] = eta[i][j]; | 
| 56 | 
  | 
          } | 
| 57 | 
  | 
        } |