9 subroutine heat_echo ( p, hecMESH, fstrHEAT )
17 type(hecmwst_local_mesh) :: hecMESH
21 integer(kind=kint) :: i, j, itype, is, iE, ic_type, nn, icel, isect, mid, ic, im, jm, jS, jE, kc, km
22 real(kind=kreal) :: val, temp, aa, bb, time, x, y, z
23 integer(kind=kint) :: ig1, iS0, iE0, ik, in, inod, nid
24 integer(kind=kint) :: nids(20)
31 write(
ilog,*)
'global parameters ***********'
37 write(
ilog,*)
'for heat ...'
46 write(
ilog,*)
'ANALYSIS CONTROL for HEAT'
56 write(
ilog,*)
'fstrPARAM ********************'
58 write(
ilog,*)
'solution_type ',p%solution_type
59 write(
ilog,*)
'solver_method ',p%solver_method
61 write(
ilog,*)
'!!STATIC !HEAT'
62 write(
ilog,*) p%analysis_n
63 if(
associated( p%dtime))
write(
ilog,*)
'dtime ', p%dtime
64 if(
associated( p%etime))
write(
ilog,*)
'etime ', p%etime
65 if(
associated( p%dtmin))
write(
ilog,*)
'dtmin ', p%dtmin
66 if(
associated( p%delmax))
write(
ilog,*)
'delmax ', p%delmax
67 if(
associated( p%itmax))
write(
ilog,*)
'itmax ', p%itmax
68 if(
associated( p%eps))
write(
ilog,*)
'eps ', p%eps
69 write(
ilog,*)
'ref_temp ', p%ref_temp
71 write(
ilog,*)
'output control'
72 write(
ilog,*)
'fg_echo ', p%fg_echo
73 write(
ilog,*)
'fg_result ', p%fg_result
74 write(
ilog,*)
'fg_visual ', p%fg_visual
76 write(
ilog,*)
'for heat ...'
77 write(
ilog,*)
'fg_neutral ', p%fg_neutral
78 write(
ilog,*)
'fg_irres ', p%fg_irres
79 write(
ilog,*)
'fg_iwres ', p%fg_iwres
80 write(
ilog,*)
'nrres ', p%nrres
81 write(
ilog,*)
'nprint ', p%nprint
83 write(
ilog,*)
'index table for global node ID sorting'
84 write(
ilog,*)
'n_node ', p%n_node
85 if(
associated( p%global_local_ID))
write(
ilog,*)
'global_local_ID ', p%global_local_ID
92 write(
ilog,*)
'### Nodes'
93 write(
ilog,*)
'### Number of nodes',hecmesh%n_node
94 write(
ilog,*)
'ID X Y Z'
96 nid = hecmesh%global_node_ID(i)
97 x = hecmesh%node(3*i-2)
98 y = hecmesh%node(3*i-1)
100 write(
ilog,*) nid,x,y,z
110 write(
ilog,*)
'### Elements'
112 do itype= 1, hecmesh%n_elem_type
113 is= hecmesh%elem_type_index(itype-1) + 1
114 ie= hecmesh%elem_type_index(itype )
115 ic_type= hecmesh%elem_type_item(itype)
118 nn = hecmw_get_max_node(ic_type)
122 is= hecmesh%elem_node_index(icel-1)
124 if( hecmesh%n_refine > 0 )
then
125 nids(j)= hecmesh%elem_node_item (is+j)
127 nids(j)= hecmesh%global_node_ID( hecmesh%elem_node_item (is+j))
131 isect= hecmesh%section_ID(icel)
133 mid= hecmesh%section%sect_mat_ID_item(isect)
134 write(
ilog,*)
'### Element ID=',hecmesh%global_elem_ID(icel)
135 write(
ilog,*) ic_type,isect,mid
136 write(
ilog,*) (nids(j),j=1,nn)
145 write(
ilog,*)
'### Material'
148 do im = 1, hecmesh%material%n_mat
150 write(
ilog,*)
' Material No. =', im
153 js= hecmesh%material%mat_TABLE_index(ic-1) + 1
154 je= hecmesh%material%mat_TABLE_index(ic )
156 if (jm.eq.1)
write(
ilog,*)
' Density Temperature functionA functionB'
157 if (jm.eq.2)
write(
ilog,*)
' Specific heat Temperature functionA functionB'
158 if (jm.eq.3)
write(
ilog,*)
' Conductivity Temperature functionA functionB'
162 val = hecmesh%material%mat_VAL (km)
163 temp = hecmesh%material%mat_TEMP(km)
164 if (jm.eq.1) aa = fstrheat%RHOfuncA(im,kc)
165 if (jm.eq.1) bb = fstrheat%RHOfuncB(im,kc)
166 if (jm.eq.2) aa = fstrheat%CPfuncA(im,kc)
167 if (jm.eq.2) bb = fstrheat%CPfuncB(im,kc)
168 if (jm.eq.3) aa = fstrheat%CONDfuncA(im,kc)
169 if (jm.eq.3) bb = fstrheat%CONDfuncB(im,kc)
170 write(
ilog,
'(1p4e13.4)') val,temp,aa,bb
172 if (jm.eq.1) aa = fstrheat%RHOfuncA(im,kc+1)
173 if (jm.eq.1) bb = fstrheat%RHOfuncB(im,kc+1)
174 if (jm.eq.2) aa = fstrheat%CPfuncA(im,kc+1)
175 if (jm.eq.2) bb = fstrheat%CPfuncB(im,kc+1)
176 if (jm.eq.3) aa = fstrheat%CONDfuncA(im,kc+1)
177 if (jm.eq.3) bb = fstrheat%CONDfuncB(im,kc+1)
178 write(
ilog,
'(26x,1p2e13.4)') aa,bb
187 write(
ilog,*)
'### Ngroup'
189 do ig1= 1, hecmesh%node_group%n_grp
191 write(
ilog,
'(a80)') hecmesh%node_group%grp_name(ig1)
192 is0= hecmesh%node_group%grp_index(ig1-1) + 1
193 ie0= hecmesh%node_group%grp_index(ig1 )
195 in = hecmesh%node_group%grp_item(ik)
205 write(
ilog,*)
'### Egroup'
207 do ig1= 1, hecmesh%elem_group%n_grp
209 write(
ilog,
'(a80)') hecmesh%elem_group%grp_name(ig1)
210 is0= hecmesh%elem_group%grp_index(ig1-1) + 1
211 ie0= hecmesh%elem_group%grp_index(ig1 )
213 in = hecmesh%elem_group%grp_item(ik)
223 write(
ilog,*)
'### Boundary'
225 write(
ilog,*)
' T_FIX_tot :', fstrheat%T_FIX_tot
226 write(
ilog,*)
' No./ NID/ amp/ TEMP-BOUNDARY '
227 do i = 1, fstrheat%T_FIX_tot
228 inod = hecmesh%global_node_ID( fstrheat%T_FIX_node(i) )
229 write(
ilog,
'(2i10,i5,1PE15.7)') i, inod, fstrheat%T_FIX_ampl(i) &
230 , fstrheat%T_FIX_val (i)
233 write(
ilog,*)
' Q_NOD_tot :', fstrheat%Q_NOD_tot
234 write(
ilog,*)
' No./ NID/ amp/ Q-POINT '
235 do i = 1, fstrheat%Q_NOD_tot
236 in = hecmesh%global_node_ID( fstrheat%Q_NOD_node(i) )
237 write(
ilog,
'(2i10,i5,1PE15.7)') i, inod, fstrheat%Q_NOD_ampl(i) &
238 , fstrheat%Q_NOD_val (i)
241 write(
ilog,*)
' Q_VOL_tot :', fstrheat%Q_VOL_tot
242 write(
ilog,*)
' No./ EID/ SID/ amp/ Q-VOL '
243 do i = 1, fstrheat%Q_VOL_tot
244 ie = hecmesh%global_elem_ID( fstrheat%Q_VOL_elem(i) )
245 write(
ilog,
'(2i10,i5,1PE15.7)') i, ie, fstrheat%Q_VOL_ampl(i) &
246 , fstrheat%Q_VOL_val (i)
249 write(
ilog,*)
' Q_SUF_tot :', fstrheat%Q_SUF_tot
250 write(
ilog,*)
' No./ EID/ SID/ amp/ Q-SURF '
251 do i = 1, fstrheat%Q_SUF_tot
252 ie = hecmesh%global_elem_ID( fstrheat%Q_SUF_elem(i) )
253 write(
ilog,
'(2i10,2i5,1PE15.7)') i, ie, fstrheat%Q_SUF_surf(i) &
254 , fstrheat%Q_SUF_ampl(i), fstrheat%Q_SUF_val (i)
258 write(
ilog,*)
' H_SUF_tot :', fstrheat%H_SUF_tot
259 write(
ilog,*)
' No./ EID/ SID/ H_amp/ T_amp/ HH/ Sink/ '
260 do i = 1, fstrheat%H_SUF_tot
261 ie = hecmesh%global_elem_ID( fstrheat%H_SUF_elem(i) )
262 write(
ilog,
'(2i10,3i5,1P2E15.7)') i, ie, fstrheat%H_SUF_surf(i) &
263 , fstrheat%H_SUF_ampl(i,1), fstrheat%H_SUF_ampl(i,2) &
264 , fstrheat%H_SUF_val (i,1), fstrheat%H_SUF_val (i,2)
267 write(
ilog,*)
' R_SUF_tot :', fstrheat%R_SUF_tot
268 write(
ilog,*)
' No./ EID/ SID/ R_amp/ T_amp/ RR/ Sink/ '
269 do i = 1, fstrheat%R_SUF_tot
270 ie = hecmesh%global_elem_ID( fstrheat%R_SUF_elem(i) )
271 write(
ilog,
'(2i10,3i5,1P2E15.7)') i, ie, fstrheat%R_SUF_surf(i) &
272 , fstrheat%R_SUF_ampl(i,1), fstrheat%R_SUF_ampl(i,2) &
273 , fstrheat%R_SUF_val (i,1), fstrheat%R_SUF_val (i,2)
281 write(
ilog,*)
'### Amplitude'
283 write(
ilog,*)
' AMPLITUDEtot :', fstrheat%AMPLITUDEtot
284 do i = 1, fstrheat%AMPLITUDEtot
285 nn = fstrheat%AMPLtab(i)
286 write(
ilog,
'(2i5,a,a10)') i, nn,
' : name=', hecmesh%amp%amp_name(i)
289 time = fstrheat%AMPLtime(i,j)
290 val = fstrheat%AMPL (i,j)
291 aa = fstrheat%AMPLfuncA(i,j)
292 bb = fstrheat%AMPLfuncB(i,j)
293 write(
ilog,
'(i5,1p4e12.4)') j,time,val,aa,bb
295 aa = fstrheat%AMPLfuncA(i,nn+1)
296 bb = fstrheat%AMPLfuncB(i,nn+1)
297 write(
ilog,
'(i5,1p4e12.4)') nn+1,time,val,aa,bb