ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/interface_implementation/LJ_FF.cpp
(Generate patch)

Comparing trunk/mdtools/interface_implementation/LJ_FF.cpp (file contents):
Revision 238 by mmeineke, Fri Jan 17 21:53:36 2003 UTC vs.
Revision 240 by chuckv, Wed Jan 22 21:45:20 2003 UTC

# Line 43 | Line 43 | extern "C" {
43                                                          double* epslon,
44                                                          double* sigma,
45                                                          int* status ),
46 <                                            void (*p2)( void ),
46 >                                            void (*p2)( int *nLocal,
47 >                                                        int *identArray,
48 >                                                        int *isError ),
49                                              void (*p3)( double* positionArray,
50                                                          double* forceArray,
51                                                          double* potentialEnergy,
# Line 54 | Line 56 | void LJfunctionWrapper( void (*p1)( int* ident, double
56  
57   void LJfunctionWrapper( void (*p1)( int* ident, double* mass, double* epslon,
58                                     double* sigma, int* status ),
59 <                        void (*p2)( void ),
59 >                        void (*p2)( int *nLocal, int *identArray, int *isError ),
60                          void (*p3)( double* positionArray,double* forceArray,
61                                      double* potentialEnergy,
62                                      short int* doPotentialCalc ) );
# Line 62 | Line 64 | void (*initLJfortran)( void );
64   void (*newLJtype)( int* ident, double* mass, double* epslon, double* sigma,
65                     int* status );
66  
67 < void (*initLJfortran)( void );
67 > void (*initLJfortran) ( int *nLocal, int *identArray, int *isError )
68  
69   LJ_FF* currentLJwrap;
70  
# Line 382 | Line 384 | void LJ_FF::initializeAtoms( void ){
384    currentAtomType = headAtomType;
385    while( currentAtomType != NULL ){
386      
387 <    if( currentAtomType->name[0] != NULL ){
387 >    if( currentAtomType->name[0] != '\0' ){
388        isError = 0;
389        newLJtype( &(currentAtomType->ident),
390                   &(currentAtomType->mass),
391                   &(currentAtomType->epslon),
392                   &(currentAtomType->sigma),
393 <                 isError );
393 >                 &isError );
394        if( isError ){
395          sprintf( painCave.errMsg,
396                   "Error initializing the \"%s\" atom type in fortran\n",
# Line 440 | Line 442 | void LJ_FF::initializeAtoms( void ){
442    MPIcheckPoint();
443   #endif // is_mpi
444  
445 +  initFortran();
446 +
447   }
448  
449   void LJ_FF::initializeBonds( bond_pair* the_bonds ){
# Line 604 | Line 608 | void LJ_FF::doForces( void ){
608    doLJfortran( pos, frc, potE, calcPot );
609   }
610    
611 + void LJ_FF::initFortran( void ){
612 +  
613 +  int nLocal = entry_plug->n_atoms;
614 +  int *ident;
615 +  int isError;
616 +  int i;
617 +
618 +  ident = new int[nLocal];
619 +
620 +  for(i=0; i<nLocal; i++){
621 +    ident[i] = entryplug->atoms[i]->getIdent();
622 +  }
623 +
624 +  isError = 0;
625 +  initLJfortran( &nLocal, ident, &isError );
626 +  
627 +  if(isError){
628 +    sprintf( painCave.errMsg,
629 +             "LJ_FF error: There was an error initializing the component list in fortran.\n" );
630 +    painCave.isFatal = 1;
631 +    simError();
632 +  }
633 +
634 +  
635 + #ifdef IS_MPI
636 +  sprintf( checkPointMsg, "LJ_FF successfully initialized the fortran component list.\n" );
637 +  MPIcheckPoint();
638 + #endif // is_mpi
639 +  
640 +  delete[] ident;
641 +
642 + }
643 +  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines