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