ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/integrators/Integrator.cpp
(Generate patch)

Comparing trunk/OOPSE-4/src/integrators/Integrator.cpp (file contents):
Revision 2010 by tim, Sun Feb 13 20:05:42 2005 UTC vs.
Revision 2244 by tim, Sun May 29 00:09:13 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 43 | Line 43 | Integrator::Integrator(SimInfo* info)
43   #include "integrators/Integrator.hpp"
44   #include "utils/simError.h"
45   namespace oopse {
46 < Integrator::Integrator(SimInfo* info)
47 <    : info_(info), forceMan_(NULL) , needPotential(false), needStress(false), velocitizer_(NULL),
48 <      needVelocityScaling(false), dumpWriter(NULL), statWriter(NULL), thermo(info),
46 >  Integrator::Integrator(SimInfo* info)
47 >    : info_(info), forceMan_(NULL) , needPotential(false), needStress(false), needReset(false), velocitizer_(NULL),
48 >      needVelocityScaling(false), dumpWriter(NULL), statWriter(NULL), thermo(info),
49        currentSnapshot_(info->getSnapshotManager()->getCurrentSnapshot()) {
50  
51 <    Globals* simParams = info->getSimParams();
51 >      simParams = info->getSimParams();
52  
53 <    if (simParams->haveDt()) {
53 >      if (simParams->haveDt()) {
54          dt = simParams->getDt();
55 <    } else {
56 <            sprintf(painCave.errMsg,
57 <                    "Integrator Error: dt is not set\n");
58 <            painCave.isFatal = 1;
59 <            simError();
60 <    }
55 >      } else {
56 >        sprintf(painCave.errMsg,
57 >                "Integrator Error: dt is not set\n");
58 >        painCave.isFatal = 1;
59 >        simError();
60 >      }
61      
62 <    if (simParams->haveRunTime()) {
62 >      if (simParams->haveRunTime()) {
63          runTime = simParams->getRunTime();
64 <    } else {
65 <            sprintf(painCave.errMsg,
66 <                    "Integrator Error: runTime is not set\n");
67 <            painCave.isFatal = 1;
68 <            simError();
69 <    }
70 <    // set the status, sample, and thermal kick times
71 <    if (simParams->haveSampleTime()){
64 >      } else {
65 >        sprintf(painCave.errMsg,
66 >                "Integrator Error: runTime is not set\n");
67 >        painCave.isFatal = 1;
68 >        simError();
69 >      }
70 >      // set the status, sample, and thermal kick times
71 >      if (simParams->haveSampleTime()){
72          sampleTime = simParams->getSampleTime();
73          statusTime = sampleTime;
74 <    } else{
74 >      } else{
75          sampleTime = simParams->getRunTime();
76          statusTime = sampleTime;
77 <    }
77 >      }
78  
79 <    if (simParams->haveStatusTime()){
79 >      if (simParams->haveStatusTime()){
80          statusTime = simParams->getStatusTime();
81 <    }
81 >      }
82  
83 <    if (simParams->haveThermalTime()){
83 >      if (simParams->haveThermalTime()){
84          thermalTime = simParams->getThermalTime();
85 <    } else {
85 >      } else {
86          thermalTime = simParams->getRunTime();
87 <    }
87 >      }
88  
89 <    if (!simParams->getUseInitTime()) {
89 >      if (!simParams->getUseInitTime()) {
90          currentSnapshot_->setTime(0.0);
91 <    }
91 >      }
92 >
93 >      if (simParams->haveResetTime()) {
94 >        needReset = true;
95 >        resetTime = simParams->getResetTime();
96 >      }
97 >      
98 >      //create a default ForceManager
99 >      //if the subclass wants to use a different ForceManager, use setForceManager
100 >      forceMan_ = new ForceManager(info);
101      
102 <    //create a default a ForceManager
103 <    //if the subclass want to using different ForceManager, use setForceManager
104 <    forceMan_ = new ForceManager(info);
102 >      //set the force manager for thermodynamic integration if specified
103 >      if (simParams->getUseSolidThermInt() || simParams->getUseLiquidThermInt()){
104 >        ThermoIntegrationForceManager* thermoForce_
105 >          = new ThermoIntegrationForceManager(info);
106 >        setForceManager(thermoForce_);
107 >      }
108      
109 <    // check for the temperature set flag (velocity scaling)      
110 <    if (simParams->haveTempSet()) {
109 >      // check for the temperature set flag (velocity scaling)      
110 >      if (simParams->haveTempSet()) {
111          needVelocityScaling = simParams->getTempSet();
112  
113          if (simParams->haveTargetTemp()) {
114 <            targetScalingTemp = simParams->getTargetTemp();
114 >          targetScalingTemp = simParams->getTargetTemp();
115          }
116          else {
117 <            sprintf(painCave.errMsg,
118 <                    "Integrator Error: Target Temperature is not set\n");
119 <            painCave.isFatal = 1;
120 <            simError();
117 >          sprintf(painCave.errMsg,
118 >                  "Integrator Error: Target Temperature is not set\n");
119 >          painCave.isFatal = 1;
120 >          simError();
121  
122          }
123 <    }
123 >      }
124      
125 <    //create a default a velocitizer
126 <    //if the subclass want to using different velocitizer, use setVelocitizer
127 <    velocitizer_ = new Velocitizer(info);
125 >      //create a default a velocitizer
126 >      //if the subclass want to using different velocitizer, use setVelocitizer
127 >      velocitizer_ = new Velocitizer(info);
128      
129 < }
129 >    }
130  
131 < Integrator::~Integrator(){
131 >  Integrator::~Integrator(){
132      delete forceMan_;
133      delete velocitizer_;
134      
135      delete dumpWriter;
136      delete statWriter;
137 < }
137 >  }
138  
139  
140   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines