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

Comparing trunk/OOPSE_old/src/mdtools/libmdCode/SimInfo.cpp (file contents):
Revision 273 by mmeineke, Mon Feb 17 18:03:06 2003 UTC vs.
Revision 375 by chuckv, Fri Mar 21 15:07:14 2003 UTC

# Line 1 | Line 1
1   #include <cstdlib>
2 + #include <cstring>
3  
4 +
5   #include "SimInfo.hpp"
6 + #define __C
7 + #include "fSimulation.h"
8 + #include "simError.h"
9  
10 < extern "C"{
6 <  void wrapsimmod_( void (*wrapFunction)(void (*fSub)( int*, double*,
7 <                                                       double*, double*)));
8 < }
10 > #include <fortranWrappers.hpp>
11  
10 void wrapSimInfo(void (*fSub)( int*, double*, double*, double*));
11
12   SimInfo* currentInfo;
13  
14   SimInfo::SimInfo(){
# Line 20 | Line 20 | SimInfo::SimInfo(){
20    setTemp = 0;
21    thermalTime = 0.0;
22  
23 <  currentInfo = this;
24 <  wrapMe();
25 < }
23 >  usePBC = 0;
24 >  useLJ = 0;
25 >  useSticky = 0;
26 >  useDipole = 0;
27 >  useReactionField = 0;
28 >  useGB = 0;
29 >  useEAM = 0;
30  
31  
28 void SimInfo::wrapMe(){
32  
33 <  wrapsimmod_( wrapSimInfo );
33 >  wrapMeSimInfo( this );
34   }
35  
33
36   void SimInfo::refreshSim(){
35  
36  double box[3];
37  
38  box[0] = box_x;
39  box[1] = box_y;
40  box[2] = box_z;
37  
38 <  setFsimulation( &n_atoms, box, &rList, &rCut );
39 < }
38 >  simtype fInfo;
39 >  int isError;
40 >  int i;
41 >  fInfo.box[0] = box_x;
42 >  fInfo.box[1] = box_y;
43 >  fInfo.box[2] = box_z;
44  
45 +  fInfo.rlist = rList;
46 +  fInfo.rcut = rCut;
47 +  fInfo.rrf = rRF;
48 +  fInfo.rt = 0.95 * rRF;
49 +  fInfo.dielect = dielectric;
50 +
51  
52 < void wrapSimInfo(void (*fSub)( int*, double*, double*, double*)){
53 <  
54 <  currentInfo->setInternal(fSub);
52 >  fInfo.SIM_uses_PBC = usePBC;
53 >  fInfo.SIM_uses_LJ = useLJ;
54 >  fInfo.SIM_uses_sticky = useSticky;
55 >  fInfo.SIM_uses_dipoles = useDipole;
56 >  fInfo.SIM_uses_RF = useReactionField;
57 >  fInfo.SIM_uses_GB = useGB;
58 >  fInfo.SIM_uses_EAM = useEAM;
59 >
60 >
61 >  isError = 0;
62 >
63 >  fInfo;
64 >  n_atoms;
65 >  identArray;
66 >  n_exclude;
67 >  excludes;
68 >  nGlobalExcludes;
69 >  globalExcludes;
70 >  isError;
71 >  /*
72 >  for (i=0;i<n_atoms;i++){
73 >    std::cout << "Ident array in c " << identArray[i] << "\n";
74 >  }
75 >  */
76 >  setFsimulation( &fInfo, &n_atoms, identArray, &n_exclude, excludes, &nGlobalExcludes, globalExcludes, &isError );
77 >
78 >  if( isError ){
79 >
80 >    sprintf( painCave.errMsg,
81 >             "There was an error setting the simulation information in fortran.\n" );
82 >    painCave.isFatal = 1;
83 >    simError();
84 >  }
85 >
86 > #ifdef IS_MPI
87 >  sprintf( checkPointMsg,
88 >           "succesfully sent the simulation information to fortran.\n");
89 >  MPIcheckPoint();
90 > #endif // is_mpi
91   }
92 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines