| 556 |
|
slabWidth_ = hmat(2,2) / 10.0; |
| 557 |
|
|
| 558 |
|
if (hasSlabBCenter) |
| 559 |
< |
slabBCenter_ = rnemdParams->getSlabACenter(); |
| 559 |
> |
slabBCenter_ = rnemdParams->getSlabBCenter(); |
| 560 |
|
else |
| 561 |
|
slabBCenter_ = hmat(2,2) / 2.0; |
| 562 |
|
|
| 577 |
|
} |
| 578 |
|
} |
| 579 |
|
} |
| 580 |
+ |
|
| 581 |
|
// object evaluator: |
| 582 |
|
evaluator_.loadScriptString(rnemdObjectSelection_); |
| 583 |
|
seleMan_.setSelectionSet(evaluator_.evaluate()); |
| 583 |
– |
|
| 584 |
|
evaluatorA_.loadScriptString(selectionA_); |
| 585 |
|
evaluatorB_.loadScriptString(selectionB_); |
| 586 |
– |
|
| 586 |
|
seleManA_.setSelectionSet(evaluatorA_.evaluate()); |
| 587 |
|
seleManB_.setSelectionSet(evaluatorB_.evaluate()); |
| 589 |
– |
|
| 588 |
|
commonA_ = seleManA_ & seleMan_; |
| 589 |
< |
commonB_ = seleManB_ & seleMan_; |
| 589 |
> |
commonB_ = seleManB_ & seleMan_; |
| 590 |
|
} |
| 591 |
|
|
| 592 |
|
|
| 1730 |
|
int isd; |
| 1731 |
|
StuntDouble* sd; |
| 1732 |
|
vector<StuntDouble*> aSites; |
| 1735 |
– |
ConvexHull* surfaceMeshA = new ConvexHull(); |
| 1733 |
|
seleManA_.setSelectionSet(evaluatorA_.evaluate()); |
| 1734 |
|
for (sd = seleManA_.beginSelected(isd); sd != NULL; |
| 1735 |
|
sd = seleManA_.nextSelected(isd)) { |
| 1736 |
|
aSites.push_back(sd); |
| 1737 |
|
} |
| 1738 |
+ |
ConvexHull* surfaceMeshA = new ConvexHull(); |
| 1739 |
|
surfaceMeshA->computeHull(aSites); |
| 1740 |
|
areaA = surfaceMeshA->getArea(); |
| 1741 |
+ |
delete surfaceMeshA; |
| 1742 |
+ |
|
| 1743 |
|
} else { |
| 1744 |
|
if (usePeriodicBoundaryConditions_) { |
| 1745 |
|
// in periodic boundaries, the surface area is twice the x-y |
| 1753 |
|
} |
| 1754 |
|
} |
| 1755 |
|
|
| 1756 |
+ |
|
| 1757 |
+ |
|
| 1758 |
|
if (hasSelectionB_) { |
| 1759 |
|
int isd; |
| 1760 |
|
StuntDouble* sd; |
| 1761 |
|
vector<StuntDouble*> bSites; |
| 1760 |
– |
ConvexHull* surfaceMeshB = new ConvexHull(); |
| 1762 |
|
seleManB_.setSelectionSet(evaluatorB_.evaluate()); |
| 1763 |
|
for (sd = seleManB_.beginSelected(isd); sd != NULL; |
| 1764 |
|
sd = seleManB_.nextSelected(isd)) { |
| 1765 |
|
bSites.push_back(sd); |
| 1766 |
|
} |
| 1767 |
+ |
ConvexHull* surfaceMeshB = new ConvexHull(); |
| 1768 |
|
surfaceMeshB->computeHull(bSites); |
| 1769 |
|
areaB = surfaceMeshB->getArea(); |
| 1770 |
+ |
delete surfaceMeshB; |
| 1771 |
+ |
|
| 1772 |
|
} else { |
| 1773 |
|
if (usePeriodicBoundaryConditions_) { |
| 1774 |
|
// in periodic boundaries, the surface area is twice the x-y |