13 type(hecmwst_local_mesh) :: hecMESH
15 integer(kind=kint) :: restart_istep(1)
16 integer(kind=kint) :: restart_step(1)
17 real(kind=kreal) :: restart_time(1)
18 integer(kind=kint) :: i, istep, tstep
19 real(kind=kreal) :: tt
21 if(fstrheat%restart_nout < 0)
then
22 fstrheat%restart_nout = -fstrheat%restart_nout
23 call hecmw_restart_open()
24 call hecmw_restart_read_int(restart_istep)
25 call hecmw_restart_read_int(restart_step)
26 call hecmw_restart_read_real(restart_time)
27 call hecmw_restart_read_real(fstrheat%TEMP0)
28 call hecmw_restart_close()
29 istep = restart_istep(1)
30 tstep = restart_step(1) + 1
33 do i = 1, hecmesh%n_node
34 fstrheat%TEMPC(i)= fstrheat%TEMP0(i)
35 fstrheat%TEMP (i)= fstrheat%TEMP0(i)
37 write(
ilog,*)
' Restart read of temperatures: OK'
44 type(hecmwst_local_mesh) :: hecmesh
47 integer(kind=kint) :: i, in, inod, tstep, nmax, nmin
48 real(kind=kreal) :: temp, ctime, tmax, tmin
56 write(
ilog,
'(a,i6)')
' ISTEP =', tstep
57 write(
ilog,
'(a,f10.3)')
' Time =', ctime
59 do i = 1, hecmesh%nn_internal
60 inod = fstrparam%global_local_id(1,i)
61 in = fstrparam%global_local_id(2,i)
62 temp = fstrheat%TEMP(in)
73 write(
ilog,
'(a,f10.3,i10)')
' Maximum Temperature :', tmax
74 write(
ilog,
'(a,i10)')
' Maximum Node No. :', nmax
75 write(
ilog,
'(a,f10.3,i10)')
' Minimum Temperature :', tmin
76 write(
ilog,
'(a,i10)')
' Minimum Node No. :', nmin
79 call hecmw_allreduce_r1 (hecmesh, tmax, hecmw_max)
80 call hecmw_allreduce_r1 (hecmesh, tmin, hecmw_min)
82 write(
ilog,
'(a,f10.3,i10)')
' Maximum Temperature(global) :', tmax
83 write(
ilog,
'(a,f10.3,i10)')
' Minimum Temperature(global) :', tmin
93 type(hecmwst_local_mesh) :: hecmesh
96 integer(kind=kint) :: restart_step(1)
97 real(kind=kreal) :: restart_time(1)
98 integer(kind=kint) :: i, tstep
99 real(kind=kreal) :: ctime, work_time(1)
100 logical,
intent(in) :: outflag
101 character(len=HECMW_HEADER_LEN) :: header
102 character(len=HECMW_MSG_LEN) :: comment
103 character(len=HECMW_NAME_LEN) :: label
104 character(len=HECMW_NAME_LEN) :: nameID
105 real(kind=kreal),
pointer :: work(:)
107 if(
iresult == 1 .and. (mod(tstep,
irres) == 0 .or. outflag))
then
108 header =
'*fstrresult'
109 comment =
'nonsteady_heat_result'
110 call hecmw_result_init(hecmesh, tstep, header, comment)
113 call hecmw_result_add(hecmw_result_dtype_global, 1, label, work_time)
114 label =
'TEMPERATURE'
115 call hecmw_result_add(hecmw_result_dtype_node, 1, label, fstrheat%TEMP)
118 if( fstrheat%elemact%ELEMACT_egrp_tot > 0 )
then
119 allocate(work(hecmesh%n_elem))
122 call hecmw_result_add(hecmw_result_dtype_elem, 1, label, work)
127 call hecmw_result_write_by_name(nameid)
128 call hecmw_result_finalize
137 type(hecmwst_local_mesh) :: hecmesh
139 type(hecmwst_result_data) :: fstrRESULT
141 integer(kind=kint) :: i, tstep
142 real(kind=kreal) :: ctime
143 logical,
intent(in) :: outflag
144 real(kind=kreal),
pointer :: work(:)
146 if(
ivisual == 1 .and. (mod(tstep,
iwres) == 0 .or. outflag))
then
147 call hecmw_nullify_result_data(fstrresult)
148 fstrresult%ng_component = 1
149 fstrresult%nn_component = 1
150 fstrresult%ne_component = 0
151 allocate(fstrresult%ng_dof(1))
152 allocate(fstrresult%global_label(1))
153 allocate(fstrresult%global_val_item(1))
154 fstrresult%ng_dof(1) = 1
155 fstrresult%global_label(1) =
'TOTALTIME'
156 fstrresult%global_val_item(1) = ctime
157 allocate(fstrresult%nn_dof(1))
158 allocate(fstrresult%node_label(1))
159 allocate(fstrresult%node_val_item(hecmesh%n_node))
160 fstrresult%nn_dof(1) = 1
161 fstrresult%node_label(1) =
'TEMPERATURE'
162 fstrresult%node_val_item = fstrheat%TEMP
165 if( fstrheat%elemact%ELEMACT_egrp_tot > 0 )
then
166 fstrresult%ne_component = 1
167 allocate(fstrresult%ne_dof(1))
168 allocate(fstrresult%elem_label(1))
169 allocate(fstrresult%elem_val_item(hecmesh%n_elem))
170 allocate(work(hecmesh%n_elem))
173 fstrresult%ne_dof(1) = 1
174 fstrresult%elem_label(1) =
'ELEMACT'
175 fstrresult%elem_val_item = work
180 call hecmw_visualize_init
181 call hecmw_visualize( hecmesh, fstrresult, tstep )
182 call hecmw_visualize_finalize
184 call hecmw_result_free(fstrresult)
191 type(hecmwst_local_mesh) :: hecmesh
193 integer(kind=kint) :: restart_istep(1)
194 integer(kind=kint) :: restart_step(1)
195 real(kind=kreal) :: restart_time(1)
196 integer(kind=kint) :: restrt_data_size
197 integer(kind=kint) :: istep, tstep
198 logical,
intent(in) :: outflag
199 real(kind=kreal) :: current_time
201 if( fstrheat%restart_nout <= 0 )
return
203 if( mod(tstep, fstrheat%restart_nout) == 0 .or. outflag )
then
204 restart_istep(1) = istep
205 restart_step(1) = tstep
206 restart_time(1) = current_time
207 restrt_data_size =
size(restart_istep)
208 call hecmw_restart_add_int(restart_istep, restrt_data_size)
209 restrt_data_size =
size(restart_step)
210 call hecmw_restart_add_int(restart_step, restrt_data_size)
211 restrt_data_size =
size(restart_time)
212 call hecmw_restart_add_real(restart_time, restrt_data_size)
213 restrt_data_size =
size(fstrheat%TEMP)
214 call hecmw_restart_add_real(fstrheat%TEMP, restrt_data_size)
215 call hecmw_restart_write()
216 if( hecmesh%my_rank.eq.0 )
then
217 write(
imsg,*)
'### FSTR output Restart_File.'
This module provide a function to elemact elements.
subroutine output_elemact_flag(hecMESH, elements, outval)
This module defines common data and basic structures for analysis.
integer(kind=kint), pointer iresult
integer(kind=kint) myrank
PARALLEL EXECUTION.
integer(kind=kint), parameter imsg
integer(kind=kint), pointer iwres
integer(kind=kint), parameter ilog
FILE HANDLER.
integer(kind=kint), pointer irres
integer(kind=kint), pointer ivisual
This module provides a function to control heat analysis.
subroutine heat_output_result(hecMESH, fstrHEAT, fstrSOLID, tstep, ctime, outflag)
subroutine heat_output_restart(hecMESH, fstrHEAT, istep, tstep, current_time, outflag)
subroutine heat_output_log(hecMESH, fstrPARAM, fstrHEAT, tstep, ctime)
subroutine heat_output_visual(hecMESH, fstrRESULT, fstrHEAT, fstrSOLID, tstep, ctime, outflag)
subroutine heat_input_restart(fstrHEAT, hecMESH, istep, tstep, tt)
HECMW to FSTR Mesh Data Converter. Converting Connectivity of Element Type 232, 342 and 352.
subroutine fstr2hecmw_mesh_conv(hecMESH)
subroutine hecmw2fstr_mesh_conv(hecMESH)
Data for HEAT ANSLYSIS (fstrHEAT)
FSTR INNER CONTROL PARAMETERS (fstrPARAM)