85 ArrayWeight& cubWeights,
86 ArrayPoint& cellCoords)
const
89 int numCells = cellCoords.dimension(0);
90 int numNodesPerCell = cellCoords.dimension(1);
91 int spaceDim = cellCoords.dimension(2);
102 for (
int icell = 0; icell < numCells; icell++){
106 int numNodesPerSide =
subCVCellTopo_->getNodeCount(spaceDim-1,iside);
108 for (
int i=0; i<numNodesPerSide; i++){
119 for (
int inode=0; inode < numNodesPerCell; inode++){
120 for(
int idim=0; idim < spaceDim; idim++){
122 for (
int i=0; i<numNodesPerSide; i++){
123 midpt += subCVCoords(icell,inode,sideNodes(i),idim);
125 cubPoints(icell,inode,idim) = midpt/numNodesPerSide;
132 for (
int idim = 0; idim < spaceDim-1; idim++){
133 sideCenterLocal(0,idim) = 0.0;
144 for (
int isubcv = 0; isubcv < numNodesPerCell; isubcv++) {
145 for (
int inode = 0; inode < numNodesPerSubCV; inode++){
146 for (
int idim = 0; idim < spaceDim; idim++){
147 cellCVCoords(isubcv,inode,idim) = subCVCoords(icell,isubcv,inode,idim);
154 Intrepid::CellTools<Scalar>::setJacobian(subCVsideJacobian, refSidePoints, cellCVCoords, *(
subCVCellTopo_));
160 for (
int inode = 0; inode < numNodesPerCell; inode++) {
161 for (
int idim = 0; idim < spaceDim; idim++){
162 cubWeights(icell,inode,idim) = normals(inode,0,idim)*pow(2,spaceDim-1);
176 for (
int i=0; i<numNodesPerSide; i++){
179 int numExtraSides = numEdgesPerCell - numNodesPerCell;
180 for (
int icount=0; icount < numExtraSides; icount++){
181 int iedge = icount + numNodesPerCell;
182 for(
int idim=0; idim < spaceDim; idim++){
184 for (
int i=0; i<numNodesPerSide; i++){
185 midpt += subCVCoords(icell,icount,sideNodes(i),idim)/numNodesPerSide;
187 cubPoints(icell,iedge,idim) = midpt;
198 Intrepid::CellTools<Scalar>::setJacobian(subCVsideJacobian, refSidePoints, cellCVCoords, *(
subCVCellTopo_));
203 for (
int icount = 0; icount < numExtraSides; icount++) {
204 int iedge = icount + numNodesPerCell;
205 for (
int idim = 0; idim < spaceDim; idim++){
206 cubWeights(icell,iedge,idim) = normals(icount,0,idim)*pow(2,spaceDim-1);
222 for (
int i=0; i<numNodesPerSide; i++){
225 for (
int icount=0; icount < 3; icount++){
226 int iedge = icount + 3;
227 for(
int idim=0; idim < spaceDim; idim++){
229 for (
int i=0; i<numNodesPerSide; i++){
230 midpt += subCVCoords(icell,icount,sideNodes(i),idim)/numNodesPerSide;
232 cubPoints(icell,iedge,idim) = midpt;
243 Intrepid::CellTools<Scalar>::setJacobian(subCVsideJacobian, refSidePoints, cellCVCoords, *(
subCVCellTopo_));
248 for (
int icount = 0; icount < 3; icount++) {
249 int iedge = icount + 3;
250 for (
int idim = 0; idim < spaceDim; idim++){
251 cubWeights(icell,iedge,idim) = normals(icount,0,idim)*pow(2,spaceDim-1);