ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/restraints/Restraints.hpp
Revision: 1772
Committed: Tue Nov 23 22:48:31 2004 UTC (19 years, 7 months ago) by chrisfen
File size: 1564 byte(s)
Log Message:
Improvements to restraints

File Contents

# Content
1 /* This is a fun little patch to do molecular restraints for
2 thermodynamic integration of solids. Use only
3 if you really know what you are doing.
4 */
5
6 #ifndef _RESTRAINTS_H_
7 #define _RESTRAINTS_H_
8
9 #include <stdlib.h>
10 #include <iostream>
11 #include <vector>
12
13 #include "primitives/Atom.hpp"
14 #include "brains/SimState.hpp"
15
16 //#include "brains/SimInfo.hpp"
17 //#include "io/ReadWrite.hpp"
18
19 class Restraints{
20
21 public:
22 Restraints(double lambdaVal, double lambdaExp);
23 ~Restraints();
24
25 void Calc_rVal(double position[3], double refPosition[3]);
26 void Calc_body_thetaVal(double matrix[3][3], double refUnit[3]);
27 void Calc_body_omegaVal(double matrix[3][3], double zAngle);
28 double Calc_Restraint_Forces(vector<StuntDouble*> vecParticles);
29 // void Store_Init_Info(vector<StuntDouble*> vecParticles);
30 void Write_zAngle_File(vector<StuntDouble*> vecParticles,
31 int currTime,
32 int nIntObj);
33 double getVharm();
34
35 private:
36 char moleculeName[15];
37
38 int i, j;
39
40 double scaleLam;
41 double delRx, delRy, delRz;
42 double theta, omega;
43 double vProj0[3];
44 double vProjDist;
45 double uTx, uTy, uTz, vTx, vTy, vTz;
46 double ub0x, ub0y, ub0z, vb0x, vb0y, vb0z;
47 double kTheta, kOmega, kDist;
48 double restraintFrc[3];
49 double restraintTrq[3];
50 double normalize;
51 double dVdrx, dVdry, dVdrz;
52 double dVdux, dVduy, dVduz;
53 double dVdvx, dVdvy, dVdvz;
54 double harmPotent;
55 double lambdaValue;
56 double lambdaK;
57
58 char *token;
59 char fileName[200];
60 char angleName[200];
61 char inLine[1000];
62 char inValue[200];
63 char springName[200];
64 };
65
66 #endif