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 |