181
182
183
184#include "implicit_f.inc"
185
186
187
188 TYPE(DETONATORS_STRUCT_),INTENT(INOUT)::DETONATORS
189
190
191
192 INTEGER IDET
193
194
195
196
197 IF(detonators%N_DET_POINT > 0)THEN
198 DO idet=1,detonators%N_DET_POINT
199 IF(ALLOCATED(detonators%POINT(idet)%NODLIST))DEALLOCATE(detonators%POINT(idet)%NODLIST)
200 ENDDO
201 ENDIF
202
203
204 IF(detonators%N_DET_CORD > 0)THEN
205 DO idet=1,detonators%N_DET_CORD
206 IF(ALLOCATED(detonators%CORD(idet)%NODES))DEALLOCATE(detonators%CORD(idet)%NODES)
207 IF(ALLOCATED(detonators%CORD(idet)%TDET_PATH))DEALLOCATE(detonators%CORD(idet)%TDET_PATH)
208 ENDDO
209 ENDIF
210
211
212 IF(detonators%N_DET_WAVE_SHAPER > 0)THEN
213 DO idet=1,detonators%N_DET_WAVE_SHAPER
214 IF(ALLOCATED(detonators%WAVE_SHAPER(idet)%NODES))DEALLOCATE(detonators%WAVE_SHAPER(idet)%NODES)
215 IF(ALLOCATED(detonators%WAVE_SHAPER(idet)%TIME))DEALLOCATE(detonators%WAVE_SHAPER(idet)%TIME)
216 IF(ALLOCATED(detonators%WAVE_SHAPER(idet)%FLAG))DEALLOCATE(detonators%WAVE_SHAPER(idet)%FLAG)
217 IF(ALLOCATED(detonators%WAVE_SHAPER(idet)%IORDR))DEALLOCATE(detonators%WAVE_SHAPER(idet)%IORDR)
218 ENDDO
219 ENDIF
220
221
222 IF(ALLOCATED(detonators%POINT)) DEALLOCATE(detonators%POINT)
223 IF(ALLOCATED(detonators%PLANE)) DEALLOCATE(detonators%PLANE)
224 IF(ALLOCATED(detonators%LINE)) DEALLOCATE(detonators%LINE)
225 IF(ALLOCATED(detonators%CORD)) DEALLOCATE(detonators%CORD)
226 IF(ALLOCATED(detonators%WAVE_SHAPER)) DEALLOCATE(detonators%WAVE_SHAPER)
227