141 m1 = &met->
m[met->
size*ip1];
142 m2 = &met->
m[met->
size*ip2];
143 mm = &met->
m[met->
size*ip];
167 int ifa0, ifa1, iloc,
ier;
193 fprintf(stderr,
" %s: %d: interpreg_ani error.\n",__func__,__LINE__);
194 fprintf(stderr,
" Elt %"MMG5_PRId
": %"MMG5_PRId
" %"MMG5_PRId
" %"MMG5_PRId
" %"MMG5_PRId
"\n",
216 double dma[6],dmb[6],mai[6],mbi[6],mi[6];
218 static int8_t mmgWarn=0;
220 for (i=0; i<6; i++) {
227 fprintf(stderr,
"\n ## Warning: %s: at least 1 invalid metric.\n",__func__);
232 mi[i] = (1.0-t)*mai[i] + t*mbi[i];
237 fprintf(stderr,
"\n ## Warning: %s: at least 1 invalid metric.\n",__func__);
242 for (i=0; i<6; i++) mp[i] = mai[i];
280 for ( l=0; l<6; ++l )
281 m1[l] = met->
m[6*ip1+l];
286 for ( l=0; l<6; ++l )
287 m2[l] = met->
m[6*ip2+l];
292 fprintf(stderr,
" ## Error: %s:\n",__func__);
293 fprintf(stderr,
" pp1 : %d %d \n",
295 fprintf(stderr,
" m1 %e %e %e %e %e %e\n",
296 m1[0],m1[1],m1[2],m1[3],m1[4],m1[5]);
297 fprintf(stderr,
" pp2 : %d %d \n",
299 fprintf(stderr,
" m2 %e %e %e %e %e %e\n",
300 m2[0],m2[1],m2[2],m2[3],m2[4],m2[5]);
301 fprintf(stderr,
" mr %e %e %e %e %e %e\n",
302 mr[0],mr[1],mr[2],mr[3],mr[4],mr[5]);
326 met->
m[ip] = cb[0]*met->
m[pt->
v[0]]+cb[1]*met->
m[pt->
v[1]] +
327 cb[2]*met->
m[pt->
v[2]]+cb[3]*met->
m[pt->
v[3]];
349 double dm1[6],
double dm2[6],
double dm3[6]) {
350 double m0i[6],m1i[6],m2i[6],m3i[6],mi[6];
352 static int8_t mmgWarn=0;
358 fprintf(stderr,
"\n ## Warning: %s: at least 1 invalid metric.\n",__func__);
363 mi[i] = cb[0]*m0i[i] + cb[1]*m1i[i] + cb[2]*m2i[i] + cb[3]*m3i[i];
368 fprintf(stderr,
"\n ## Warning: %s: at least 1 invalid metric.\n",__func__);
373 for (i=0; i<6; i++) met->
m[met->
size*ip+i] = m0i[i];
394 double dm0[6],dm1[6],dm2[6],dm3[6];
400 for (i=0; i<6; i++) {
401 dm0[i] = met->
m[met->
size*pt->
v[0]+i];
406 for (i=0; i<6; i++) {
407 dm0[i] = met->
m[met->
size*pt->
v[0]+i];
412 for (i=0; i<6; i++) {
413 dm1[i] = met->
m[met->
size*pt->
v[1]+i];
418 for (i=0; i<6; i++) {
419 dm1[i] = met->
m[met->
size*pt->
v[1]+i];
424 for (i=0; i<6; i++) {
425 dm2[i] = met->
m[met->
size*pt->
v[2]+i];
430 for (i=0; i<6; i++) {
431 dm2[i] = met->
m[met->
size*pt->
v[2]+i];
436 for (i=0; i<6; i++) {
437 dm3[i] = met->
m[met->
size*pt->
v[3]+i];
442 for (i=0; i<6; i++) {
443 dm3[i] = met->
m[met->
size*pt->
v[3]+i];
465 double dm0[6],dm1[6],dm2[6],dm3[6];
469 for (i=0; i<6; i++) {
470 dm0[i] = met->
m[met->
size*pt->
v[0]+i];
473 for (i=0; i<6; i++) {
474 dm1[i] = met->
m[met->
size*pt->
v[1]+i];
477 for (i=0; i<6; i++) {
478 dm2[i] = met->
m[met->
size*pt->
v[2]+i];
481 for (i=0; i<6; i++) {
482 dm3[i] = met->
m[met->
size*pt->
v[3]+i];
int MMG5_moymet(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt, double *m1)
int MMG5_interp_iso(double *ma, double *mb, double *mp, double t)
int MMG5_mmgIntmet33_ani(double *m, double *n, double *mr, double s)
int MMG5_interpreg_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt, int8_t i, double s, double mr[6])
int MMG5_intridmet(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int ip1, MMG5_int ip2, double s, double v[3], double mr[6])
int MMG5_interp4bar33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int ip, double cb[4])
int MMG3D_intmet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, MMG5_int ip, double s)
int MMG5_intvolmet(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, double s, double mr[6])
int MMG5_interp4bar_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int ip, double cb[4])
int MMG5_interp4bar_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int ip, double cb[4])
int MMG5_intmet_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, MMG5_int ip, double s)
int MMG5_intmet_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, MMG5_int ip, double s)
static int MMG5_intregvolmet(double *ma, double *mb, double *mp, double t)
static int MMG5_interp4barintern(MMG5_pSol met, MMG5_int ip, double cb[4], double dm0[6], double dm1[6], double dm2[6], double dm3[6])
int MMG5_intregmet(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, double s, double mr[6])
MMG5_int MMG3D_indPt(MMG5_pMesh mesh, MMG5_int kp)
static const int8_t MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
static const uint8_t MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
static const uint8_t MMG5_ifar[6][2]
ifar[i][]: faces sharing the ith edge of the tetra
void MMG5_tet2tri(MMG5_pMesh mesh, MMG5_int k, int8_t ie, MMG5_Tria *ptt)
MMG5_int MMG3D_indElt(MMG5_pMesh mesh, MMG5_int kel)
#define MG_SIN_OR_NOM(tag)
int MMG5_invmat(double *m, double *mi)
Structure to store points of a MMG mesh.
Structure to store surface points of a MMG mesh.
Structure to store the surface tetrahedra of a MMG mesh.