Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
#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"
Go to the source code of this file.
Functions | |
int | main (int argc, char *argv[]) |
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
Example of use of the mmg3d library (migrate from the mmg3d4 to the mmg3d library).
---------------------------— 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.