ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new-templateless/OOPSE/libmdtools/NVT.cpp
(Generate patch)

Comparing branches/new-templateless/OOPSE/libmdtools/NVT.cpp (file contents):
Revision 848, Fri Oct 31 18:28:53 2003 UTC vs.
Revision 850 by mmeineke, Mon Nov 3 22:07:17 2003 UTC

# Line 1 | Line 1
1 + #include <math.h>
2 +
3   #include "Atom.hpp"
4   #include "SRI.hpp"
5   #include "AbstractClasses.hpp"
# Line 11 | Line 13
13  
14   // Basic thermostating via Hoover, Phys.Rev.A, 1985, Vol. 31 (5) 1695-1697
15  
16 < template<typename T> NVT<T>::NVT ( SimInfo *theInfo, ForceFields* the_ff):
17 <  T( theInfo, the_ff )
16 > NVT::NVT ( SimInfo *theInfo, ForceFields* the_ff):
17 >  Integrator( theInfo, the_ff )
18   {
19    GenericData* data;
18  DoubleData * chiValue;
19  DoubleData * integralOfChidtValue;
20  
21  chiValue = NULL;
22  integralOfChidtValue = NULL;
23
21    chi = 0.0;
22    have_tau_thermostat = 0;
23    have_target_temp = 0;
# Line 29 | Line 26 | template<typename T> NVT<T>::NVT ( SimInfo *theInfo, F
26  
27    // retrieve chi and integralOfChidt from simInfo
28    data = info->getProperty(CHIVALUE_ID);
29 <  if(data){
30 <    chiValue = dynamic_cast<DoubleData*>(data);
29 >  if(data != NULL ){
30 >    chi = data->getDval();
31    }
32  
33    data = info->getProperty(INTEGRALOFCHIDT_ID);
34 <  if(data){
35 <    integralOfChidtValue = dynamic_cast<DoubleData*>(data);
39 <  }
40 <
41 <  // chi and integralOfChidt should appear by pair
42 <  if(chiValue && integralOfChidtValue){
43 <    chi = chiValue->getData();
44 <    integralOfChidt = integralOfChidtValue->getData();
34 >  if(data != NULL ){
35 >    integralOfChidt = data->getDval();
36    }
37  
38    oldVel = new double[3*nAtoms];
39    oldJi = new double[3*nAtoms];
40   }
41  
42 < template<typename T> NVT<T>::~NVT() {
42 > NVT::~NVT() {
43    delete[] oldVel;
44    delete[] oldJi;
45   }
46  
47 < template<typename T> void NVT<T>::moveA() {
47 > void NVT::moveA() {
48  
49    int i, j;
50    DirectionalAtom* dAtom;
# Line 119 | Line 110 | template<typename T> void NVT<T>::moveA() {
110  
111   }
112  
113 < template<typename T> void NVT<T>::moveB( void ){
113 > void NVT::moveB( void ){
114    int i, j, k;
115    DirectionalAtom* dAtom;
116    double Tb[3], ji[3];
# Line 202 | Line 193 | template<typename T> void NVT<T>::moveB( void ){
193    integralOfChidt += dt2*chi;
194   }
195  
196 < template<typename T> void NVT<T>::resetIntegrator( void ){
196 > void NVT::resetIntegrator( void ){
197  
198    chi = 0.0;
199    integralOfChidt = 0.0;
200   }
201  
202 < template<typename T> int NVT<T>::readyCheck() {
202 > int NVT::readyCheck() {
203  
204    //check parent's readyCheck() first
205 <  if (T::readyCheck() == -1)
205 >  if (Integrator::readyCheck() == -1)
206      return -1;
207  
208    // First check to see if we have a target temperature.
# Line 250 | Line 241 | template<typename T> int NVT<T>::readyCheck() {
241  
242   }
243  
244 < template<typename T> double NVT<T>::getConservedQuantity(void){
244 > double NVT::getConservedQuantity(void){
245  
246    double conservedQuantity;
247    double fkBT;
# Line 275 | Line 266 | template<typename T> double NVT<T>::getConservedQuanti
266    return conservedQuantity;
267   }
268  
269 < template<typename T> string NVT<T>::getAdditionalParameters(void){
269 > string NVT::getAdditionalParameters(void){
270    string parameters;
271    const int BUFFERSIZE = 2000; // size of the read buffer
272    char buffer[BUFFERSIZE];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines