16 INTEGER ngeo,
ncle,
ncas,
nlim,
nfo1,
nfon,
nfo2,
nimp,
nsou,
nfrc,
nres 64 CHARACTER(LEN=PATH_LEN) fond(5)
76 CHARACTER(LEN=9) infmt 92 INTEGER,
PARAMETER ::
maxfam = 40
95 INTEGER,
PARAMETER ::
name_size = med_name_size
111 CHARACTER(LEN=TITLE_SIZE) :: title
113 CHARACTER(LEN=COMMENT_SIZE) :: description
129 INTEGER,
ALLOCATABLE :: ikles(:)
131 INTEGER,
ALLOCATABLE :: ipobo(:)
133 DOUBLE PRECISION,
ALLOCATABLE :: x(:)
135 DOUBLE PRECISION,
ALLOCATABLE :: y(:)
137 DOUBLE PRECISION,
ALLOCATABLE :: z(:)
139 CHARACTER(LEN=SNAME_SIZE),
ALLOCATABLE :: namecoo(:)
141 CHARACTER(LEN=SNAME_SIZE),
ALLOCATABLE :: unitcoo(:)
143 INTEGER,
ALLOCATABLE :: knolg(:)
148 CHARACTER(LEN=SNAME_SIZE),
ALLOCATABLE :: namevar(:)
150 CHARACTER(LEN=SNAME_SIZE),
ALLOCATABLE :: unitvar(:)
154 DOUBLE PRECISION,
ALLOCATABLE :: times(:)
156 DOUBLE PRECISION,
ALLOCATABLE :: results(:,:,:)
161 CHARACTER(LEN=NAME_SIZE),
ALLOCATABLE :: namefam(:)
163 INTEGER,
ALLOCATABLE :: idfam(:)
165 INTEGER,
ALLOCATABLE :: valfam(:)
167 INTEGER,
ALLOCATABLE :: ngroupfam(:)
169 CHARACTER(LEN=LNAME_SIZE),
ALLOCATABLE :: groupfam(:,:)
172 INTEGER,
ALLOCATABLE :: lihbor(:)
174 INTEGER,
ALLOCATABLE :: nbor(:)
181 INTEGER :: type_elem2
183 INTEGER,
ALLOCATABLE :: ikles2(:)
186 INTEGER,
ALLOCATABLE ::
color(:)
188 INTEGER,
ALLOCATABLE :: ncolor(:)
190 INTEGER,
ALLOCATABLE :: ncolor2(:)
203 CHARACTER(LEN=*),
INTENT(INOUT) :: STR
204 INTEGER,
INTENT(IN) :: N
207 IF (str(pos+1:pos+1).EQ.
'0')
THEN 208 IF(n.EQ.1)str(pos:pos)=
'U' 209 IF(n.EQ.2)str(pos:pos)=
'V' 210 IF(n.EQ.3)str(pos:pos)=
'W' 212 IF(n.EQ.1)str(pos:pos)=
'X' 213 IF(n.EQ.2)str(pos:pos)=
'Y' 214 IF(n.EQ.3)str(pos:pos)=
'Z' 219 CHARACTER(LEN=11) FUNCTION extens 230 WRITE(
extens(05:05),
'(I1)') n
231 ELSEIF(n.LT.100)
THEN 232 WRITE(
extens(04:05),
'(I2)') n
233 ELSEIF(n.LT.1000)
THEN 234 WRITE(
extens(03:05),
'(I3)') n
235 ELSEIF(n.LT.10000)
THEN 236 WRITE(
extens(02:05),
'(I4)') n
238 WRITE(
extens(01:05),
'(I5)') n
242 WRITE(
extens(11:11),
'(I1)') ipid
243 ELSEIF(ipid.LT.100)
THEN 244 WRITE(
extens(10:11),
'(I2)') ipid
245 ELSEIF(ipid.LT.1000)
THEN 246 WRITE(
extens(09:11),
'(I3)') ipid
247 ELSEIF(ipid.LT.10000)
THEN 248 WRITE(
extens(08:11),
'(I4)') ipid
250 WRITE(
extens(07:11),
'(I5)') ipid
269 mesh2%TITLE =
'NO TITLE' 270 mesh2%DESCRIPTION =
'NO DESCRIPTION' 295 WRITE(
lu,*)
'--------------------------------------------------' 296 WRITE(
lu,*)
'------CHECKING MESH OBJECT' 297 WRITE(
lu,*)
'--------------------------------------------------' 298 IF(
mesh2%TITLE.EQ.
' ')
WRITE(
lu,*)
'NO TITLE' 299 IF(
mesh2%DESCRIPTION.EQ.
' ')
WRITE(
lu,*)
'NO DESCRIPTION' 300 IF(
mesh2%NELEM.EQ.0)
WRITE(
lu,*)
'NO ELEMENTS, NELEM = 0' 301 IF(
mesh2%NPOIN.EQ.0)
WRITE(
lu,*)
'NO POINTS NPOIN = 0' 302 IF(
mesh2%NDP.EQ.0)
WRITE(
lu,*)
'NDP NOT INITIALISE' 303 IF(
mesh2%TYPE_ELEM.EQ.0)
WRITE(
lu,*)
'TYPE_ELEM NOT INITIALISE' 304 IF(
mesh2%NDIM.EQ.0)
WRITE(
lu,*)
'NDIM NOT INITIALISE' 305 IF(
mesh2%NVAR.NE.0)
THEN 306 IF(.NOT.
ALLOCATED(
mesh2%NAMEVAR))
307 &
WRITE(
lu,*)
'NAMEVAR NOT ALLOCATED' 308 IF(.NOT.
ALLOCATED(
mesh2%UNITVAR))
309 &
WRITE(
lu,*)
'UNITVAR NOT ALLOCATED' 311 IF(.NOT.
ALLOCATED(
mesh2%IKLES))
WRITE(
lu,*)
'IKLES NOT ALLOCATED' 312 IF(.NOT.
ALLOCATED(
mesh2%IPOBO))
WRITE(
lu,*)
'IPOBO NOT ALLOCATED' 313 IF(.NOT.
ALLOCATED(
mesh2%X))
WRITE(
lu,*)
'X NOT ALLOCATED' 314 IF(.NOT.
ALLOCATED(
mesh2%Y))
WRITE(
lu,*)
'Y NOT ALLOCATED' 315 IF(
mesh2%NDIM.EQ.3)
THEN 316 IF(.NOT.
ALLOCATED(
mesh2%Z))
WRITE(
lu,*)
'Z NOT ALLOCATED' 318 IF(.NOT.
ALLOCATED(
mesh2%NAMECOO))
319 &
WRITE(
lu,*)
'NAMECOO NOT ALLOCATED' 320 IF(.NOT.
ALLOCATED(
mesh2%UNITCOO))
321 &
WRITE(
lu,*)
'UNITCOO NOT ALLOCATED' 322 IF(
mesh2%TIMESTEP.NE.0)
THEN 323 IF(.NOT.
ALLOCATED(
mesh2%TIMES))
324 &
WRITE(
lu,*)
'TIMES NOT ALLOCATED' 325 IF(.NOT.
ALLOCATED(
mesh2%RESULTS))
326 &
WRITE(
lu,*)
'RESULTS NOT ALLOCATED' 328 IF(
mesh2%NFAM.NE.0)
THEN 329 IF(.NOT.
ALLOCATED(
mesh2%IDFAM))
330 &
WRITE(
lu,*)
'IDFAM NOT ALLOCATED' 331 IF(.NOT.
ALLOCATED(
mesh2%VALFAM))
332 &
WRITE(
lu,*)
'VALFAM NOT ALLOCATED' 333 IF(.NOT.
ALLOCATED(
mesh2%NAMEFAM))
334 &
WRITE(
lu,*)
'NAMEFAM NOT ALLOCATED' 336 IF(
mesh2%NPTFR.NE.0)
THEN 337 IF(.NOT.
ALLOCATED(
mesh2%LIHBOR))
338 &
WRITE(
lu,*)
'LIHBOR NOT ALLOCATED' 339 IF(.NOT.
ALLOCATED(
mesh2%NBOR))
340 &
WRITE(
lu,*)
'NBOR NOT ALLOCATED' 342 IF(
mesh2%NELEM2.NE.0)
THEN 343 IF(
mesh2%NDP2.EQ.0)
WRITE(
lu,*)
'NDP2 NOT INITIALISE' 344 IF(
mesh2%TYPE_ELEM2.EQ.0)
WRITE(
lu,*)
345 &
'TYPE_ELEM2 NOT INITIALISE' 346 IF(.NOT.
ALLOCATED(
mesh2%IKLES2))
347 &
WRITE(
lu,*)
'IKLES2 NOT ALLOCATED' 348 IF(.NOT.
ALLOCATED(
mesh2%NCOLOR))
349 &
WRITE(
lu,*)
'NCOLOR NOT ALLOCATED' 350 IF(.NOT.
ALLOCATED(
mesh2%NCOLOR2))
351 &
WRITE(
lu,*)
'NCOLOR2 NOT ALLOCATED' 354 WRITE(
lu,*)
'--------------------------------------------------' 355 WRITE(
lu,*)
'------DUMPING MESH OBJECT' 356 WRITE(
lu,*)
'--------------------------------------------------' 357 WRITE(
lu,*)
'---GENERIC INFORMATION' 358 WRITE(
lu,*)
'TITLE :',trim(
mesh2%TITLE)
359 WRITE(
lu,*)
'DESCRIPTION :',trim(
mesh2%DESCRIPTION)
360 WRITE(
lu,*)
'NUMBER OF DIMENSION :',
mesh2%NDIM
361 WRITE(
lu,*)
'COORDINATES NAMES :',
mesh2%NAMECOO
362 WRITE(
lu,*)
'COORDINATES UNTIS :',
mesh2%UNITCOO
363 SELECT CASE(
mesh2%TYPE_ELEM)
365 WRITE(
lu,*)
'ELEMENT TYPE : TRIANGLE' 367 WRITE(
lu,*)
'ELEMENT TYPE : QUADRATIC' 369 WRITE(
lu,*)
'ELEMENT TYPE : TETRAHEDRON' 371 WRITE(
lu,*)
'ELEMENT TYPE : PRISM' 373 WRITE(
lu,*)
'NUMBER OF ELEMENT :',
mesh2%NELEM
374 IF(
mesh2%NELEM2.NE.0)
THEN 375 SELECT CASE(
mesh2%TYPE_ELEM2)
377 WRITE(
lu,*)
'ELEMENT TYPE : TRIANGLE' 379 WRITE(
lu,*)
'ELEMENT TYPE : QUADRATIC' 381 WRITE(
lu,*)
'ELEMENT TYPE : TETRAHEDRON' 383 WRITE(
lu,*)
'ELEMENT TYPE : PRISM' 385 WRITE(
lu,*)
'NUMBER OF ELEMENT :',
mesh2%NELEM2
387 WRITE(
lu,*)
'NUMBER OF POINTS :',
mesh2%NPOIN
388 WRITE(
lu,*)
'---FAMILIES INFORMATION' 389 IF(
mesh2%NFAM.EQ.0)
THEN 390 WRITE(
lu,*)
'NO FAMILIES' 392 WRITE(
lu,*)
'NUMBER OF FAMILIES' 394 WRITE(
lu,*)
'NAMEFAM : ',
mesh2%NAMEFAM(i)
395 WRITE(
lu,*)
'VALFAM : ',
mesh2%VALFAM(i)
396 WRITE(
lu,*)
'IDFAM : ',
mesh2%IDFAM(i)
397 WRITE(
lu,*)
'NGROUP : ',
mesh2%NGROUPFAM(i)
398 IF(
mesh2%NGROUPFAM(i).NE.0)
THEN 399 DO j=1,
mesh2%NGROUPFAM(i)
400 WRITE(
lu,*)
'GROUP : ',trim(
mesh2%GROUPFAM(i,j))
405 WRITE(
lu,*)
'---RESULTS INFORMATION' 406 IF(
mesh2%TIMESTEP.EQ.0)
THEN 407 WRITE(
lu,*)
'NO RESULTS' 409 WRITE(
lu,*)
'NUMBER OF TIME STEPS :',
mesh2%TIMESTEP
410 WRITE(
lu,*)
'NUMBER OF VARIABLES :',
mesh2%NVAR
412 WRITE(
lu,*)
'NAME OF THE VARIABLE : ',
mesh2%NAMEVAR(i)
413 WRITE(
lu,*)
'UNIT OF THE VARIABLE : ',
mesh2%UNITVAR(i)
422 IF(
mesh2%NVAR.NE.0)
THEN 423 DEALLOCATE(
mesh2%NAMEVAR)
424 DEALLOCATE(
mesh2%UNITVAR)
426 DEALLOCATE(
mesh2%IKLES)
427 DEALLOCATE(
mesh2%IPOBO)
430 DEALLOCATE(
mesh2%NAMECOO)
431 DEALLOCATE(
mesh2%UNITCOO)
433 IF(
mesh2%TIMESTEP.NE.0)
THEN 434 DEALLOCATE(
mesh2%TIMES)
435 DEALLOCATE(
mesh2%RESULTS)
437 IF(
mesh2%NFAM.NE.0)
THEN 438 DEALLOCATE(
mesh2%NAMEFAM)
439 DEALLOCATE(
mesh2%IDFAM)
440 DEALLOCATE(
mesh2%VALFAM)
441 DEALLOCATE(
mesh2%NGROUPFAM)
442 DEALLOCATE(
mesh2%GROUPFAM)
444 IF(
mesh2%NPTFR.NE.0)
THEN 445 DEALLOCATE(
mesh2%LIHBOR)
446 DEALLOCATE(
mesh2%NBOR)
448 IF(
mesh2%NELEM2.NE.0)
THEN 449 DEALLOCATE(
mesh2%IKLES2)
451 IF(
ALLOCATED(
mesh2%NCOLOR))
DEALLOCATE(
mesh2%NCOLOR)
452 IF(
ALLOCATED(
mesh2%COLOR))
DEALLOCATE(
mesh2%COLOR)
453 IF(
ALLOCATED(
mesh2%NCOLOR2))
DEALLOCATE(
mesh2%NCOLOR2)
460 INTEGER,
INTENT(IN) :: VAL
461 CHARACTER(LEN=*),
INTENT(OUT) :: RES
463 WRITE(res,
'(A7,I1)')
'0000000',val
464 ELSE IF(val.LT.100)
THEN 465 WRITE(res,
'(A6,I2)')
'000000',val
466 ELSE IF(val.LT.1000)
THEN 467 WRITE(res,
'(A5,I3)')
'00000',val
468 ELSE IF(val.LT.10000)
THEN 469 WRITE(res,
'(A4,I4)')
'0000',val
470 ELSE IF(val.LT.100000)
THEN 471 WRITE(res,
'(A3,I5)')
'000',val
472 ELSE IF(val.LT.1000000)
THEN 473 WRITE(res,
'(A2,I6)')
'00',val
474 ELSE IF(val.LT.10000000)
THEN 475 WRITE(res,
'(A1,I7)')
'0',val
477 WRITE(res,
'(I8)') val
integer, parameter prism_elt_type
character(len=maxlenfile) nomcas
integer, parameter lname_size
character(len=maxlenfile) outfile
integer, parameter title_size
integer, parameter maxfam
subroutine rename_vector(STR, N)
integer, parameter triangle_elt_type
character(len=11) function extens(N, IPID)
character(len=maxlenfile) boundfile
character(len=maxlenfile) outlogfile
character(len=maxlenfile) infile
double precision, dimension(10, 2) som2
character(len=maxlenfile) outbndfile
character(len=maxlenfile) nomgeo
character(len=maxlenfile) nomfor
character(len=8) out_format
subroutine number2string(RES, VAL)
integer, parameter comment_size
character(len=maxlenfile) nomfrc
character(len=maxlenfile) nomfon
double precision, dimension(10, 2) som
character(len=maxlenfile) nomsou
character(len=maxlenfile) nomres
integer, parameter name_size
integer, parameter sname_size
integer, parameter tetrahedron_elt_type
character(len=maxlenfile) nomimp
integer, parameter quadrangle_elt_type
character(len=path_len), dimension(5) fond
character(len=maxlenfile) nomfo1
character(len=maxlenfile) nombnd2
character(len=maxlenfile) nomlim
character(len=maxlenfile) nomfo2
character(len=maxlenfile) logfile