45#include "mmg/mmgs/libmmgsf.h"
47 mmg5_data_ptr_t :: mmgmesh
48 mmg5_data_ptr_t :: mmgls,mmgmet
49 INTEGER(MMG5F_INT) :: k, np
51 CHARACTER(len=300) :: exec_name,inname,outname,lsname
53 INTEGER,
PARAMETER :: immg = mmg5f_int
55 WRITE(*,*)
" -- TEST MMGSLIB"
57 argc = command_argument_count();
58 CALL get_command_argument(0, exec_name)
61 print*,
" Usage: ",trim(exec_name),
" meshfile lsfile meshout"
66 CALL get_command_argument(1, inname)
67 CALL get_command_argument(2, lsname)
68 CALL get_command_argument(3, outname)
85 CALL mmgs_init_mesh(mmg5_arg_start, &
86 mmg5_arg_ppmesh,mmgmesh,mmg5_arg_ppls,mmgls, &
87 mmg5_arg_ppmet,mmgmet, &
93 CALL mmgs_set_iparameter(mmgmesh,mmgls,mmgs_iparam_iso, 1_immg,ier)
94 IF ( ier == 0 )
CALL exit(101)
101 CALL mmgs_loadmesh(mmgmesh,trim(adjustl(inname)),&
102 len(trim(adjustl(inname))),ier)
103 IF ( ier == 0 )
CALL exit(102)
110 CALL mmgs_loadsol(mmgmesh,mmgls,trim(adjustl(lsname)),&
111 len(trim(adjustl(lsname))),ier)
121 CALL mmgs_get_meshsize(mmgmesh,np,%val(0_immg),%val(0_immg),ier)
127 CALL mmgs_set_solsize(mmgmesh,mmgmet,mmg5_vertex,np,mmg5_tensor,ier)
136 CALL mmgs_set_tensorsol(mmgmet,10000.d0,0.d0,0.d0,100.d0,0.d0,1.d0,k,ier)
143 CALL mmgs_chk_meshdata(mmgmesh,mmgls,ier)
144 IF ( ier /= 1 )
CALL exit(105)
150 CALL mmgs_mmgsls(mmgmesh,mmgls,mmgmet,ier)
152 IF ( ier == mmg5_strongfailure )
THEN
153 print*,
"BAD ENDING OF MMGSLIB: UNABLE TO SAVE MESH"
155 ELSE IF ( ier == mmg5_lowfailure )
THEN
156 print*,
"BAD ENDING OF MMGSLIB"
166 CALL mmgs_savemesh(mmgmesh,trim(adjustl(outname)),&
167 len(trim(adjustl(outname))),ier)
173 CALL mmgs_savesol(mmgmesh,mmgmet,trim(adjustl(outname)),&
174 len(trim(adjustl(outname))),ier)
180 CALL mmgs_free_all(mmg5_arg_start, &
181 mmg5_arg_ppmesh,mmgmesh,mmg5_arg_ppls,mmgls, &
182 mmg5_arg_ppmet,mmgmet, &
int main(int argc, char *argv[])