46 |
|
#include "types/QuarticBondType.hpp" |
47 |
|
#include "types/PolynomialBondType.hpp" |
48 |
|
#include "UseTheForce/ForceField.hpp" |
49 |
+ |
#include "utils/simError.h" |
50 |
|
namespace oopse { |
51 |
|
|
52 |
|
BondTypesSectionParser::BondTypesSectionParser() { |
65 |
|
int nTokens = tokenizer.countTokens(); |
66 |
|
|
67 |
|
if (nTokens < 4) { |
68 |
< |
|
69 |
< |
return; |
68 |
> |
sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", |
69 |
> |
lineNo); |
70 |
> |
painCave.isFatal = 1; |
71 |
> |
simError(); |
72 |
|
} |
73 |
|
|
74 |
|
std::string at1 = tokenizer.nextToken(); |
85 |
|
|
86 |
|
case btHarmonic : |
87 |
|
if (nTokens < 1) { |
88 |
< |
|
88 |
> |
sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", |
89 |
> |
lineNo); |
90 |
> |
painCave.isFatal = 1; |
91 |
> |
simError(); |
92 |
|
} else { |
93 |
|
|
94 |
|
double kb = tokenizer.nextTokenAsDouble(); |
99 |
|
|
100 |
|
case btCubic : |
101 |
|
if (nTokens < 4) { |
102 |
< |
|
102 |
> |
sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", |
103 |
> |
lineNo); |
104 |
> |
painCave.isFatal = 1; |
105 |
> |
simError(); |
106 |
|
} else { |
107 |
|
|
108 |
|
double k3 = tokenizer.nextTokenAsDouble(); |
117 |
|
case btQuartic : |
118 |
|
if (nTokens < 5) { |
119 |
|
|
120 |
+ |
sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", |
121 |
+ |
lineNo); |
122 |
+ |
painCave.isFatal = 1; |
123 |
+ |
simError(); |
124 |
+ |
|
125 |
|
} else { |
126 |
|
|
127 |
|
b0 = tokenizer.nextTokenAsDouble(); |
137 |
|
|
138 |
|
case btPolynomial : |
139 |
|
if (nTokens < 2 || nTokens % 2 != 0) { |
140 |
+ |
sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n", |
141 |
+ |
lineNo); |
142 |
+ |
painCave.isFatal = 1; |
143 |
+ |
simError(); |
144 |
|
|
145 |
|
} else { |
146 |
|
int nPairs = nTokens / 2; |
159 |
|
|
160 |
|
case btUnknown : |
161 |
|
default: |
162 |
+ |
sprintf(painCave.errMsg, "BondTypesSectionParser Error: Unknown Bond Type at line %d\n", |
163 |
+ |
lineNo); |
164 |
+ |
painCave.isFatal = 1; |
165 |
+ |
simError(); |
166 |
+ |
|
167 |
|
break; |
168 |
|
|
169 |
|
} |