APBS  3.0.0
pbeparm.h
Go to the documentation of this file.
1 
62 #ifndef _PBEPARM_H_
63 #define _PBEPARM_H_
64 
65 #include "apbscfg.h"
66 
67 #include "maloc/maloc.h"
68 
69 #include "generic/vhal.h"
70 #include "generic/vstring.h"
71 
75 #define PBEPARM_MAXWRITE 20
76 
82  PCE_NO=0,
84  PCE_COMPS=2
85 };
86 
92 
98  PCF_NO=0,
100  PCF_COMPS=2
101 };
102 
108 
117 struct sPBEparm {
118 
119  int molid;
120  int setmolid;
123  int dielMapID;
127  int usePotMap;
129  int potMapID;
137  int setbcfl;
138  int nion;
139  int setnion;
140  double ionq[MAXION];
141  double ionc[MAXION];
142  double ionr[MAXION];
143  int setion[MAXION];
144  double pdie;
145  int setpdie;
146  double sdens;
147  int setsdens;
148  double sdie;
149  int setsdie;
151  int setsrfm;
152  double srad;
153  int setsrad;
154  double swin;
155  int setswin;
156  double temp;
157  int settemp;
159  double smsize;
160  int setsmsize;
162  double smvolume;
170  /*----------------------------------------------------------------*/
171  /* Added by Michael Grabe */
172  /*----------------------------------------------------------------*/
173 
174  double zmem;
175  int setzmem;
176  double Lmem;
177  int setLmem;
178  double mdie;
179  int setmdie;
180  double memv;
181  int setmemv;
183  /*----------------------------------------------------------------*/
184 
185  int numwrite;
186  char writestem[PBEPARM_MAXWRITE][VMAX_ARGLEN];
191  int writemat;
195  char writematstem[VMAX_ARGLEN];
201  /*Added for issue 482*/
202  char pbam_3dmapstem[VMAX_ARGLEN];
203  int pbam_3dmapflag;
204 
205  int parsed;
207 };
208 
213 typedef struct sPBEparm PBEparm;
214 
215 /* ///////////////////////////////////////////////////////////////////////////
216 // Class NOsh: Non-inlineable methods (mcsh.c)
218 
224 VEXTERNC double PBEparm_getIonCharge(
225  PBEparm *thee, /**< PBEparm object */
226  int iion
227  );
228 
234 VEXTERNC double PBEparm_getIonConc(
235  PBEparm *thee,
236  int iion
237  );
238 
244 VEXTERNC double PBEparm_getIonRadius(
245  PBEparm *thee,
246  int iion
247  );
248 
249 
255 VEXTERNC PBEparm* PBEparm_ctor();
256 
262 VEXTERNC int PBEparm_ctor2(
263  PBEparm *thee
264  );
265 
270 VEXTERNC void PBEparm_dtor(
271  PBEparm **thee
272  );
273 
278 VEXTERNC void PBEparm_dtor2(
279  PBEparm *thee
280  );
281 
287 VEXTERNC int PBEparm_check(
288  PBEparm *thee
289  );
290 
295 VEXTERNC void PBEparm_copy(
296  PBEparm *thee,
297  PBEparm *parm
298  );
299 
306 VEXTERNC int PBEparm_parseToken(
307  PBEparm *thee,
308  char tok[VMAX_BUFSIZE],
309  Vio *sock
310  );
311 
312 
313 #endif
314 
enum ePBEparm_calcForce PBEparm_calcForce
Define ePBEparm_calcForce enumeration as PBEparm_calcForce.
Definition: pbeparm.h:107
ePBEparm_calcForce
Define force calculation enumeration.
Definition: pbeparm.h:97
ePBEparm_calcEnergy
Define energy calculation enumeration.
Definition: pbeparm.h:81
VEXTERNC PBEparm * PBEparm_ctor()
Construct PBEparm object.
Definition: pbeparm.c:104
#define PBEPARM_MAXWRITE
Number of things that can be written out in a single calculation.
Definition: pbeparm.h:75
VEXTERNC void PBEparm_copy(PBEparm *thee, PBEparm *parm)
Copy PBEparm object into thee.
Definition: pbeparm.c:283
VEXTERNC void PBEparm_dtor(PBEparm **thee)
Object destructor.
Definition: pbeparm.c:173
enum ePBEparm_calcEnergy PBEparm_calcEnergy
Define ePBEparm_calcEnergy enumeration as PBEparm_calcEnergy.
Definition: pbeparm.h:91
VEXTERNC int PBEparm_check(PBEparm *thee)
Consistency check for parameter values stored in object.
Definition: pbeparm.c:183
VEXTERNC void PBEparm_dtor2(PBEparm *thee)
FORTRAN stub for object destructor.
Definition: pbeparm.c:181
VEXTERNC double PBEparm_getIonRadius(PBEparm *thee, int iion)
Get radius (A) of specified ion species.
Definition: pbeparm.c:77
VEXTERNC int PBEparm_ctor2(PBEparm *thee)
FORTRAN stub to construct PBEparm object.
Definition: pbeparm.c:115
VEXTERNC double PBEparm_getIonConc(PBEparm *thee, int iion)
Get concentration (M) of specified ion species.
Definition: pbeparm.c:71
VEXTERNC int PBEparm_parseToken(PBEparm *thee, char tok[VMAX_BUFSIZE], Vio *sock)
Parse a keyword from an input file.
Definition: pbeparm.c:1215
@ PCF_COMPS
Definition: pbeparm.h:100
@ PCF_TOTAL
Definition: pbeparm.h:99
@ PCF_NO
Definition: pbeparm.h:98
@ PCE_TOTAL
Definition: pbeparm.h:83
@ PCE_COMPS
Definition: pbeparm.h:84
@ PCE_NO
Definition: pbeparm.h:82
enum eVbcfl Vbcfl
Declare Vbcfl type.
Definition: vhal.h:223
enum eVsurf_Meth Vsurf_Meth
Declaration of the Vsurf_Meth type as the Vsurf_Meth enum.
Definition: vhal.h:133
#define MAXION
The maximum number of ion species that can be involved in a single PBE calculation.
Definition: vhal.h:377
enum eVhal_PBEType Vhal_PBEType
Declaration of the Vhal_PBEType type as the Vhal_PBEType enum.
Definition: vhal.h:151
enum eVdata_Format Vdata_Format
Declaration of the Vdata_Format type as the Vdata_Format enum.
Definition: vhal.h:323
enum eVdata_Type Vdata_Type
Declaration of the Vdata_Type type as the Vdata_Type enum.
Definition: vhal.h:302
Parameter structure for PBE variables from input files.
Definition: pbeparm.h:117
double smsize
Definition: pbeparm.h:159
int setsmsize
Definition: pbeparm.h:160
int setsrad
Definition: pbeparm.h:153
int numwrite
Definition: pbeparm.h:185
int writemat
Definition: pbeparm.h:191
int setsdie
Definition: pbeparm.h:149
PBEparm_calcEnergy calcenergy
Definition: pbeparm.h:165
int writematflag
Definition: pbeparm.h:196
int setcalcforce
Definition: pbeparm.h:168
char writematstem[VMAX_ARGLEN]
Definition: pbeparm.h:195
int parsed
Definition: pbeparm.h:205
Vbcfl bcfl
Definition: pbeparm.h:136
double pdie
Definition: pbeparm.h:144
int useChargeMap
Definition: pbeparm.h:131
int kappaMapID
Definition: pbeparm.h:126
Vdata_Format writefmt[PBEPARM_MAXWRITE]
Definition: pbeparm.h:189
int setmolid
Definition: pbeparm.h:120
double zmem
Definition: pbeparm.h:174
int usePotMap
Definition: pbeparm.h:127
int setswin
Definition: pbeparm.h:155
Vhal_PBEType pbetype
Definition: pbeparm.h:134
double mdie
Definition: pbeparm.h:178
int setion[MAXION]
Definition: pbeparm.h:143
int setmemv
Definition: pbeparm.h:181
char writestem[PBEPARM_MAXWRITE][VMAX_ARGLEN]
Definition: pbeparm.h:186
double swin
Definition: pbeparm.h:154
int settemp
Definition: pbeparm.h:157
int setbcfl
Definition: pbeparm.h:137
int nion
Definition: pbeparm.h:138
double sdens
Definition: pbeparm.h:146
double memv
Definition: pbeparm.h:180
int setpbetype
Definition: pbeparm.h:135
int chargeMapID
Definition: pbeparm.h:133
int setsrfm
Definition: pbeparm.h:151
int setsdens
Definition: pbeparm.h:147
int setmdie
Definition: pbeparm.h:179
double temp
Definition: pbeparm.h:156
int potMapID
Definition: pbeparm.h:129
Vsurf_Meth srfm
Definition: pbeparm.h:150
double sdie
Definition: pbeparm.h:148
Vdata_Type writetype[PBEPARM_MAXWRITE]
Definition: pbeparm.h:188
int setpdie
Definition: pbeparm.h:145
double Lmem
Definition: pbeparm.h:176
double ionr[MAXION]
Definition: pbeparm.h:142
int useDielMap
Definition: pbeparm.h:121
PBEparm_calcForce calcforce
Definition: pbeparm.h:167
int setsmvolume
Definition: pbeparm.h:163
int useKappaMap
Definition: pbeparm.h:124
int setwritemat
Definition: pbeparm.h:194
int setnion
Definition: pbeparm.h:139
int dielMapID
Definition: pbeparm.h:123
int molid
Definition: pbeparm.h:119
int setzmem
Definition: pbeparm.h:175
double smvolume
Definition: pbeparm.h:162
double srad
Definition: pbeparm.h:152
double ionc[MAXION]
Definition: pbeparm.h:141
int setcalcenergy
Definition: pbeparm.h:166
int setLmem
Definition: pbeparm.h:177
double ionq[MAXION]
Definition: pbeparm.h:140
Contains generic macro definitions for APBS.
Contains declarations for class Vstring.