#include "InterpKernelAutoPtr.hxx"
#include "InterpKernelGaussCoords.hxx"
#include "InterpKernelMatrixTools.hxx"
+#include "InterpKernelDenseMatrix.hxx"
#include <set>
#include <list>
umesh->getNodeIdsOfCell(*cellId,conn);
std::vector<double> ptsInCell; ptsInCell.reserve(conn.size()*loc.getDimension());
std::for_each( conn.cbegin(), conn.cend(), [coordsOfMesh,&ptsInCell](mcIdType c) { ptsInCell.insert(ptsInCell.end(),coordsOfMesh+c*2,coordsOfMesh+(c+1)*2); } );
+ std::size_t nbPtsInCell(ptsInCell.size()/3);
+ INTERP_KERNEL::DenseMatrix jacobian(2,2);
+ MCAuto<DataArrayDouble> shapeFunc = loc.getDerivativeOfShapeFunctionValues();
+ for(std::size_t i = 0 ; i < 2 ; ++i)
+ for(std::size_t j = 0 ; j < 2 ; ++j)
+ {
+ double res = 0.0;
+ for( std::size_t k = 0 ; k < nbPtsInCell ; ++k )
+ res += ptsInCell[k*2+i] * shapeFunc->getIJ(0,2*k+j);
+ jacobian[ i ][ j ] = res;
+ }
+
for(mcIdType j=0;j<nbOfGaussPt;j++)
arrPtr[offsetPtr[*cellId]+j]=weights[j];//*volPtr[*cellId]