ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/brains/Snapshot.cpp
(Generate patch)

Comparing trunk/src/brains/Snapshot.cpp (file contents):
Revision 1895 by gezelter, Mon Jul 1 21:09:37 2013 UTC vs.
Revision 1966 by gezelter, Fri Jan 24 14:17:42 2014 UTC

# Line 70 | Line 70 | namespace OpenMD {
70      frameData.torsionPotential = 0.0;  
71      frameData.inversionPotential = 0.0;
72      frameData.lrPotentials = potVec(0.0);
73 +    frameData.reciprocalPotential = 0.0;
74      frameData.excludedPotentials = potVec(0.0);
75      frameData.restraintPotential = 0.0;
76      frameData.rawPotential = 0.0;  
# Line 103 | Line 104 | namespace OpenMD {
104      frameData.torsionPotential = 0.0;  
105      frameData.inversionPotential = 0.0;
106      frameData.lrPotentials = potVec(0.0);
107 +    frameData.reciprocalPotential = 0.0;
108      frameData.excludedPotentials = potVec(0.0);
109      frameData.restraintPotential = 0.0;
110      frameData.rawPotential = 0.0;      
# Line 187 | Line 189 | namespace OpenMD {
189    /** Returns the number of rigid bodies */
190    int Snapshot::getNumberOfCutoffGroups() {
191      return cgData.getSize();
192 +  }
193 +
194 +    /** Returns the number of bytes in a FrameData structure */
195 +  int Snapshot::getFrameDataSize() {
196 +    return sizeof(FrameData);
197    }
198    
199    /** Returns the H-Matrix */
# Line 296 | Line 303 | namespace OpenMD {
303      hasVolume = true;
304      frameData.volume = vol;
305    }
306 +
307  
308    /** Wrap a vector according to periodic boundary conditions */
309    void Snapshot::wrapVector(Vector3d& pos) {
310      
311      if( !frameData.orthoRhombic ) {
312        Vector3d scaled = frameData.invHmat * pos;
313 <      for (int i = 0; i < 3; i++)
314 <        scaled[i] -= roundMe(scaled[i]);
313 >      for (int i = 0; i < 3; i++) {
314 >        scaled[i] -= roundMe( scaled[i] );        
315 >      }
316        // calc the wrapped real coordinates from the wrapped scaled coordinates
317        pos = frameData.hmat * scaled;
318      } else {
310      // calc the scaled coordinates.
319        RealType scaled;
320 <      for (int i=0; i<3; i++) {
321 <        scaled = pos[i] * frameData.invHmat(i, i);
322 <        scaled -= roundMe(scaled);
323 <        pos[i] = scaled * frameData.hmat(i, i);
320 >      for (int i=0; i<3; i++) {      
321 >        scaled = pos[i] * frameData.invHmat(i,i);
322 >        scaled -= roundMe( scaled );
323 >        pos[i] = scaled * frameData.hmat(i,i);
324        }
325      }
326    }
327  
320
328    /** Scaling a vector to multiples of the periodic box */
329    inline Vector3d Snapshot::scaleVector(Vector3d& pos) {  
330      
# Line 414 | Line 421 | namespace OpenMD {
421      return frameData.shortRangePotential;
422    }
423  
424 +  void Snapshot::setReciprocalPotential(RealType rp){
425 +    frameData.reciprocalPotential = rp;
426 +  }
427 +
428 +  RealType Snapshot::getReciprocalPotential() {
429 +    return frameData.reciprocalPotential;
430 +  }
431 +
432    void Snapshot::setLongRangePotential(potVec lrPot) {
433      frameData.lrPotentials = lrPot;
434    }
# Line 423 | Line 438 | namespace OpenMD {
438        for (int i = 0; i < N_INTERACTION_FAMILIES; i++) {
439          frameData.longRangePotential += frameData.lrPotentials[i];
440        }
441 +      frameData.longRangePotential += frameData.reciprocalPotential;
442        hasLongRangePotential = true;
443      }  
444      return frameData.longRangePotential;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines