| 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 ){ |