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,J,DET_IID
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