NAMD
FreeEnergyMain.C
Go to the documentation of this file.
1 
7 // written by David Hurwitz, March to May 1998.
8 
9 #include <string.h>
10 #include <iostream.h>
11 #ifndef WIN32
12 #include <strstream.h>
13 #else
14 #include <strstrea.h>
15 #endif
16 #include "FreeEnergyEnums.h"
17 #include "FreeEnergyAssert.h"
18 #include "FreeEnergyGroup.h"
19 #include "Vector.h"
20 #include "FreeEnergyVector.h"
21 #include "FreeEnergyRestrain.h"
22 #include "FreeEnergyRMgr.h"
23 #include "FreeEnergyLambda.h"
24 #include "FreeEnergyLambdMgr.h"
25 #include "GlobalMasterFreeEnergy.h"
26 
27 void main() {
28 
30 
31  char AStr[] =
32  "urestraint { \
33  posi (sn, 1) kf=20 ref=(, 0,0,0) \
34  dist (sn, 1) (sn, 2) kf= 10, ref = 10 \
35  angl (sn, 1) (sn, 2) (sn, 3) kf=5, ref=180 \
36  dihe (sn,1)(sn 2)(sn,3)(sn 4),barr=10 ref=90 \
37  posi bound group { (sn1, 1) to (sn1, 3) }, kf=10, low = (1,2, 3 4) \
38  dist bound (sn1, 1, cb) (sn1, 2, cb) kf=5, hi=10 \
39  angle bound group { (sn, 1) (sn, 3) } (sn, 5), (sn, 6), kf = 3,low=90 \
40  dihe bound (sn, 1) (sn,2) (sn 3),(sn ,4) gap=5, low=5, hi = 10, delta= 2 \
41  posi pmf (sn, 1, ca) kf=10, low=(1,2,3), high = ( 4 5 6) \
42  dist pmf (sn, 1, ca) (sn, 2, ca) kf = 10 low = 3 hi=2 \
43  angle pmf (sn 1 ca) (sn 2 ca) group {(sn 3 ca) (sn 4 ca)} kf=1 low=90 hi=180 \
44  dihe pmf (sn 1) (sn 2) (sn,3,ca) (sn,4,ca) barr= 5, low = 45 hi=135 \
45  } \
46  urestraint { \
47  dist pmf group { (insulin, 10) to (insulin, 15) } \
48  group { (insulin, 30) to (insulin, 35) } kf=20, low=20, hi=10 \
49  } \
50  pmf { \
51  task = grow, \
52  time = 30 fs \
53  print = 8.fs\
54  } \
55  mcti { \
56  task = up, \
57  time = 30fs \
58  print = 4fs \
59  } \
60  urestraint { \
61  dist (insulin, 10, ca) (insulin, 20, cb) kf = 10 ref=3; \
62  } \
63  urestraint { \
64  angle (insulin,10) (insulin,20) (insulin,30) kf=10 ref=3; \
65  dist pmf (sn, 1, ca) (sn, 2, ca) kf = 10 low = 3 hi=2 \
66  } \
67  pmf { \
68  task = down \
69  } \
70  pmf { \
71  task = fade \
72  } \
73  mcti{\
74  task=stepup; \
75  equiltime=12 fs \
76  accumtime = 12fs \
77  numsteps \
78  3 \
79  } \
80  pmf { \
81  task = stop \
82  time = 200 fs \
83  print = 25 fs \
84  } \
85  pmf { \
86  task = nogrow \
87  time = 205 fs \
88  print = 27 fs \
89  } \
90  pmf { \
91  task = stop \
92  lambda = 0.88 \
93  } \
94  pmf { \
95  task = nogrow \
96  lambda = 0.55 \
97  } \
98  pmf { \
99  task = nogrow \
100  lambdat=.44 \
101  } \
102  pmf { \
103  task = stop \
104  lambda=.33 \
105  } \
106  pmf { \
107  task = up \
108  time = 3ps \
109  lambda = 1.0 \
110  lambdat = 0.5 \
111  print = 40.fs \
112  accumtime = 100. fs \
113  equiltime = 4 \
114  } \
115  ";
116 
117  // put everything into the istrstream
118  istrstream* pInput;
119  pInput = new istrstream(AStr);
120  CFE.SetConfig(pInput);
121  CFE.user_initialize();
122 
123  // this is what's executed every time-step
124  int SomeNum = 10000;
125  for (int i=0; i<SomeNum; i++) {
126  CFE.user_calculate();
127  }
128 
129 }
int main(int argc, char *argv[])
Definition: diffbinpdb.c:15