APBS 3.0.0
Loading...
Searching...
No Matches
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
105typedef 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
184
192
200VEXTERNC Vrc_Codes PBAMparm_ctor2(PBAMparm *thee, PBAMparm_CalcType type);
201
207VEXTERNC void PBAMparm_dtor(PBAMparm **thee);
208
214VEXTERNC void PBAMparm_dtor2(PBAMparm *thee);
215
222VEXTERNC Vrc_Codes PBAMparm_check(PBAMparm *thee);
223
233VEXTERNC Vrc_Codes PBAMparm_parseToken(PBAMparm *thee, char tok[VMAX_BUFSIZE],
234 Vio *sock);
242VEXTERNC void PBAMparm_copy(PBAMparm *thee, PBAMparm *parm);
243
251VPRIVATE Vrc_Codes PBAMparm_parseSalt(PBAMparm *thee, Vio *sock);
252
260VPRIVATE Vrc_Codes PBAMparm_parseRunType(PBAMparm *thee, Vio *sock);
261
269VPRIVATE Vrc_Codes PBAMparm_parseRunName(PBAMparm *thee, Vio *sock);
270
278VPRIVATE Vrc_Codes PBAMparm_parseRandorient(PBAMparm *thee, Vio *sock);
279
287VPRIVATE Vrc_Codes PBAMparm_parsePBCS(PBAMparm *thee, Vio *sock);
288
296VPRIVATE Vrc_Codes PBAMparm_parseUnits(PBAMparm *thee, Vio *sock);
297
305VPRIVATE Vrc_Codes PBAMparm_parse3Dmap(PBAMparm *thee, Vio *sock);
306
314VPRIVATE Vrc_Codes PBAMparm_parseGrid2D(PBAMparm *thee, Vio *sock);
315
323VPRIVATE Vrc_Codes PBAMparm_parseDX(PBAMparm *thee, Vio *sock);
324
332VPRIVATE Vrc_Codes PBAMparm_parseGridPts(PBAMparm *thee, Vio *sock);
333
341VPRIVATE Vrc_Codes PBAMparm_parseTermcombine(PBAMparm *thee, Vio *sock);
342
350VPRIVATE Vrc_Codes PBAMparm_parseDiff(PBAMparm *thee, Vio *sock);
351
359VPRIVATE Vrc_Codes PBAMparm_parseXYZ(PBAMparm *thee, Vio *sock);
360
361
362
363
364#endif
365
VPRIVATE Vrc_Codes PBAMparm_parse3Dmap(PBAMparm *thee, Vio *sock)
Find 3D map filename and save it.
Definition pbamparm.c:371
ePBAMparm_CalcType
Calculation type.
Definition pbamparm.h:84
VEXTERNC void PBAMparm_dtor2(PBAMparm *thee)
FORTRAN stub for object destructor ?????????!!!!!!!!!!!!
Definition pbamparm.c:130
enum ePBAMparm_CalcType PBAMparm_CalcType
Declare PBAMparm_CalcType type.
Definition pbamparm.h:95
struct sPBAMparm PBAMparm
Parameter structure for PBAM-specific variables from input files.
VEXTERNC void PBAMparm_copy(PBAMparm *thee, PBAMparm *parm)
copy PBAMparm object int thee.
Definition pbamparm.c:157
VPRIVATE Vrc_Codes PBAMparm_parseDX(PBAMparm *thee, Vio *sock)
Find DX filename and save it.
Definition pbamparm.c:426
VEXTERNC void PBAMparm_dtor(PBAMparm **thee)
Object destructor.
Definition pbamparm.c:122
VEXTERNC Vrc_Codes PBAMparm_ctor2(PBAMparm *thee, PBAMparm_CalcType type)
FORTRAN stub to construct PBAMparm object ?????????!!!!!!!
Definition pbamparm.c:77
VPRIVATE Vrc_Codes PBAMparm_parsePBCS(PBAMparm *thee, Vio *sock)
Find PBC flag and save the type and the boxlength.
Definition pbamparm.c:310
VPRIVATE Vrc_Codes PBAMparm_parseTermcombine(PBAMparm *thee, Vio *sock)
Find Termination logic and save it.
Definition pbamparm.c:444
VPRIVATE Vrc_Codes PBAMparm_parseGridPts(PBAMparm *thee, Vio *sock)
Find Grid points and save them.
Definition pbamparm.c:351
VEXTERNC Vrc_Codes PBAMparm_check(PBAMparm *thee)
Consistency check for parameter values stored in object.
Definition pbamparm.c:132
VPRIVATE Vrc_Codes PBAMparm_parseSalt(PBAMparm *thee, Vio *sock)
Find salt conc and save it as a structure variable.
Definition pbamparm.c:252
VEXTERNC PBAMparm * PBAMparm_ctor(PBAMparm_CalcType type)
Construct PBAMparm object.
Definition pbamparm.c:66
#define CHR_MAXLEN
Number of things that can be written out in a single calculation.
Definition pbamparm.h:76
VPRIVATE Vrc_Codes PBAMparm_parseGrid2D(PBAMparm *thee, Vio *sock)
Find 2D grid filename and save it.
Definition pbamparm.c:391
VPRIVATE Vrc_Codes PBAMparm_parseXYZ(PBAMparm *thee, Vio *sock)
Find xyz files for each molecule for each traj and save them.
Definition pbamparm.c:632
VPRIVATE Vrc_Codes PBAMparm_parseDiff(PBAMparm *thee, Vio *sock)
Find diffusion coeffs for each molecule and save them.
Definition pbamparm.c:477
VEXTERNC Vrc_Codes PBAMparm_parseToken(PBAMparm *thee, char tok[VMAX_BUFSIZE], Vio *sock)
Parse an MG keyword from an input file.
Definition pbamparm.c:662
VPRIVATE Vrc_Codes PBAMparm_parseRunType(PBAMparm *thee, Vio *sock)
Find runType and save it as a structure variable.
Definition pbamparm.c:271
VPRIVATE Vrc_Codes PBAMparm_parseRunName(PBAMparm *thee, Vio *sock)
Find runName and save it as a structure variable.
Definition pbamparm.c:289
VPRIVATE Vrc_Codes PBAMparm_parseRandorient(PBAMparm *thee, Vio *sock)
Find randomorientation flag and save it as a boolean.
Definition pbamparm.c:304
VPRIVATE Vrc_Codes PBAMparm_parseUnits(PBAMparm *thee, Vio *sock)
Find units flag and save units.
Definition pbamparm.c:336
@ PBAMCT_AUTO
Definition pbamparm.h:87
Parameter structure for PBAM-specific variables from input files.
Definition pbamparm.h:105
int parsed
Definition pbamparm.h:108
PBAMparm_CalcType type
Definition pbamparm.h:107
Contains generic macro definitions for APBS.
Contains declarations for class Vstring.