1 #ifndef __PBAMSTRUCT_H 2 #define __PBAMSTRUCT_H 3 4 #define CHR_MAX 1000 5 #define FIL_MAX 15 6 #define MOL_MAX 150 7 #define AT_MAX 50000 8 #define XYZRCWIDTH 5 9 10 // 11 // input 12 // 13 typedef struct _PBAMInput { 14 15 double temp_; 16 double salt_; 17 double idiel_; 18 double sdiel_; 19 int nmol_; 20 char runType_[CHR_MAX]; 21 char runName_[CHR_MAX]; 22 23 int setunits_; 24 char units_[CHR_MAX]; 25 int randOrient_; 26 double boxLen_; 27 int pbcType_; 28 29 30 // Electrostatics 31 int gridPts_; 32 char map3D_[CHR_MAX]; 33 34 int grid2Dct_; 35 char grid2D_[FIL_MAX][CHR_MAX]; 36 char grid2Dax_[FIL_MAX][CHR_MAX]; 37 double grid2Dloc_[FIL_MAX]; 38 39 char dxname_[CHR_MAX]; 40 41 // Dynamics 42 int ntraj_; 43 char termCombine_[CHR_MAX]; 44 45 char moveType_[MOL_MAX][CHR_MAX]; 46 double transDiff_[MOL_MAX]; 47 double rotDiff_[MOL_MAX]; 48 49 int termct_; 50 int contct_; 51 52 char termnam_[FIL_MAX][CHR_MAX]; 53 int termnu_[FIL_MAX][1]; 54 double termval_[FIL_MAX]; 55 char confil_[FIL_MAX][CHR_MAX]; 56 57 char xyzfil_[MOL_MAX][FIL_MAX][CHR_MAX]; 58 int xyzct_[MOL_MAX]; 59 60 61 #ifdef __cplusplus _PBAMInput_PBAMInput62 _PBAMInput() : 63 temp_(298.15), 64 salt_(0.01), 65 idiel_(1.5), // Solute dielectric 66 sdiel_(80.0), 67 nmol_(1), 68 randOrient_(0), 69 setunits_(0), 70 boxLen_(1.4e18), 71 pbcType_(0), 72 gridPts_(15), 73 grid2Dct_(0), 74 ntraj_(1), 75 termct_(1), 76 contct_(0) 77 { } 78 #endif 79 80 } PBAMInput; 81 82 // 83 // output 84 // 85 typedef struct _PBAMOutput { 86 87 double energies_[MOL_MAX]; 88 double forces_[MOL_MAX][3]; 89 90 #ifdef __cplusplus _PBAMOutput_PBAMOutput91 _PBAMOutput( int len, double forces[][3], double * energy) 92 { 93 int i; 94 for (i=0; i<len; i++) 95 { 96 forces_[i][0] = forces[i][0]; 97 forces_[i][1] = forces[i][1]; 98 forces_[i][2] = forces[i][2]; 99 energies_[i] = energy[i]; 100 } 101 } 102 #endif 103 104 } PBAMOutput; 105 106 #endif 107