Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Functions
main.c File Reference
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <float.h>
#include "mmg/mmg3d/libmmg3d.h"
Include dependency graph for main.c:

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

============================================================================= This file is part of the mmg software package for the tetrahedral mesh modification. Copyright (c) Bx INP/Inria/UBordeaux/UPMC, 2004- .

mmg is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

mmg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License and of the GNU General Public License along with mmg (in files COPYING.LESSER and COPYING). If not, see http://www.gnu.org/licenses/. Please read their terms carefully and

use this copy of the mmg distribution only if you accept them.

Example of use of the mmg3d library (migrate from the mmg3d4 to the mmg3d library).

Author
Charles Dapogny (LJLL, UPMC)
Cécile Dobrzynski (Inria / IMB, Université de Bordeaux)
Pascal Frey (LJLL, UPMC)
Algiane Froehly (Inria / IMB, Université de Bordeaux)
Version
5

---------------------------— STEP I -----------------------—

1) Initialisation of mesh and sol structures

2) Build mesh in MMG5 format

Two solutions: just use the MMG3D_loadMesh function that will read a .mesh(b) file formatted or manually set your mesh using the MMG3D_Set* functions

Manually set of the mesh

a) give the size of the mesh: 12 vertices, 12 tetra,0 prisms, 20 triangles, 0 quads, 0 edges

b) give the vertices: for each vertex, give the coordinates, the reference and the position in mesh of the vertex

3) Build sol in MMG5 format

Two solutions: just use the MMG3D_loadSol function that will read a .sol(b) file formatted or manually set your sol using the MMG3D_Set* functions

Manually set of the sol

a) give info for the sol structure: sol applied on vertex entities, number of vertices=12, the sol is scalar

b) give solutions values and positions

4) If you don't use the API functions, you MUST call the MMG3D_Set_handGivenMesh() function. Don't call it if you use the API functions

5) (not mandatory): check if the number of given entities match with mesh size

---------------------------— STEP II -----------------------—

remesh function

---------------------------— STEP III -----------------------—

get results

Two solutions: just use the MMG3D_saveMesh/MMG3D_saveSol functions that will write .mesh(b)/.sol formatted files or manually get your mesh/sol using the MMG3D_getMesh/MMG3D_getSol functions

1) Automatically save the mesh

2) Automatically save the solution

3) Free the MMG3D5 structures

Definition at line 51 of file main.c.

Here is the call graph for this function: