MMG_pMesh mymmgmesh
mymmgmesh = (MMG_pMesh)calloc(1,sizeof(MMG_Mesh));
mymmgmesh->np = nbpoint;
mymmgmesh->nt = nbtri;
mymmgmesh->ne = nbtetra;
mymmgmesh->npmax = nbpointmax;
mymmgmesh->ntmax = nbtrimax;
mymmgmesh->nemax = nbtetramax;
mymmgmesh->point = (MMG_pPoint)calloc(mymmgmesh->npmax+1,sizeof(MMG_Point));
mymmgmesh->tetra = (MMG_pTetra)calloc(mymmgmesh->nemax+1,sizeof(MMG_Tetra));
mymmgmesh->tria = (MMG_pTria) calloc(mymmgmesh->ntmax+1,sizeof(MMG_Tria));
mymmgmesh->adja = (int*)calloc(4*mymmgmesh->nemax+5,sizeof(int));
mymmgmesh->disp = (MMG_pDispl)calloc(mymmgmesh->npmax+1,sizeof(MMG_Displ));
mymmgmesh->disp->mv = (double*)calloc(3*(mymmgmesh->npmax+1),sizeof(double));
mymmgmesh->disp->alpha = (short*)calloc(mymmgmesh->npmax+1,sizeof(short));
MMG_pMesh mymmgmesh;
MMG_pPoint ppt;
for (k=1; k<=mymmgmesh->np; k++) {
ppt = &mymmgmesh->point[k];
ppt->c[0] = coorx;
ppt->c[1] = coory;
ppt->c[2] = coorz;
ppt->ref = logic;
}
NB :The node are numbered from to mymmgmesh->np in a contiguous way.
MMG_pMesh mymmgmesh;
MMG_pTetra ptetra;
for (k=1; k<=mymmgmesh->ne; k++) {
ptetra = &mymmgmesh->tetra[k];
ptetra->v[0] = num1;
ptetra->v[1] = num2;
ptetra->v[2] = num3;
ptetra->v[3] = num4;
ptetra->ref = logic;
}
NB :The tetrahedra are numbered from to mymmgmesh->ne in a contiguous way.
MMG_pMesh mymmgmesh;
MMG_pTria ptriangle;
for (k=1; k<=mymmgmesh->nt; k++) {
ptriangle = &mymmgmesh->tria[k];
ptriangle->v[0] = num1;
ptriangle->v[1] = num2;
ptriangle->v[2] = num3;
ptriangle->ref = logic;
}
NB :The node are numbered from to mymmgmesh->nt in a contiguous way
MMG_pMesh mymmgmesh;
MMG_pDispl pd;
for (k=1; k<mymmgmesh->np; k++) {
pd = &mesh->mymmgdisp[k];
pd->mv[0] = depx;
pd->mv[1] = depy;
pd->mv[2] = depz;
}