Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
main.F90
Go to the documentation of this file.
1
5
6PROGRAM main
7
8 IMPLICIT NONE
9
11 ! if the header file is in the "include" directory
12 ! #include "libmmgsf.h"
13
14 ! if the header file is in "include/mmg/mmgs"
15#include "mmg/mmgs/libmmgsf.h"
16
17
18 mmg5_data_ptr_t :: mmgmesh
19 mmg5_data_ptr_t :: mmgsol
20 INTEGER :: ier,argc
21 CHARACTER(len=300) :: exec_name,filename,fileout
22
23 WRITE(*,*) " -- TEST MMGSLIB"
24
25 argc = command_argument_count();
26 CALL get_command_argument(0, exec_name)
27
28 IF ( argc /=2 ) THEN
29 print*," Usage: ",trim(exec_name)," input_file_name output_file_name"
30 CALL exit(1);
31 ENDIF
32
33 ! Name and path of the mesh file
34 CALL get_command_argument(1, filename)
35 CALL get_command_argument(2, fileout)
36
45 mmgmesh = 0
46 mmgsol = 0
47
48 CALL mmgs_init_mesh(mmg5_arg_start, &
49 mmg5_arg_ppmesh,mmgmesh,mmg5_arg_ppmet,mmgsol, &
50 mmg5_arg_end)
51
55
57 CALL mmgs_loadmesh(mmgmesh,trim(adjustl(filename)),&
58 len(trim(adjustl(filename))),ier)
59 IF ( ier /= 1 ) CALL exit(102)
60
64
66 CALL mmgs_loadsol(mmgmesh,mmgsol,trim(adjustl(filename)),&
67 len(trim(adjustl(filename))),ier)
68 IF ( ier /= 1 ) THEN
69 CALL exit(104)
70 ENDIF
71
73 CALL mmgs_chk_meshdata(mmgmesh,mmgsol,ier)
74 IF ( ier /= 1 ) CALL exit(105)
75
80 CALL mmgs_mmgslib(mmgmesh,mmgsol,ier)
81 IF ( ier == mmg5_strongfailure ) THEN
82 print*,"BAD ENDING OF MMGSLIB: UNABLE TO SAVE MESH"
83 stop 2
84 ELSE IF ( ier == mmg5_lowfailure ) THEN
85 print*,"BAD ENDING OF MMGSLIB"
86 ENDIF
87
93
95 CALL mmgs_savemesh(mmgmesh,trim(adjustl(fileout)),len(trim(adjustl(fileout))),ier)
96 IF ( ier /= 1 ) CALL exit(106)
97
99 CALL mmgs_savesol(mmgmesh,mmgsol,trim(adjustl(fileout)),len(trim(adjustl(fileout))),ier)
100 IF ( ier /= 1 ) CALL exit(107)
101
103 CALL mmgs_free_all(mmg5_arg_start, &
104 mmg5_arg_ppmesh,mmgmesh,mmg5_arg_ppmet,mmgsol, &
105 mmg5_arg_end)
106
107END PROGRAM main
int main(int argc, char *argv[])
Definition mmg2d.c:275