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 285 by mmeineke, Wed Feb 26 18:45:57 2003 UTC vs.
Revision 370 by mmeineke, Thu Mar 20 17:10:43 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 < extern "C"{
7 <  void wrapsimmod_( void (*wrapFunction)(void (*fSub)( int*, double*,
8 <                                                       double*, double*)));
9 < }
8 > #include "simError.h"
9  
10 < void wrapSimInfo(void (*fSub)( int*, double*, double*, double*));
10 > #include <fortranWrappers.hpp>
11  
12   SimInfo* currentInfo;
13  
# Line 21 | 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  
29 void SimInfo::wrapMe(){
32  
33 <  wrapsimmod_( wrapSimInfo );
33 >  wrapMeSimInfo( this );
34   }
35  
34
36   void SimInfo::refreshSim(){
36  
37  double box[3];
38  
39  box[0] = box_x;
40  box[1] = box_y;
41  box[2] = box_z;
37  
38 <  
38 >  simtype fInfo;
39 >  int isError;
40  
41 <  setFsimulation( &n_atoms, box, &rList, &rCut,&ensemble,
42 <                 &mixingRule,&usePBC);
43 < }
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 >  setFsimulation( &fInfo, &n_atoms, identArray, &n_exclude, excludes, &nGlobalExcludes, globalExcludes, &isError );
73 >
74 >  if( isError ){
75 >
76 >    sprintf( painCave.errMsg,
77 >             "There was an error setting the simulation information in fortran.\n" );
78 >    painCave.isFatal = 1;
79 >    simError();
80 >  }
81 >
82 > #ifdef IS_MPI
83 >  sprintf( checkPointMsg,
84 >           "succesfully sent the simulation information to fortran.\n");
85 >  MPIcheckPoint();
86 > #endif // is_mpi
87   }
88 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines