OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
st_qaprint_dfs_detonators.F File Reference
#include "implicit_f.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine st_qaprint_dfs_detonators (detonators)

Function/Subroutine Documentation

◆ st_qaprint_dfs_detonators()

subroutine st_qaprint_dfs_detonators ( type(detonators_struct_), intent(in) detonators)

Definition at line 31 of file st_qaprint_dfs_detonators.F.

32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE qa_out_mod
36 USE groupdef_mod
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 TYPE(DETONATORS_STRUCT_), INTENT(IN) :: DETONATORS
46C--------------------------------------------------
47C L o c a l V a r i a b l e s
48C-----------------------------------------------
49 LOGICAL :: OK_QA
50 CHARACTER (LEN=255) :: VARNAME
51 INTEGER K
52 DOUBLE PRECISION TEMP_DOUBLE
53 INTEGER TEMP_INTEGER
54 INTEGER :: NDETPS,NDETSG,NECRAN,NDETPL,NDETCORD
55C-----------------------------------------------
56C S o u r c e L i n e s
57C-----------------------------------------------
58 ok_qa = myqakey('DETONATORS')
59
60 ndetps = detonators%N_DET_POINT
61 ndetsg = detonators%N_DET_LINE
62 necran = detonators%N_DET_WAVE_SHAPER
63 ndetpl = detonators%N_DET_PLANE
64 ndetcord = detonators%N_DET_CORD
65
66 IF (ok_qa) THEN
67
68 !/DFS/DETPOINT
69 DO k=1,ndetps
70 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__ISHADOW_'
71 temp_integer = detonators%POINT(k)%SHADOW
72 IF(temp_integer > 0)CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
73
74 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__MAT_'
75 temp_integer = detonators%POINT(k)%MAT
76 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
77
78 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__TDET_'
79 temp_double = detonators%POINT(k)%TDET
80 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
81
82 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__XDET_'
83 temp_double = detonators%POINT(k)%XDET
84 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
85
86 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__YDET_'
87 temp_double = detonators%POINT(k)%YDET
88 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
89
90 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__ZDET_'
91 temp_double = detonators%POINT(k)%ZDET
92 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
93
94 WRITE(varname,'(A,I0,A)') 'DFS_DETPOINT_',k ,'__GRNOD_ID_'
95 temp_integer = detonators%POINT(k)%GRNOD_ID
96 IF(temp_integer > 0)CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
97
98 ENDDO !next K
99
100 !/DFS/DETLINE
101 DO k=1,ndetsg
102 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__MAT_'
103 temp_integer = detonators%LINE(k)%MAT
104 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
105
106 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__TDET_'
107 temp_double = detonators%LINE(k)%TDET
108 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
109
110 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__XDET_1_'
111 temp_double = detonators%LINE(k)%XDET_1
112 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
113
114 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__YDET_1_'
115 temp_double = detonators%LINE(k)%YDET_1
116 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
117
118 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__ZDET_1_'
119 temp_double = detonators%LINE(k)%ZDET_1
120 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
121
122 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__XDET_2_'
123 temp_double = detonators%LINE(k)%XDET_2
124 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
125
126 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__YDET_2_'
127 temp_double = detonators%LINE(k)%YDET_2
128 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
129
130 WRITE(varname,'(A,I0,A)') 'DFS_DETLINE_',k ,'__ZDET_2_'
131 temp_double = detonators%LINE(k)%ZDET_2
132 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
133 ENDDO !next K
134
135 !/DFS/WAV_SHA
136 DO k=1,necran
137 WRITE(varname,'(A,I0,A)') 'DFS_WAVSHA_',k ,'__MAT_'
138 temp_integer = detonators%WAVE_SHAPER(k)%MAT
139 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
140
141 WRITE(varname,'(A,I0,A)') 'DFS_WAVSHA_',k ,'__NUMNOD_'
142 temp_integer = detonators%WAVE_SHAPER(k)%NUMNOD
143 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
144
145 WRITE(varname,'(A,I0,A)') 'DFS_WAVSHA_',k ,'__vdet_'
146 TEMP_DOUBLE = DETONATORS%WAVE_SHAPER(K)%VDET
147 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
148
149 WRITE(VARNAME,'(a,i0,a)') 'dfs_wavsha_',K ,'__tdet_'
150 TEMP_DOUBLE = DETONATORS%WAVE_SHAPER(K)%TDET
151 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
152
153 WRITE(VARNAME,'(a,i0,a)') 'dfs_wavsha_',K ,'__xdet_'
154 TEMP_DOUBLE = DETONATORS%WAVE_SHAPER(K)%XDET
155 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
156
157 WRITE(VARNAME,'(a,i0,a)') 'dfs_wavsha_',K ,'__ydet_'
158 TEMP_DOUBLE = DETONATORS%WAVE_SHAPER(K)%YDET
159 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
160
161 WRITE(VARNAME,'(a,i0,a)') 'dfs_wavsha_',K ,'__zdet_'
162 TEMP_DOUBLE = DETONATORS%WAVE_SHAPER(K)%ZDET
163 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
164 ENDDO !next K
165
166 !/DFS/DETPLAN
167 DO K=1,NDETPL
168 WRITE(VARNAME,'(a,i0,a)') 'dfs_detplane_',K ,'__mat_'
169 TEMP_INTEGER = DETONATORS%PLANE(K)%MAT
170 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INTEGER,0.0_8)
171
172 WRITE(VARNAME,'(a,i0,a)') 'dfs_detplane_',K ,'__tdet_'
173 TEMP_DOUBLE = DETONATORS%PLANE(K)%TDET
174 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
175
176 WRITE(VARNAME,'(a,i0,a)') 'dfs_detplane_',K ,'__xdet_'
177 TEMP_DOUBLE = DETONATORS%PLANE(K)%XDET
178 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
179
180 WRITE(VARNAME,'(a,i0,a)') 'dfs_detplane_',K ,'__ydet_'
181 TEMP_DOUBLE = DETONATORS%PLANE(K)%YDET
182 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
183
184 WRITE(VARNAME,'(a,i0,a)') 'dfs_detplane_',K ,'__zdet_'
185 TEMP_DOUBLE = DETONATORS%PLANE(K)%ZDET
186 IF(TEMP_DOUBLE/=ZERO)CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
187
188 WRITE(VARNAME,'(a,i0,a)') 'DFS_DETPLANE_',k ,'__NX_'
189 temp_double = detonators%PLANE(k)%NX
190 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
191
192 WRITE(varname,'(A,I0,A)') 'DFS_DETPLANE_',k ,'__NY_'
193 temp_double = detonators%PLANE(k)%NY
194 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
195
196 WRITE(varname,'(A,I0,A)') 'DFS_DETPLANE_',k ,'__NZ_'
197 temp_double = detonators%PLANE(k)%NZ
198 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
199 ENDDO !next K
200
201 !/DFS/DETCORD
202 DO k=1,ndetcord
203 WRITE(varname,'(A,I0,A)') 'DFS_DETCORD_',k ,'__MAT_'
204 temp_integer = detonators%CORD(k)%MAT
205 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
206
207 WRITE(varname,'(A,I0,A)') 'DFS_DETCORD_',k ,'__IOPT_'
208 temp_integer = detonators%CORD(k)%IOPT
209 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
210
211 WRITE(varname,'(A,I0,A)') 'DFS_DETCORD_',k ,'__NUMNOD_'
212 temp_integer = detonators%CORD(k)%NUMNOD
213 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
214
215 WRITE(varname,'(A,I0,A)') 'DFS_DETCORD_',k ,'__TDET_'
216 temp_double = detonators%CORD(k)%TDET
217 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
218
219 WRITE(varname,'(A,I0,A)') 'DFS_DETCORD_',k ,'__VDET_'
220 temp_double = detonators%CORD(k)%VDET
221 IF(temp_double/=zero)CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
222 ENDDO !next K
223
224 ENDIF
225C-----------------------------------------------
226 RETURN
logical function myqakey(value)
@purpose Check if a given value is part of the values set by env variable Useful to make a condition ...
Definition qa_out_mod.F:694
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...
Definition qa_out_mod.F:390