diff --git a/Mesh/qualityMeasures.cpp b/Mesh/qualityMeasures.cpp index daa9501cdb9bb51125b5f2e5865024a0c2f7bdf3..13fc34085e97e44a092f8186cf8f90c420f0872a 100644 --- a/Mesh/qualityMeasures.cpp +++ b/Mesh/qualityMeasures.cpp @@ -176,18 +176,22 @@ double qmTet(const double &x1, const double &y1, const double &z1, static double mesh_functional_distorsion(MTriangle *t, double u, double v) { // compute uncurved element jacobian d_u x and d_v x - double mat[2][3]; - t->jac(1, 0, 0, 0, 0, mat); + double mat[3][3]; + // double d1 = t->getPrimaryJacobian(u,v,0,mat); + + double d1 = t->getJacobian(u,v,0,mat); double v1[3] = {mat[0][0], mat[0][1], mat[0][2]}; double v2[3] = {mat[1][0], mat[1][1], mat[1][2]}; double normal1[3]; prodve(v1, v2, normal1); double nn = sqrt(normal1[0]*normal1[0] + - normal1[1]*normal1[1] + - normal1[2]*normal1[2]); + normal1[1]*normal1[1] + + normal1[2]*normal1[2]); // compute uncurved element jacobian d_u x and d_v x - t->jac(u, v, 0, mat); + + double d2 = t->getJacobian(u, v, 0, mat); + double v1b[3] = {mat[0][0], mat[0][1], mat[0][2]}; double v2b[3] = {mat[1][0], mat[1][1], mat[1][2]}; double normal[3]; @@ -231,10 +235,12 @@ static double mesh_functional_distorsion(MTetrahedron *t, double u, double v, do { // compute uncurved element jacobian d_u x and d_v x double mat[3][3]; - t->jac(1, 0, 0, 0, 0, mat); - const double det1 = det3x3(mat); - t->jac(u, v, w, mat); - const double detN = det3x3(mat); + // const double det1 = t->getPrimaryJacobian(u,v,w, mat); + + const double det1 = t->getJacobian(u,v,w, mat); + // const double det1 = det3x3(mat); + const double detN = t->getJacobian(u, v, w, mat); + // const double detN = det3x3(mat); // printf("%g %g %g = %g %g\n",u,v,w,det1,detN); diff --git a/Mesh/qualityMeasures.h b/Mesh/qualityMeasures.h index 198c4188c6f43a38ba3d24205620a51a1a059ded..177109f34d67e83fe54e38cf7bba0f7feb266d69 100644 --- a/Mesh/qualityMeasures.h +++ b/Mesh/qualityMeasures.h @@ -11,10 +11,11 @@ class BDS_Face; class MVertex; class MTriangle; class MTetrahedron; +class MElement; + enum gmshQualityMeasure4Triangle {QMTRI_RHO, QMTRI_COND}; enum gmshQualityMeasure4Tet{QMTET_1, QMTET_2, QMTET_3, QMTET_ONE, QMTET_COND}; - double qmDistorsionOfMapping (MTriangle *e); double qmDistorsionOfMapping (MTetrahedron *e);