44 scalar calcGexp(
const scalar expRatio,
const label dim)
52 return pow(expRatio, 1.0/(dim - 1));
59 void blockDescriptor::setEdge(label edgeI, label start, label end, label dim)
67 const labelList& blockLabels = blockShape_;
75 forAll (curvedEdges_, nCEI)
77 if (curvedEdges_[nCEI].compare(blockLabels[start], blockLabels[end]))
84 if (blockLabels[start] == curvedEdges_[nCEI].start())
88 scalar gExp = calcGexp(expand_[edgeI], dim);
91 lineDivide divEdge(curvedEdges_[nCEI], dim, gExp);
93 edgePoints_[edgeI] = divEdge.points();
94 edgeWeights_[edgeI] = divEdge.lambdaDivisions();
99 scalar gExp = calcGexp(expand_[edgeI], dim);
102 lineDivide divEdge(curvedEdges_[nCEI], dim, 1.0/(gExp+SMALL));
107 edgePoints_[edgeI].
setSize(p.size());
108 edgeWeights_[edgeI].
setSize(d.size());
110 label
pMax = p.size() - 1;
113 edgePoints_[edgeI][pI] = p[pMax - pI];
114 edgeWeights_[edgeI][pI] = 1.0 - d[pMax - pI];
125 scalar gExp = calcGexp(expand_[edgeI], dim);
126 lineEdge lE(blockPoints, start, end);
135 edgePoints_[edgeI] = divEdge.points();
136 edgeWeights_[edgeI] = divEdge.lambdaDivisions();