49 if( faceCentresPtr_ && faceAreasPtr_ )
55 # pragma omp parallel for if( faces.size() > 100 ) \
59 if( changedFace[faceI] )
61 const face&
f = faces[faceI];
68 fCtrs[faceI] = (1.0/3.0)*(
p[
f[0]] +
p[
f[1]] +
p[
f[2]]);
70 0.5*((
p[
f[1]] -
p[
f[0]])^(
p[
f[2]] -
p[
f[0]]));
88 const point& nextPoint =
p[
f.nextLabel(pI)];
90 vector c =
p[
f[pI]] + nextPoint + fCentre;
91 vector n = (nextPoint -
p[
f[pI]])^(fCentre -
p[
f[pI]]);
99 fCtrs[faceI] = (1.0/3.0)*sumAc/(sumA + VSMALL);
100 fAreas[faceI] = 0.5*sumN;
106 if( cellCentresPtr_ && cellVolumesPtr_ && faceCentresPtr_ && faceAreasPtr_ )
117 # pragma omp parallel for if( cells.size() > 100 ) \
118 schedule(dynamic, 10)
126 if( changedFace[
c[fI]] )
140 cEst += fCtrs[
c[fI]];
144 if( own[
c[fI]] == cellI )
147 const scalar pyr3Vol =
160 (3.0/4.0)*fCtrs[
c[fI]] + (1.0/4.0)*cEst;
163 cellCtrs[cellI] += pyr3Vol*pc;
171 const scalar pyr3Vol =
183 (3.0/4.0)*fCtrs[
c[fI]] + (1.0/4.0)*cEst;
186 cellCtrs[cellI] += pyr3Vol*pc;