ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE_old/src/mdtools/libmdCode/TraPPE_ExFF.cpp
(Generate patch)

Comparing trunk/OOPSE_old/src/mdtools/libmdCode/TraPPE_ExFF.cpp (file contents):
Revision 294 by mmeineke, Thu Mar 6 17:04:09 2003 UTC vs.
Revision 296 by mmeineke, Thu Mar 6 20:05:39 2003 UTC

# Line 265 | Line 265 | TraPPE_ExFF::~TraPPE_ExFF(){
265      fclose( frcFile );
266      
267   #ifdef IS_MPI
268 +  }
269 + #endif // is_mpi
270 + }
271 +
272 + void TraPPE_ExFF::doForces( int calcPot ){
273 +
274 +  int i, isError;
275 +  double* frc;
276 +  double* pos;
277 +  double* tau;
278 +  short int passedCalcPot = (short int)calcPot;
279 +
280 +  // forces are zeroed here, before any are acumulated.
281 +  // NOTE: do not rezero the forces in Fortran.
282 +
283 +  for(i=0; i<entry_plug->n_atoms; i++){
284 +    entry_plug->atoms[i]->zeroForces();
285 +  }
286 +
287 +  frc = Atom::getFrcArray();
288 +  pos = Atom::getPosArray();
289 +  tau = entry_plug->tau;
290 +
291 +  isError = 0;
292 +  fortranForceLoop( pos, frc, &(entry_plug->lrPot), tau,
293 +                    &passedCalcPot, &isError );
294 +
295 +
296 +  if( isError ){
297 +    sprintf( painCave.errMsg,
298 +             "Error returned from the fortran force calculation.\n" );
299 +    painCave.isFatal = 1;
300 +    simError();
301 +  }
302 +
303 + #ifdef IS_MPI
304 +  sprintf( checkPointMsg,
305 +           "successfully returned from the force calculation.\n" );
306 +  MPIcheckPoint();
307 + #endif // is_mpi
308 +
309 + }
310 +  
311 + void TraPPE_ExFF::initFortran( void ){
312 +  
313 +  int nLocal = entry_plug->n_atoms;
314 +  int *ident;
315 +  int isError;
316 +  int i;
317 +
318 +  ident = new int[nLocal];
319 +
320 +  for(i=0; i<nLocal; i++){
321 +    ident[i] = entry_plug->atoms[i]->getIdent();
322    }
323 +
324 +  isError = 0;
325 +  initfortran( &nLocal, ident, &isError );
326 +  
327 +  if(isError){
328 +    sprintf( painCave.errMsg,
329 +             "TraPPE_ExFF error: There was an error initializing the component list in fortran.\n" );
330 +    painCave.isFatal = 1;
331 +    simError();
332 +  }
333 +
334 +  
335 + #ifdef IS_MPI
336 +  sprintf( checkPointMsg, "TraPPE_ExFF successfully initialized the fortran component list.\n" );
337 +  MPIcheckPoint();
338   #endif // is_mpi
339 +  
340 +  delete[] ident;
341 +
342   }
343  
344  
345 +
346 +
347   void TraPPE_ExFF::initializeAtoms( void ){
348    
349    class LinkedType {
# Line 495 | Line 569 | void TraPPE_ExFF::initializeAtoms( void ){
569    // call new A_types in fortran
570    
571    int isError;
572 +  
573 +  // dummy variables
574 +  
575 +  int isGB = 0;
576 +  int isLJ = 1;
577 +  
578 +  
579    currentAtomType = headAtomType;
580    while( currentAtomType != NULL ){
581      
# Line 504 | Line 585 | void TraPPE_ExFF::initializeAtoms( void ){
585                        &(currentAtomType->mass),
586                        &(currentAtomType->epslon),
587                        &(currentAtomType->sigma),
588 <                      &(currentAtomType->isDipole),
588 >                      &isLJ,
589                        &(currentAtomType->isSSD),
590 <                      &(currentAtomType->dipole),
590 >                      &(currentAtomType->isDipole),
591 >                      &isGB,
592                        &(currentAtomType->w0),
593                        &(currentAtomType->v0),
594 +                      &(currentAtomType->dipole),
595                        &isError );
596        if( isError ){
597          sprintf( painCave.errMsg,
# Line 629 | Line 712 | void TraPPE_ExFF::initializeAtoms( void ){
712    sprintf( checkPointMsg, "TraPPE_Ex atoms initialized succesfully" );
713    MPIcheckPoint();
714   #endif // is_mpi
715 +
716 +  initFortran();
717 +  entry_plug->refreshSim();
718  
719   }
720  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines