fakeF->setGaussLocalizationOnType(gt,loc.getRefCoords(),loc.getGaussCoords(),loc.getGaussWeights());
ptsForLoc=fakeF->getLocalizationOfDiscr();
//
+ if(ptsForLoc->getNumberOfComponents()!=3)
+ ptsForLoc = ptsForLoc->changeNbOfComponents(3,0.0);
+ //
return geoMesh;
}
geoMesh2->convertQuadraticCellsToLinear();
dir=geoMesh2->buildDirectionVectorField();
}
- MCAuto<DataArrayDouble> rot(dir->getArray()->fromCartToSpher());
+ MCAuto<DataArrayDouble> dirArr;
+ dirArr.takeRef(dir->getArray());
+ if(dir->getNumberOfComponents()!=3)
+ dirArr = dirArr->changeNbOfComponents(3,0.0);
+ MCAuto<DataArrayDouble> rot(dirArr->fromCartToSpher());
std::size_t nbCompo(ptsForLoc->getNumberOfComponents());
MCAuto<DataArrayDouble> secPts(section->getCoords()->changeNbOfComponents(nbCompo,0.));
{