61 #if !defined(VINLINE_MGPARM) 71 VASSERT( thee != VNULL);
85 thee->probe_radius = 1.5;
101 if ((*thee) != VNULL) {
103 Vmem_free(VNULL, 1,
sizeof(
PBSAMparm), (
void **)thee);
116 Vnm_print(0,
"PBSAMparm_check: checking PBSAMparm object of type %d.\n",
121 Vnm_print(2,
"PBSAMparm_check: not filled!\n");
128 Vnm_print(2,
"PBSAMparm_check: type not set");
137 VASSERT(thee != VNULL);
138 VASSERT(parm != VNULL);
141 thee->settolsp = parm->settolsp;
142 thee->tolsp = parm->tolsp;
144 thee->setmsms = parm->setmsms;
145 thee->probe_radius = parm->probe_radius;
146 thee->density = parm->density;
147 thee->setsurf = parm->setsurf;
148 thee->surfct = parm->surfct;
149 thee->setimat = parm->setimat;
150 thee->imatct = parm->imatct;
151 thee->setexp = parm->setexp;
152 thee->expct = parm->expct;
154 for (i=0; i<PBSAMPARM_MAXWRITE; i++)
158 thee->surffil[i][j] = parm->surffil[i][j];
159 thee->imatfil[i][j] = parm->imatfil[i][j];
160 thee->expfil[i][j] = parm->expfil[i][j];
167 const char* name =
"surf";
168 char tok[VMAX_BUFSIZE];
170 if(Vio_scanf(sock,
"%s", tok) == 0) {
171 Vnm_print(2,
"parsePBSAM: ran out of tokens on %s!\n", name);
174 strncpy(thee->surffil[thee->surfct], tok,
CHR_MAXLEN);
188 const char* name =
"imat";
189 char tok[VMAX_BUFSIZE];
191 if(Vio_scanf(sock,
"%s", tok) == 0) {
192 Vnm_print(2,
"parsePBSAM: ran out of tokens on %s!\n", name);
195 strncpy(thee->imatfil[thee->imatct], tok,
CHR_MAXLEN);
203 const char* name =
"exp";
204 char tok[VMAX_BUFSIZE];
206 if(Vio_scanf(sock,
"%s", tok) == 0) {
207 Vnm_print(2,
"parsePBSAM: ran out of tokens on %s!\n", name);
210 strncpy(thee->expfil[thee->expct], tok,
CHR_MAXLEN);
217 const char* name =
"tolsp";
218 char tok[VMAX_BUFSIZE];
220 if(Vio_scanf(sock,
"%s", tok) == 0) {
221 Vnm_print(2,
"parsePBAM: ran out of tokens on %s!\n", name);
225 if (sscanf(tok,
"%lf", &tf) == 0){
226 Vnm_print(2,
"NOsh: Read non-float (%s) while parsing %s keyword!\n", tok, name);
240 Vnm_print(2,
"parsePBSAM: got NULL thee!\n");
244 Vnm_print(2,
"parsePBSAM: got NULL socket!\n");
248 Vnm_print(0,
"PBSAMparm_parseToken: trying %s...\n", tok);
264 Vnm_print(2,
"parsePBSAM: Unrecognized keyword (%s)!\n", tok);
enum ePBSAMparm_CalcType PBSAMparm_CalcType
Declare PBSAMparm_CalcType type.
#define CHR_MAXLEN
Number of things that can be written out in a single calculation.
VPUBLIC Vrc_Codes PBSAMparm_check(PBSAMparm *thee)
Consistency check for parameter values stored in object.
VPUBLIC void PBSAMparm_dtor(PBSAMparm **thee)
Object destructor.
Contains declarations for class PBSAMparm.
VPRIVATE Vrc_Codes PBSAMparm_parseTolsp(PBSAMparm *thee, Vio *sock)
Find sphere tolerance for coarse-graining.
VPUBLIC void PBSAMparm_copy(PBSAMparm *thee, PBSAMparm *parm)
copy PBSAMparm object int thee.
VPRIVATE Vrc_Codes PBSAMparm_parseExp(PBSAMparm *thee, Vio *sock)
Find expansion files for each molecule and save them.
Parameter structure for PBSAM-specific variables from input files.
#define VEMBED(rctag)
Allows embedding of RCS ID tags in object files.
VPUBLIC int Vstring_strcasecmp(const char *s1, const char *s2)
Case-insensitive string comparison (BSD standard)
VPUBLIC Vrc_Codes PBSAMparm_parseToken(PBSAMparm *thee, char tok[VMAX_BUFSIZE], Vio *sock)
Parse an MG keyword from an input file.
VPUBLIC Vrc_Codes PBSAMparm_ctor2(PBSAMparm *thee, PBSAMparm_CalcType type)
FORTRAN stub to construct PBSAMparm object ?????????!!!!!!!
VPUBLIC void PBSAMparm_dtor2(PBSAMparm *thee)
FORTRAN stub for object destructor ?????????!!!!!!!!!!!!
VPRIVATE Vrc_Codes PBSAMparm_parseImat(PBSAMparm *thee, Vio *sock)
Find IMAT files for each molecule and save them.
VPRIVATE Vrc_Codes PBSAMparm_parseSurf(PBSAMparm *thee, Vio *sock)
Find vertex files for each molecule and save them.
VPRIVATE Vrc_Codes PBSAMparm_parseMSMS(PBSAMparm *thee, Vio *sock)
Find msms flag for if MSMS is to be run.
VPUBLIC PBSAMparm * PBSAMparm_ctor(PBSAMparm_CalcType type)
Construct PBSAMparm object.