34 INTEGER :: IJK, TOTAL_FACETS, LC
36 CHARACTER(LEN=100) :: FN
39 WRITE(fn,
'("FACETS_DG_GRID.DAT")')
41 WRITE(fn,
'("FACETS_DG_GRID_",I5.5,".DAT")')
mype 44 OPEN(1001, file=trim(fn))
48 IF(total_facets < 1) cycle
49 WRITE(1001,2000) ijk, total_facets
55 CLOSE(1001, status =
"keep")
57 2000
FORMAT(2/2x,
'DG CELL: ',i10,3x,
'Total STLs: ',i4)
97 INTEGER,
INTENT(IN) :: STL_TYPE
99 INTEGER :: LC, lSTART, lEND
100 CHARACTER(len=128) :: FNAME
104 SELECT CASE(stl_type)
106 lstart = stl_start(base_stl)
107 lend=stl_end(base_stl)
108 fname=
'BASE_FACETS.stl' 110 lstart = stl_start(bcwalls_stl)
111 lend=stl_end(bcwalls_stl)
112 fname=
'BCWALLS_FACETS.stl' 114 lstart = stl_start(imprmbl_stl)
115 lend=stl_end(imprmbl_stl)
116 fname=
'IMPRMBL_FACETS.stl' 120 fname=
'DEFAULT_FACETS.stl' 124 fname=
'ALL_FACETS.stl' 127 IF(lend < lstart)
THEN 128 WRITE(
err_msg,
"('No FACETS to report: ',A)") trim(fname)
133 OPEN(unit=444, file=trim(fname))
135 WRITE(444,*)
'solid vcg' 137 WRITE(444,*)
' facet normal ', norm_face(:,lc)
138 WRITE(444,*)
' outer loop' 139 WRITE(444,*)
' vertex ', vertex(1,1:3,lc)
140 WRITE(444,*)
' vertex ', vertex(2,1:3,lc)
141 WRITE(444,*)
' vertex ', vertex(3,1:3,lc)
142 WRITE(444,*)
' endloop' 143 WRITE(444,*)
' endfacet' 145 WRITE(444,*)
'endsolid vcg' 191 LOGICAL,
INTENT(IN),
OPTIONAL :: WRITE_EACH_CELL
192 INTEGER,
INTENT(IN),
OPTIONAL :: STL_TYPE
194 INTEGER :: IJK, LC1, LC2
195 INTEGER :: lSTART, lEND
196 CHARACTER(LEN=8) :: FID, IDX
199 LOGICAL,
ALLOCATABLE :: WRITE_FACET(:)
203 IF(
present(write_each_cell)) each_cell = write_each_cell
205 ALLOCATE (write_facet(dim_stl))
209 IF(
present(stl_type))
THEN 210 SELECT CASE(stl_type)
212 lstart = stl_start(base_stl)
213 lend=stl_end(base_stl)
216 lstart = stl_start(bcwalls_stl)
217 lend=stl_end(bcwalls_stl)
220 lstart = stl_start(imprmbl_stl)
221 lend=stl_end(imprmbl_stl)
224 lstart = stl_start(default_stl)
225 lend=stl_end(default_stl)
239 OPEN(unit=444,file=
'DG_FACETS_'//trim(fid)//&
240 '.stl', status=
'UNKNOWN')
242 WRITE(idx,
"(I8.8)")
mype 243 OPEN(unit=444,file=
'DG_FACETS_'//trim(fid)//&
244 '_'//idx//
'.stl', status=
'UNKNOWN')
247 write(444,*)
'solid vcg' 249 IF(facets_at_dg(ijk)%COUNT< 1) cycle
253 DO lc1 = 1, facets_at_dg(ijk)%COUNT
254 lc2 = facets_at_dg(ijk)%ID(lc1)
256 IF(lc2 < lstart .OR. lc2 > lend) &
257 write_facet(lc2) = .false.
259 IF(write_facet(lc2))
THEN 260 write(444,*)
' facet normal ', norm_face(:,lc2)
261 write(444,*)
' outer loop' 262 write(444,*)
' vertex ', vertex(1,:,lc2)
263 write(444,*)
' vertex ', vertex(2,:,lc2)
264 write(444,*)
' vertex ', vertex(3,:,lc2)
265 write(444,*)
' endloop' 266 write(444,*)
' endfacet' 267 write_facet(lc2) = .false.
271 write(444,*)
'endsolid vcg' 275 DEALLOCATE (write_facet)
314 INTEGER,
INTENT(IN) :: DG
315 INTEGER,
INTENT(IN),
OPTIONAL :: STL_TYPE
317 INTEGER :: ID, FACET, lCOUNT
318 INTEGER :: lSTART, lEND
321 CHARACTER(LEN=8) :: IDX, FID
323 IF(
present(stl_type))
THEN 324 SELECT CASE(stl_type)
326 lstart = stl_start(base_stl)
327 lend=stl_end(base_stl)
330 lstart = stl_start(bcwalls_stl)
331 lend=stl_end(bcwalls_stl)
334 lstart = stl_start(imprmbl_stl)
335 lend=stl_end(imprmbl_stl)
338 lstart = stl_start(default_stl)
339 lend=stl_end(default_stl)
353 DO facet=1, facets_at_dg(dg)%COUNT
354 id = facets_at_dg(dg)%ID(facet)
355 IF(id >= lstart .AND. id <= lend) lcount = lcount+1
358 IF(facets_at_dg(dg)%COUNT < 1)
RETURN 360 write(idx,
"(I8.8)") dg
361 open(unit=555,file=
'dg_'//idx//
'_'//trim(fid)//&
362 '.stl',status=
'UNKNOWN')
364 write(555,*)
'solid vcg' 366 DO facet=1, facets_at_dg(dg)%COUNT
368 id = facets_at_dg(dg)%ID(facet)
369 IF(id < lstart .OR. id > lend) cycle
371 write(555,*)
' facet normal ', norm_face(:,id)
372 write(555,*)
' outer loop' 373 write(555,*)
' vertex ', vertex(1,1:3,id)
374 write(555,*)
' vertex ', vertex(2,1:3,id)
375 write(555,*)
' vertex ', vertex(3,1:3,id)
376 write(555,*)
' endloop' 377 write(555,*)
' endfacet' 401 integer,
intent(in) :: this
404 character(len=4) :: IDX
405 character(len=4) :: IPE
408 write(idx,
"(I4.4)") this
409 write(ipe,
"(I4.4)")
mype 410 open(unit=555, file=
'idv_'//idx//
'_'//ipe//
'.stl',&
412 write(555,*)
'solid vcg' 413 write(555,*)
' facet normal ',
norm_face(:,this)
414 write(555,*)
' outer loop' 415 write(555,*)
' vertex ', vertex(1,1:3,this)
416 write(555,*)
' vertex ', vertex(2,1:3,this)
417 write(555,*)
' vertex ', vertex(3,1:3,this)
418 write(555,*)
' endloop' 419 write(555,*)
' endfacet'
type(facets_to_dg), dimension(:), allocatable facets_at_dg
subroutine stl_dbg_write_stl_from_dg(WRITE_EACH_CELL, STL_TYPE)
subroutine stl_dbg_write_facets(STL_TYPE)
double precision, dimension(3, 3, dim_stl) vertex
integer, dimension(4) stl_end
integer, parameter bcwalls_stl
integer, dimension(4) stl_start
integer, parameter all_stl
integer, parameter base_stl
integer, parameter dim_stl
integer, parameter default_stl
subroutine write_this_stl(this)
double precision, dimension(3, dim_stl) norm_face
character(len=line_length), dimension(line_count) err_msg
subroutine stl_dbg_dg_report
integer, parameter imprmbl_stl
subroutine write_stls_this_dg(DG, STL_TYPE)
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)