APBS  1.5
pbamparm.h
Go to the documentation of this file.
1 
64 #ifndef _PBAMPARM_H_
65 #define _PBAMPARM_H_
66 
67 /* Generic header files */
68 #include "maloc/maloc.h"
69 
70 #include "generic/vhal.h"
71 #include "generic/vstring.h"
72 
76 #define CHR_MAXLEN 1000
77 #define PBAMPARM_MAXWRITE 15
78 #define PBAMPARM_MAXMOL 150
79 
85  //other methods disabled for now only auto currently implemented.
86  //PBAMCT_MANUAL=0, /**< PBAM-manual */
88  //PBAMCT_NONE=2 /**< not defined */
89 };
90 
96 
105 typedef struct sPBAMparm {
106 
108  int parsed;
110  /* *** GENERIC PARAMETERS *** */
111  double salt;
112  int setsalt;
113 
114  // This is the type of run you want
115  char runtype[CHR_MAXLEN];
116  int setruntype;
117 
118  // This is the name for output files
119  char runname[CHR_MAXLEN];
120  int setrunname;
121 
122  // For setting random orientation of molecules
123  int setrandorient;
124 
125  // For periodic boundary conditions
126  double pbcboxlen;
127  int setpbcs;
128 
129  // This is units of the calculation
130  char units[CHR_MAXLEN];
131  int setunits;
132 
133  //
134  // ELECTROSTATICS
135  //
136  // For the grid, store gridpt
137  int gridpt;
138  int setgridpt;
139 
140  // For 3d map printing
141  char map3dname[CHR_MAXLEN];
142  int set3dmap;
143 
144  // For 2D
145  char grid2Dname[PBAMPARM_MAXWRITE][CHR_MAXLEN];
146  char grid2Dax[PBAMPARM_MAXWRITE][CHR_MAXLEN];
147  double grid2Dloc[PBAMPARM_MAXWRITE];
148  int grid2Dct;
149  int setgrid2Dname;
150 
151  // For dx
152  char dxname[CHR_MAXLEN];
153  int setdxname;
154 
155  //
156  // DYNAMICS
157  //
158  int ntraj;
159  int setntraj;
160 
161  char termcombine[CHR_MAXLEN];
162  int settermcombine;
163 
164  int diffct;
165  char moveType[PBAMPARM_MAXMOL][CHR_MAXLEN];
166  double transDiff[PBAMPARM_MAXMOL];
167  double rotDiff[PBAMPARM_MAXMOL];
168 
169  int termct;
170  int setterm;
171 
172  char termnam[PBAMPARM_MAXWRITE][CHR_MAXLEN];
173  int termnu[PBAMPARM_MAXWRITE][1];
174  double termVal[PBAMPARM_MAXWRITE];
175  char confil[PBAMPARM_MAXWRITE][CHR_MAXLEN];
176  double conpad[PBAMPARM_MAXWRITE];
177  int confilct;
178 
179  int setxyz;
180  int xyzct[PBAMPARM_MAXMOL];
181  char xyzfil[PBAMPARM_MAXMOL][PBAMPARM_MAXWRITE][CHR_MAXLEN];
182 
183 } PBAMparm;
184 
192 
200 VEXTERNC Vrc_Codes PBAMparm_ctor2(PBAMparm *thee, PBAMparm_CalcType type);
201 
207 VEXTERNC void PBAMparm_dtor(PBAMparm **thee);
208 
214 VEXTERNC void PBAMparm_dtor2(PBAMparm *thee);
215 
222 VEXTERNC Vrc_Codes PBAMparm_check(PBAMparm *thee);
223 
233 VEXTERNC Vrc_Codes PBAMparm_parseToken(PBAMparm *thee, char tok[VMAX_BUFSIZE],
234  Vio *sock);
242 VEXTERNC void PBAMparm_copy(PBAMparm *thee, PBAMparm *parm);
243 
251 VPRIVATE Vrc_Codes PBAMparm_parseSalt(PBAMparm *thee, Vio *sock);
252 
260 VPRIVATE Vrc_Codes PBAMparm_parseRunType(PBAMparm *thee, Vio *sock);
261 
269 VPRIVATE Vrc_Codes PBAMparm_parseRunName(PBAMparm *thee, Vio *sock);
270 
278 VPRIVATE Vrc_Codes PBAMparm_parseRandorient(PBAMparm *thee, Vio *sock);
279 
287 VPRIVATE Vrc_Codes PBAMparm_parsePBCS(PBAMparm *thee, Vio *sock);
288 
296 VPRIVATE Vrc_Codes PBAMparm_parseUnits(PBAMparm *thee, Vio *sock);
297 
305 VPRIVATE Vrc_Codes PBAMparm_parse3Dmap(PBAMparm *thee, Vio *sock);
306 
314 VPRIVATE Vrc_Codes PBAMparm_parseGrid2D(PBAMparm *thee, Vio *sock);
315 
323 VPRIVATE Vrc_Codes PBAMparm_parseDX(PBAMparm *thee, Vio *sock);
324 
332 VPRIVATE Vrc_Codes PBAMparm_parseGridPts(PBAMparm *thee, Vio *sock);
333 
341 VPRIVATE Vrc_Codes PBAMparm_parseTermcombine(PBAMparm *thee, Vio *sock);
342 
350 VPRIVATE Vrc_Codes PBAMparm_parseDiff(PBAMparm *thee, Vio *sock);
351 
359 VPRIVATE Vrc_Codes PBAMparm_parseXYZ(PBAMparm *thee, Vio *sock);
360 
361 
362 
363 
364 #endif
365 
VPRIVATE Vrc_Codes PBAMparm_parseGrid2D(PBAMparm *thee, Vio *sock)
Find 2D grid filename and save it.
Definition: pbamparm.c:383
VPRIVATE Vrc_Codes PBAMparm_parse3Dmap(PBAMparm *thee, Vio *sock)
Find 3D map filename and save it.
Definition: pbamparm.c:368
#define CHR_MAXLEN
Number of things that can be written out in a single calculation.
Definition: pbamparm.h:76
VPRIVATE Vrc_Codes PBAMparm_parseRandorient(PBAMparm *thee, Vio *sock)
Find randomorientation flag and save it as a boolean.
Definition: pbamparm.c:301
VPRIVATE Vrc_Codes PBAMparm_parseDiff(PBAMparm *thee, Vio *sock)
Find diffusion coeffs for each molecule and save them.
Definition: pbamparm.c:465
Parameter structure for PBAM-specific variables from input files.
Definition: pbamparm.h:105
VPRIVATE Vrc_Codes PBAMparm_parseDX(PBAMparm *thee, Vio *sock)
Find DX filename and save it.
Definition: pbamparm.c:418
VPRIVATE Vrc_Codes PBAMparm_parseRunName(PBAMparm *thee, Vio *sock)
Find runName and save it as a structure variable.
Definition: pbamparm.c:286
VEXTERNC void PBAMparm_dtor(PBAMparm **thee)
Object destructor.
Definition: pbamparm.c:122
VPRIVATE Vrc_Codes PBAMparm_parseRunType(PBAMparm *thee, Vio *sock)
Find runType and save it as a structure variable.
Definition: pbamparm.c:271
ePBAMparm_CalcType
Calculation type.
Definition: pbamparm.h:84
enum ePBAMparm_CalcType PBAMparm_CalcType
Declare PBAMparm_CalcType type.
Definition: pbamparm.h:95
PBAMparm_CalcType type
Definition: pbamparm.h:107
VEXTERNC void PBAMparm_copy(PBAMparm *thee, PBAMparm *parm)
copy PBAMparm object int thee.
Definition: pbamparm.c:157
int parsed
Definition: pbamparm.h:108
VPRIVATE Vrc_Codes PBAMparm_parseSalt(PBAMparm *thee, Vio *sock)
Find salt conc and save it as a structure variable.
Definition: pbamparm.c:252
VEXTERNC Vrc_Codes PBAMparm_ctor2(PBAMparm *thee, PBAMparm_CalcType type)
FORTRAN stub to construct PBAMparm object ?????????!!!!!!!
Definition: pbamparm.c:77
Contains declarations for class Vstring.
VPRIVATE Vrc_Codes PBAMparm_parseTermcombine(PBAMparm *thee, Vio *sock)
Find Termination logic and save it.
Definition: pbamparm.c:432
VPRIVATE Vrc_Codes PBAMparm_parsePBCS(PBAMparm *thee, Vio *sock)
Find PBC flag and save the type and the boxlength.
Definition: pbamparm.c:307
VEXTERNC void PBAMparm_dtor2(PBAMparm *thee)
FORTRAN stub for object destructor ?????????!!!!!!!!!!!!
Definition: pbamparm.c:130
Contains generic macro definitions for APBS.
VEXTERNC Vrc_Codes PBAMparm_parseToken(PBAMparm *thee, char tok[VMAX_BUFSIZE], Vio *sock)
Parse an MG keyword from an input file.
Definition: pbamparm.c:646
VPRIVATE Vrc_Codes PBAMparm_parseUnits(PBAMparm *thee, Vio *sock)
Find units flag and save units.
Definition: pbamparm.c:333
VEXTERNC PBAMparm * PBAMparm_ctor(PBAMparm_CalcType type)
Construct PBAMparm object.
Definition: pbamparm.c:66
VPRIVATE Vrc_Codes PBAMparm_parseGridPts(PBAMparm *thee, Vio *sock)
Find Grid points and save them.
Definition: pbamparm.c:348
VEXTERNC Vrc_Codes PBAMparm_check(PBAMparm *thee)
Consistency check for parameter values stored in object.
Definition: pbamparm.c:132
VPRIVATE Vrc_Codes PBAMparm_parseXYZ(PBAMparm *thee, Vio *sock)
Find xyz files for each molecule for each traj and save them.
Definition: pbamparm.c:616
struct sPBAMparm PBAMparm
Parameter structure for PBAM-specific variables from input files.