42 |
|
#include "types/DirectionalAtomType.hpp" |
43 |
|
#include "UseTheForce/DarkSide/electrostatic_interface.h" |
44 |
|
#include "UseTheForce/DarkSide/sticky_interface.h" |
45 |
+ |
#include "UseTheForce/DarkSide/gb_interface.h" |
46 |
|
#include "utils/simError.h" |
47 |
|
namespace oopse { |
48 |
|
|
161 |
|
} |
162 |
|
|
163 |
|
//setup sticky atom type in fortran side |
164 |
< |
if (isSticky()) { |
164 |
> |
if (isSticky() || isStickyPower()) { |
165 |
|
data = getPropertyByName("Sticky"); |
166 |
|
if (data != NULL) { |
167 |
|
StickyParamGenericData* stickyData = dynamic_cast<StickyParamGenericData*>(data); |
169 |
|
if (stickyData != NULL) { |
170 |
|
StickyParam stickyParam = stickyData->getData(); |
171 |
|
|
172 |
< |
/**@todo change fortran interface */ |
173 |
< |
//makeStickyType(&atp.ident, &stickyParam.w0, &stickyParam.v0, &stickyParam.v0p, &stickyParam.rl, |
174 |
< |
// &stickyParam.ru, &stickyParam.rlp, &stickyParam.rup); |
174 |
< |
newStickyType(&atp.ident,&stickyParam.w0, &stickyParam.v0, &stickyParam.v0p, &stickyParam.rl, |
175 |
< |
&stickyParam.ru, &stickyParam.rlp, &stickyParam.rup, &isError); |
172 |
> |
newStickyType(&atp.ident,&stickyParam.w0, &stickyParam.v0, |
173 |
> |
&stickyParam.v0p, &stickyParam.rl, &stickyParam.ru, |
174 |
> |
&stickyParam.rlp, &stickyParam.rup, &isError); |
175 |
|
if (isError != 0) { |
176 |
|
sprintf( painCave.errMsg, |
177 |
|
"Fortran rejected newLJtype\n"); |
196 |
|
} |
197 |
|
|
198 |
|
//setup GayBerne type in fortran side |
199 |
+ |
if (isGayBerne()) { |
200 |
+ |
data = getPropertyByName("GayBerne"); |
201 |
+ |
if (data != NULL) { |
202 |
+ |
GayBerneParamGenericData* gayBerneData = dynamic_cast<GayBerneParamGenericData*>(data); |
203 |
|
|
204 |
< |
} |
204 |
> |
if (gayBerneData != NULL) { |
205 |
> |
GayBerneParam gayBerneParam = gayBerneData->getData(); |
206 |
|
|
207 |
+ |
newGayBerneType(&atp.ident, |
208 |
+ |
&gayBerneParam.GB_sigma, |
209 |
+ |
&gayBerneParam.GB_l2b_ratio, |
210 |
+ |
&gayBerneParam.GB_eps, |
211 |
+ |
&gayBerneParam.GB_eps_ratio, |
212 |
+ |
&gayBerneParam.GB_mu, |
213 |
+ |
&gayBerneParam.GB_nu, &isError); |
214 |
|
|
215 |
+ |
if (isError != 0) { |
216 |
+ |
sprintf( painCave.errMsg, |
217 |
+ |
"Fortran rejected newGayBerneType\n"); |
218 |
+ |
painCave.severity = OOPSE_ERROR; |
219 |
+ |
painCave.isFatal = 1; |
220 |
+ |
simError(); |
221 |
+ |
} |
222 |
+ |
|
223 |
+ |
} |
224 |
+ |
|
225 |
+ |
else { |
226 |
+ |
sprintf( painCave.errMsg, |
227 |
+ |
"Can not cast GenericData to GayBerneParam\n"); |
228 |
+ |
painCave.severity = OOPSE_ERROR; |
229 |
+ |
painCave.isFatal = 1; |
230 |
+ |
simError(); |
231 |
+ |
} |
232 |
+ |
} |
233 |
+ |
else { |
234 |
+ |
sprintf( painCave.errMsg, "Can not find Parameters for GayBerne\n"); |
235 |
+ |
painCave.severity = OOPSE_ERROR; |
236 |
+ |
painCave.isFatal = 1; |
237 |
+ |
simError(); |
238 |
+ |
} |
239 |
+ |
} |
240 |
+ |
} |
241 |
+ |
|
242 |
+ |
|
243 |
+ |
|
244 |
|
} //end namespace oopse |