9 |
|
#define __C |
10 |
|
#include "brains/fSimulation.h" |
11 |
|
#include "utils/simError.h" |
12 |
+ |
#include "UseTheForce/DarkSide/simulation_interface.h" |
13 |
+ |
#include "UseTheForce/notifyCutoffs_interface.h" |
14 |
|
|
15 |
< |
#include "UseTheForce/fortranWrappers.hpp" |
15 |
> |
//#include "UseTheForce/fortranWrappers.hpp" |
16 |
|
|
17 |
|
#include "math/MatVec3.h" |
18 |
|
|
57 |
|
useInitXSstate = true; |
58 |
|
|
59 |
|
usePBC = 0; |
60 |
< |
useLJ = 0; |
61 |
< |
useSticky = 0; |
60 |
> |
useDirectionalAtoms = 0; |
61 |
> |
useLennardJones = 0; |
62 |
> |
useElectrostatics = 0; |
63 |
|
useCharges = 0; |
64 |
|
useDipoles = 0; |
65 |
< |
useReactionField = 0; |
66 |
< |
useGB = 0; |
65 |
> |
useSticky = 0; |
66 |
> |
useGayBerne = 0; |
67 |
|
useEAM = 0; |
68 |
+ |
useShapes = 0; |
69 |
+ |
useFLARB = 0; |
70 |
+ |
|
71 |
|
useSolidThermInt = 0; |
72 |
|
useLiquidThermInt = 0; |
73 |
|
|
82 |
|
|
83 |
|
ngroup = 0; |
84 |
|
|
79 |
– |
wrapMeSimInfo( this ); |
85 |
|
} |
86 |
|
|
87 |
|
|
137 |
|
} |
138 |
|
} |
139 |
|
|
140 |
< |
setFortranBoxSize(FortranHmat, FortranHmatInv, &orthoRhombic); |
140 |
> |
setFortranBox(FortranHmat, FortranHmatInv, &orthoRhombic); |
141 |
|
|
142 |
|
} |
143 |
|
|
437 |
|
} |
438 |
|
|
439 |
|
fInfo.SIM_uses_PBC = usePBC; |
440 |
< |
//fInfo.SIM_uses_LJ = 0; |
441 |
< |
fInfo.SIM_uses_LJ = useLJ; |
442 |
< |
fInfo.SIM_uses_sticky = useSticky; |
443 |
< |
//fInfo.SIM_uses_sticky = 0; |
444 |
< |
fInfo.SIM_uses_charges = useCharges; |
445 |
< |
fInfo.SIM_uses_dipoles = useDipoles; |
446 |
< |
//fInfo.SIM_uses_dipoles = 0; |
447 |
< |
fInfo.SIM_uses_RF = useReactionField; |
448 |
< |
//fInfo.SIM_uses_RF = 0; |
449 |
< |
fInfo.SIM_uses_GB = useGB; |
440 |
> |
|
441 |
> |
if (useSticky || useDipoles || useGayBerne || useShapes) { |
442 |
> |
useDirectionalAtoms = 1; |
443 |
> |
fInfo.SIM_uses_DirectionalAtoms = useDirectionalAtoms; |
444 |
> |
} |
445 |
> |
|
446 |
> |
fInfo.SIM_uses_LennardJones = useLennardJones; |
447 |
> |
|
448 |
> |
if (useCharges || useDipoles) { |
449 |
> |
useElectrostatics = 1; |
450 |
> |
fInfo.SIM_uses_Electrostatics = useElectrostatics; |
451 |
> |
} |
452 |
> |
|
453 |
> |
fInfo.SIM_uses_Charges = useCharges; |
454 |
> |
fInfo.SIM_uses_Dipoles = useDipoles; |
455 |
> |
fInfo.SIM_uses_Sticky = useSticky; |
456 |
> |
fInfo.SIM_uses_GayBerne = useGayBerne; |
457 |
|
fInfo.SIM_uses_EAM = useEAM; |
458 |
+ |
fInfo.SIM_uses_Shapes = useShapes; |
459 |
+ |
fInfo.SIM_uses_FLARB = useFLARB; |
460 |
+ |
fInfo.SIM_uses_RF = useReactionField; |
461 |
|
|
462 |
|
n_exclude = excludes->getSize(); |
463 |
|
excl = excludes->getFortranArray(); |
474 |
|
//it may not be a good idea to pass the address of first element in vector |
475 |
|
//since c++ standard does not require vector to be stored continuously in meomory |
476 |
|
//Most of the compilers will organize the memory of vector continuously |
477 |
< |
setFsimulation( &fInfo, &n_global, &n_atoms, identArray, &n_exclude, excl, |
477 |
> |
setFortranSim( &fInfo, &n_global, &n_atoms, identArray, &n_exclude, excl, |
478 |
|
&nGlobalExcludes, globalExcludes, molMembershipArray, |
479 |
|
&mfact[0], &ngroup, &FglobalGroupMembership[0], &isError); |
480 |
|
|
504 |
|
rCut = theRcut; |
505 |
|
rList = rCut + 1.0; |
506 |
|
|
507 |
< |
notifyFortranCutOffs( &rCut, &rSw, &rList ); |
507 |
> |
notifyFortranCutoffs( &rCut, &rSw, &rList ); |
508 |
|
} |
509 |
|
|
510 |
|
void SimInfo::setDefaultRcut( double theRcut, double theRsw ){ |