FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
fstr_debug_dump.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2019 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
6 
8  use m_fstr
9 
10 contains
11 
13  subroutine dump_fstr_global
14  implicit none
15 
16  write(*,*) 'global parameters dump ***********'
17  write(*,*)
18  write(*,*) 'IECHO ',iecho
19  write(*,*) 'IRESULT ',iresult
20  write(*,*) 'IVISUAL ',ivisual
21  write(*,*)
22  write(*,*) 'for heat ...'
23  write(*,*) 'INEUTRAL ', ineutral
24  write(*,*) 'IRRES ', irres
25  write(*,*) 'IWRES ', iwres
26  write(*,*) 'NRRES ', nrres
27  write(*,*) 'NPRINT ', nprint
28  write(*,*)
29  write(*,*) 'REF_TEMP ', ref_temp
30  write(*,*)
31  write(*,*) 'ANALYSIS CONTROL for NLGEOM and HEAT'
32  write(*,*) 'DT ',dt
33  write(*,*) 'ETIME ',etime
34  write(*,*) 'ITMAX ',itmax
35  write(*,*) 'EPS ',eps
36  write(*,*)
37  end subroutine dump_fstr_global
38 
40  subroutine dump_fstr_param( p )
41  implicit none
42  type( fstr_param ) :: p
43 
44  write(*,*) 'fstrPARAM dump ********************'
45  write(*,*)
46  write(*,*) 'solution_type ',p%solution_type
47  write(*,*) 'solver_method ',p%solver_method
48  write(*,*)
49  write(*,*) '!!STATIC !HEAT'
50  write(*,*) p%analysis_n
51  if( associated( p%dtime)) write(*,*) 'dtime ', p%dtime
52  if( associated( p%etime)) write(*,*) 'etime', p%etime
53  if( associated( p%dtmin)) write(*,*) 'dtmin ', p%dtmin
54  if( associated( p%delmax)) write(*,*) 'delmax ', p%delmax
55  if( associated( p%itmax)) write(*,*) 'itmax ', p%itmax
56  if( associated( p%eps)) write(*,*) 'eps ', p%eps
57  write(*,*) 'ref_temp ', p%ref_temp
58  write(*,*)
59  write(*,*) 'output control'
60  write(*,*) 'fg_echo ', p%fg_echo
61  write(*,*) 'fg_result ', p%fg_result
62  write(*,*) 'fg_visual ', p%fg_visual
63  write(*,*)
64  write(*,*) 'for heat ...'
65  write(*,*) 'fg_neutral ', p%fg_neutral
66  write(*,*) 'fg_irres ', p%fg_irres
67  write(*,*) 'fg_iwres ', p%fg_iwres
68  write(*,*) 'nrres ', p%nrres
69  write(*,*) 'nprint ', p%nprint
70  write(*,*)
71  write(*,*) 'for couple ...'
72  write(*,*) 'fg_couple ',p%fg_couple
73  write(*,*)
74  write(*,*) 'ndex table for global node ID sorting'
75  write(*,*) 'n_node ', p%n_node
76  if( associated( p%global_local_ID)) write(*,*) 'global_local_ID ', p%global_local_ID
77  end subroutine dump_fstr_param
78 
80  subroutine dump_fstr_solid( s )
81  implicit none
82  type( fstr_solid ) :: s
83 
84  write(*,*) 'fstrSOLID dump ********************'
85  write(*,*)
86  write(*,*) 'file_type ', s%file_type
87  write(*,*)
88  write(*,*) '!!BOUNDARY'
89  write(*,*) 'BOUNDARY_ngrp_tot ', s%BOUNDARY_ngrp_tot
90  if( s%BOUNDARY_ngrp_tot /= 0 ) then
91  write(*,*) 'BOUNDARY_ngrp_ID ', s%BOUNDARY_ngrp_ID
92  write(*,*) 'BOUNDARY_ngrp_type ',s%BOUNDARY_ngrp_type
93  write(*,*) 'BOUNDARY_ngrp_val ',s%BOUNDARY_ngrp_val
94  write(*,*) 'BOUNDARY_ngrp_amp ',s%BOUNDARY_ngrp_amp
95  end if
96  write(*,*)
97  write(*,*) '!!VELOCITY'
98  write(*,*) 'VELOCITY_ngrp_tot ', s%VELOCITY_ngrp_tot
99  if( s%VELOCITY_ngrp_tot /= 0 ) then
100  write(*,*) 'VELOCITY_ngrp_ID ', s%VELOCITY_ngrp_ID
101  write(*,*) 'VELOCITY_ngrp_type ',s%VELOCITY_ngrp_type
102  write(*,*) 'VELOCITY_ngrp_val ',s%VELOCITY_ngrp_val
103  write(*,*) 'VELOCITY_ngrp_amp ',s%VELOCITY_ngrp_amp
104  end if
105  write(*,*)
106  write(*,*) '!!ACCELERATION'
107  write(*,*) 'ACCELERATION_ngrp_tot ', s%ACCELERATION_ngrp_tot
108  if( s%ACCELERATION_ngrp_tot /= 0 ) then
109  write(*,*) 'ACCELERATION_ngrp_ID ', s%ACCELERATION_ngrp_ID
110  write(*,*) 'ACCELERATION_ngrp_type ',s%ACCELERATION_ngrp_type
111  write(*,*) 'ACCELERATION_ngrp_val ',s%ACCELERATION_ngrp_val
112  write(*,*) 'ACCELERATION_ngrp_amp ',s%ACCELERATION_ngrp_amp
113  end if
114  write(*,*)
115  write(*,*) '!!CLOAD'
116  write(*,*) 'CLOAD_ngrp_tot ', s%CLOAD_ngrp_tot
117  if( s%CLOAD_ngrp_tot /= 0 ) then
118  write(*,*) 'CLOAD_ngrp_ID ', s%CLOAD_ngrp_ID
119  write(*,*) 'CLOAD_ngrp_DOF ', s%CLOAD_ngrp_DOF
120  write(*,*) 'CLOAD_ngrp_val ',s%CLOAD_ngrp_val
121  write(*,*) 'CLOAD_ngrp_amp ',s%CLOAD_ngrp_amp
122  end if
123  write(*,*)
124  write(*,*) '!!DLOAD'
125  write(*,*) 'DLOAD_ngrp_tot ', s%DLOAD_ngrp_tot
126  if( s%DLOAD_ngrp_tot/= 0 ) then
127  write(*,*) 'DLOAD_ngrp_ID ',s%DLOAD_ngrp_ID
128  write(*,*) 'DLOAD_ngrp_LID ',s%DLOAD_ngrp_LID
129  write(*,*) 'DLOAD_ngrp_params ', s%DLOAD_ngrp_params
130  write(*,*) 'DLOAD_ngrp_amp ',s%DLOAD_ngrp_amp
131  end if
132  write(*,*)
133  write(*,*) '!!TEMPERATURE'
134  write(*,*) 'TEMP_ngrp_tot ',s%TEMP_ngrp_tot
135  if( s%TEMP_ngrp_tot/= 0 ) then
136  write(*,*) 'TEMP_ngrp_ID ',s%TEMP_ngrp_ID
137  write(*,*) 'TEMP_ngrp_val ', s%TEMP_ngrp_val
138  end if
139  write(*,*)
140  write(*,*) '!!STATIC'
141  write(*,*) 'restart_nout ',s%restart_nout
142  write(*,*)
143  write(*,*) '!!COUPLE'
144  write(*,*) 'COUPLE_ngrp_tot ',s%COUPLE_ngrp_tot
145  if( s%COUPLE_ngrp_tot>0 ) then
146  write(*,*) 'COUPLE_ngrp_ID ', s%COUPLE_ngrp_ID
147  endif
148  write(*,*)
149  end subroutine dump_fstr_solid
150 
152  subroutine dump_fstr_heat( h )
153  implicit none
154  type( fstr_heat ) :: h
155 
156  write(*,*) 'fstrHEAT dump ********************'
157  write(*,*)
158  write(*,*) 'TIME CONTROL'
159  write(*,*) 'STEPtot ', h%STEPtot
160  if( h%STEPtot /= 0 ) then
161  write(*,*) 'STEP_DLTIME ', h%STEP_DLTIME
162  write(*,*) 'STEP_EETIME ', h%STEP_EETIME
163  write(*,*) 'STEP_DELMIN ', h%STEP_DELMIN
164  write(*,*) 'STEP_DELMAX ', h%STEP_DELMAX
165  end if
166  write(*,*)
167  write(*,*) 'MATERIAL'
168  write(*,*) 'ATERIALtot ', h%MATERIALtot
169  if( h%MATERIALtot /= 0 ) then
170  write(*,*) 'RHO ', h%RHO
171  write(*,*) 'RHOtemp ', h%RHOtemp
172  write(*,*) 'CP ',h%CP
173  write(*,*) 'CPtemp ', h%CPtemp
174  write(*,*) 'COND ', h%COND
175  write(*,*) 'CONDtemp ',h%CONDtemp
176  write(*,*)
177  write(*,*) 'RHOtab ', h%RHOtab
178  write(*,*) 'CPtab ', h%CPtab
179  write(*,*) 'CONDtab ',h%CONDtab
180  write(*,*)
181  write(*,*) 'RHOfuncA ', h%RHOfuncA
182  write(*,*) 'RHOfuncB ', h%RHOfuncB
183  write(*,*) 'CPfuncA ',h%CPfuncA
184  write(*,*) 'CPfuncB ',h%CPfuncB
185  write(*,*) 'CONDfuncA ',h%CONDfuncA
186  write(*,*) 'CONDfuncB ',h%CONDfuncB
187  end if
188  write(*,*)
189  write(*,*) 'AMPLITUDE'
190  write(*,*) 'AMPLITUDEtot ',h%AMPLITUDEtot
191  if( h%AMPLITUDEtot /=0 ) then
192  write(*,*) 'AMPL ',h%AMPL
193  write(*,*) 'AMPLtime ',h%AMPLtime
194  write(*,*) 'AMPLtab ', h%AMPLtab
195  write(*,*) 'AMPLfuncA ', h%AMPLfuncA
196  write(*,*) 'AMPLfuncB ', h%AMPLfuncB
197  end if
198  write(*,*)
199  write(*,*) 'VALUE'
200  if( associated(h%TEMP)) then
201  write(*,*) 'TEMP ',h%TEMP
202  write(*,*) 'TEMP0 ',h%TEMP0
203  write(*,*) 'TEMPC ',h%TEMPC
204  end if
205  write(*,*)
206  write(*,*) 'BOUNDARY CONDITIONS -------'
207  write(*,*)
208  write(*,*) '!FIXTEMP '
209  write(*,*) 'T_FIX_tot ',h%T_FIX_tot
210  if( h%T_FIX_tot /= 0 ) then
211  write(*,*) 'T_FIX_node ',h%T_FIX_node
212  write(*,*) 'T_FIX_ampl ',h%T_FIX_ampl
213  write(*,*) 'T_FIX_val ',h%T_FIX_val
214  end if
215  write(*,*)
216  write(*,*) '!CFLUX'
217  write(*,*) 'Q_NOD_tot ',h%Q_NOD_tot
218  if( h%Q_NOD_tot /= 0 ) then
219  write(*,*) 'Q_NOD_node ', h%Q_NOD_node
220  write(*,*) 'Q_NOD_ampl ',h%Q_NOD_ampl
221  write(*,*) 'Q_NOD_val ', h%Q_NOD_val
222  end if
223  write(*,*)
224  write(*,*) '!DFLUX (not used)'
225  write(*,*) 'Q_VOL_tot ',h%Q_VOL_tot
226  if( h%Q_VOL_tot /= 0 ) then
227  write(*,*) 'Q_VOL_elem ',h%Q_VOL_elem
228  write(*,*) 'Q_VOL_ampl ',h%Q_VOL_ampl
229  write(*,*) 'Q_VOL_val ',h%Q_VOL_val
230  end if
231  write(*,*)
232  write(*,*) '!DFLUX, !SFLUX'
233  write(*,*) 'Q_SUF_tot ', h%Q_SUF_tot
234  if( h%Q_SUF_tot /= 0 ) then
235  write(*,*) 'Q_SUF_elem ', h%Q_SUF_elem
236  write(*,*) 'Q_SUF_ampl ',h%Q_SUF_ampl
237  write(*,*) 'Q_SUF_surf ',h%Q_SUF_surf
238  write(*,*) 'Q_SUF_val ',h%Q_SUF_val
239  end if
240  write(*,*)
241  write(*,*) '!RADIATE, !SRADIATE'
242  write(*,*) 'R_SUF_tot ',h%R_SUF_tot
243  if( h%R_SUF_tot /= 0 ) then
244  write(*,*) 'R_SUF_elem ',h%R_SUF_elem
245  write(*,*) 'R_SUF_ampl ', h%R_SUF_ampl
246  write(*,*) 'R_SUF_surf ',h%R_SUF_surf
247  write(*,*) 'R_SUF_val ',h%R_SUF_val
248  end if
249  write(*,*)
250  write(*,*) '!FILM, SFILM'
251  write(*,*) 'H_SUF_tot ',h%H_SUF_tot
252  if( h%H_SUF_tot /= 0 ) then
253  write(*,*) 'H_SUF_elem ',h%H_SUF_elem
254  write(*,*) 'H_SUF_ampl ',h%H_SUF_ampl
255  write(*,*) 'H_SUF_surf ',h%H_SUF_surf
256  write(*,*) 'H_SUF_val ',h%H_SUF_val
257  end if
258  write(*,*)
259  end subroutine dump_fstr_heat
260 
262  subroutine dump_fstr_eigen( e )
263  implicit none
264  type( fstr_eigen ) :: e
265 
266  write(*,*) 'lczparam dump ********************'
267  write(*,*)
268  write(*,*) 'nget ', e%nget
269  write(*,*)
270  end subroutine dump_fstr_eigen
271 
273  subroutine dump_fstr_dynamic( d )
274  implicit none
275  type( fstr_dynamic ) :: d
276 
277  write(*,*) 'fstrDYNAMIC dump ********************'
278  write(*,*)
279  write(*,*) 'idx_eqa ', d%idx_eqa
280  write(*,*) 'idx_resp ', d%idx_resp
281  write(*,*) 'n_step ', d%n_step
282  write(*,*) 't_start ', d%t_start
283  write(*,*) 't_end ', d%t_end
284  write(*,*) 't_delta ', d%t_delta
285  write(*,*) 'ganma ', d%ganma
286  write(*,*) 'beta ', d%beta
287  write(*,*) 'idx_mas ', d%idx_mas
288  write(*,*) 'idx_dmp ', d%idx_dmp
289  write(*,*) 'ray_m ', d%ray_m
290  write(*,*) 'ray_k ', d%ray_k
291  write(*,*) 'restart_nout',d%restart_nout
292  write(*,*) 'nout ', d%nout
293  write(*,*) 'ngrp_monit ', d%ngrp_monit
294  write(*,*) 'nout_monit ', d%nout_monit
295  write(*,*) 'iout_list ', d%iout_list
296  write(*,*)
297  end subroutine dump_fstr_dynamic
298 
300  subroutine dump_fstr_couple( c )
301  implicit none
302  type( fstr_couple ) :: c
303  integer( kind=kint) :: i,j
304  write(*,*) 'fstrCLP dump ********************'
305  write(*,*)
306  write(*,*) 'dof ', c%dof
307  write(*,*) 'ndof ', c%ndof
308  write(*,*) 'coupled_node_n ', c%coupled_node_n
309  if( c%coupled_node_n >0 ) then
310  write(*,*) 'coupled_node'
311  write(*,*) c%coupled_node
312  endif
313  write(*,*) 'trac'
314  do i=1, c%coupled_node_n
315  j = c%dof * i;
316  write(*,*) c%trac(j-2),' ',c%trac(j-1),' ',c%trac(j)
317  end do
318  write(*,*) 'velo'
319  do i=1, c%coupled_node_n
320  j = c%dof * i;
321  write(*,*) c%velo(j-2),' ',c%velo(j-1),' ',c%velo(j)
322  end do
323  end subroutine dump_fstr_couple
324 
325 
326 end module fstr_debug_dump
327 
328 
m_fstr::iecho
integer(kind=kint), pointer iecho
FLAG for ECHO/RESULT/POST.
Definition: m_fstr.f90:121
fstr_debug_dump::dump_fstr_couple
subroutine dump_fstr_couple(c)
This subroutine prints out coupleing analysis.
Definition: fstr_debug_dump.f90:301
m_fstr::ineutral
integer(kind=kint), pointer ineutral
Definition: m_fstr.f90:124
fstr_debug_dump::dump_fstr_global
subroutine dump_fstr_global
This subroutine prints out global control parameters.
Definition: fstr_debug_dump.f90:14
m_fstr::fstr_eigen
Package of data used by Lanczos eigenvalue solver.
Definition: m_fstr.f90:593
m_fstr::itmax
integer(kind=kint) itmax
Definition: m_fstr.f90:141
m_fstr::fstr_heat
Data for HEAT ANSLYSIS (fstrHEAT)
Definition: m_fstr.f90:425
fstr_debug_dump
This module contains functions to print out calculation settings.
Definition: fstr_debug_dump.f90:7
fstr_debug_dump::dump_fstr_dynamic
subroutine dump_fstr_dynamic(d)
This subroutine prints out data for dynamic analysis.
Definition: fstr_debug_dump.f90:274
m_fstr::fstr_solid
Definition: m_fstr.f90:238
m_fstr::fstr_dynamic
Data for DYNAMIC ANSLYSIS (fstrDYNAMIC)
Definition: m_fstr.f90:504
m_fstr::fstr_param
FSTR INNER CONTROL PARAMETERS (fstrPARAM)
Definition: m_fstr.f90:154
m_fstr::eps
real(kind=kreal) eps
Definition: m_fstr.f90:142
fstr_debug_dump::dump_fstr_param
subroutine dump_fstr_param(p)
This subroutine prints out solution control parameters.
Definition: fstr_debug_dump.f90:41
m_fstr::dt
real(kind=kreal) dt
ANALYSIS CONTROL for NLGEOM and HEAT.
Definition: m_fstr.f90:139
m_fstr
This module defines common data and basic structures for analysis.
Definition: m_fstr.f90:15
m_fstr::ivisual
integer(kind=kint), pointer ivisual
Definition: m_fstr.f90:123
m_fstr::ref_temp
real(kind=kreal), pointer ref_temp
REFTEMP.
Definition: m_fstr.f90:136
m_fstr::fstr_couple
Data for coupling analysis.
Definition: m_fstr.f90:611
m_fstr::iresult
integer(kind=kint), pointer iresult
Definition: m_fstr.f90:122
m_fstr::iwres
integer(kind=kint), pointer iwres
Definition: m_fstr.f90:126
fstr_debug_dump::dump_fstr_eigen
subroutine dump_fstr_eigen(e)
This subroutine prints out parameters for eigen analysis.
Definition: fstr_debug_dump.f90:263
m_fstr::irres
integer(kind=kint), pointer irres
Definition: m_fstr.f90:125
m_fstr::nrres
integer(kind=kint), pointer nrres
Definition: m_fstr.f90:127
fstr_debug_dump::dump_fstr_heat
subroutine dump_fstr_heat(h)
This subroutine prints out data for heat conductive analysis.
Definition: fstr_debug_dump.f90:153
m_fstr::etime
real(kind=kreal) etime
Definition: m_fstr.f90:140
fstr_debug_dump::dump_fstr_solid
subroutine dump_fstr_solid(s)
This subroutine prints out data for static analysis.
Definition: fstr_debug_dump.f90:81
m_fstr::nprint
integer(kind=kint), pointer nprint
Definition: m_fstr.f90:128