916 |
|
painCave.isFatal = 1; |
917 |
|
simError(); |
918 |
|
} |
919 |
< |
|
920 |
< |
// get the ensemble |
919 |
> |
if (globals->haveForceFieldVariant()) { |
920 |
> |
strcpy(forcefield_variant, globals->getForceFieldVariant()); |
921 |
> |
has_forcefield_variant = 1; |
922 |
> |
} |
923 |
> |
|
924 |
> |
// get the ensemble |
925 |
|
|
926 |
|
strcpy(ensemble, globals->getEnsemble()); |
927 |
|
|
1518 |
|
void SimSetup::createFF(void){ |
1519 |
|
switch (ffCase){ |
1520 |
|
case FF_DUFF: |
1521 |
< |
the_ff = new DUFF(); |
1521 |
> |
the_ff = new DUFF(); |
1522 |
|
break; |
1523 |
|
|
1524 |
|
case FF_LJ: |
1526 |
|
break; |
1527 |
|
|
1528 |
|
case FF_EAM: |
1529 |
< |
the_ff = new EAM_FF(); |
1529 |
> |
if (has_forcefield_variant) |
1530 |
> |
the_ff = new EAM_FF(forcefield_variant); |
1531 |
> |
else |
1532 |
> |
the_ff = new EAM_FF(); |
1533 |
|
break; |
1534 |
|
|
1535 |
|
case FF_H2O: |
1543 |
|
simError(); |
1544 |
|
} |
1545 |
|
|
1546 |
+ |
|
1547 |
|
#ifdef IS_MPI |
1548 |
|
strcpy(checkPointMsg, "ForceField creation successful"); |
1549 |
|
MPIcheckPoint(); |
1820 |
|
void SimSetup::makeIntegrator(void){ |
1821 |
|
int k; |
1822 |
|
|
1823 |
< |
NVE<RealIntegrator>* myNVE = NULL; |
1824 |
< |
NVT<RealIntegrator>* myNVT = NULL; |
1825 |
< |
NPTi<NPT<RealIntegrator> >* myNPTi = NULL; |
1826 |
< |
NPTf<NPT<RealIntegrator> >* myNPTf = NULL; |
1827 |
< |
NPTxyz<NPT<RealIntegrator> >* myNPTxyz = NULL; |
1823 |
> |
NVE<Integrator<BaseIntegrator> >* myNVE = NULL; |
1824 |
> |
NVT<Integrator<BaseIntegrator> >* myNVT = NULL; |
1825 |
> |
NPTi<NPT<Integrator<BaseIntegrator> > >* myNPTi = NULL; |
1826 |
> |
NPTf<NPT<Integrator<BaseIntegrator> > >* myNPTf = NULL; |
1827 |
> |
NPTxyz<NPT<Integrator<BaseIntegrator> > >* myNPTxyz = NULL; |
1828 |
|
|
1829 |
|
for (k = 0; k < nInfo; k++){ |
1830 |
|
switch (ensembleCase){ |