6 |
|
#include "PDBReader.hpp" |
7 |
|
#include "RigidBody.hpp" |
8 |
|
#include "GridBuilder.hpp" |
9 |
+ |
#include "SphereHarm.hpp" |
10 |
|
|
11 |
|
#define MK_STR(s) # s |
12 |
|
#define STR_DEFINE(t, s) t = MK_STR(s) |
58 |
|
vector<double> sigmaGrid; |
59 |
|
vector<double> epsGrid; |
60 |
|
vector<double> sGrid; |
61 |
+ |
SphereHarm* harmonize; |
62 |
|
|
63 |
|
double mass, rpar, eps; |
64 |
|
double xyz3[3]; |
65 |
+ |
double moments[3][3]; |
66 |
|
string fileName; |
67 |
|
char vdwFileName[2002]; |
68 |
|
char structureFileName[2002]; |
70 |
|
char readLine[500]; |
71 |
|
char xyzFile[200]; |
72 |
|
char shapeFile[200]; |
73 |
+ |
char shapeName[80]; |
74 |
|
FILE *vdwFile, *structureFile; |
75 |
|
char* ffPath_env = "VDW_PATH"; |
76 |
|
char* ffPath; |
106 |
|
token = strtok(xyzFile, period); |
107 |
|
strcpy(xyzFile, token); |
108 |
|
strcpy(shapeFile, token); |
109 |
+ |
strcpy(shapeName, token); |
110 |
|
strcat(xyzFile, "Ref.xyz"); |
111 |
|
strcat(shapeFile, ".shape"); |
112 |
+ |
strcat(shapeName, "_RB_0"); |
113 |
|
ofstream xfiles(xyzFile); |
114 |
|
|
115 |
|
//the bandwidth has a default value (default=16), so it is always given |
291 |
|
epsGrid.push_back(gb->passEps(k)); |
292 |
|
} |
293 |
|
|
294 |
+ |
//build the spherical harmonic transform object |
295 |
+ |
harmonize = new SphereHarm( bandwidth ); |
296 |
+ |
rb->getI(moments); |
297 |
+ |
harmonize->printShapesFileStart(shapeFile, shapeName, rb->getMass(), |
298 |
+ |
moments); |
299 |
|
|
300 |
+ |
//do the transforms and write to the shapes file |
301 |
+ |
harmonize->doTransforms(sigmaGrid); |
302 |
+ |
harmonize->printToShapesFile(shapeFile, 0); |
303 |
+ |
harmonize->doTransforms(sGrid); |
304 |
+ |
harmonize->printToShapesFile(shapeFile, 1); |
305 |
+ |
harmonize->doTransforms(epsGrid); |
306 |
+ |
harmonize->printToShapesFile(shapeFile, 2); |
307 |
|
|
308 |
+ |
//clean everything up |
309 |
+ |
harmonize->~SphereHarm(); |
310 |
|
} |
311 |
|
|
312 |
|
int count_tokens(char *line, char *delimiters) { |