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

Go to the source code of this file.

Functions/Subroutines

subroutine ecran2 (detonator_wave_shaper, x, vdet)

Function/Subroutine Documentation

◆ ecran2()

subroutine ecran2 ( type(detonator_wave_shaper_struct_), target detonator_wave_shaper,
x,
intent(in) vdet )

Definition at line 33 of file ecran2.F.

34C-----------------------------------------------
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 my_real x(3,numnod)
44 my_real,INTENT(IN)::vdet
45 TYPE(DETONATOR_WAVE_SHAPER_STRUCT_),TARGET ::DETONATOR_WAVE_SHAPER
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "scr11_c.inc"
50#include "com04_c.inc"
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER,POINTER,DIMENSION(:) :: IECR, IORDR, IFLG
55 my_real,POINTER,DIMENSION(:) :: dtime
56 INTEGER J, I, II, NPE
57 my_real ddmx, dtos
58C-----------------------------------------------
59C E x t e r n a l F u n c t i o n s
60C-----------------------------------------------
61 INTEGER,EXTERNAL :: IOMBR
62C-----------------------------------------------
63
64 npe=detonator_wave_shaper%NUMNOD
65 iecr => detonator_wave_shaper%NODES(1:npe)
66 iordr => detonator_wave_shaper%IORDR(1:npe)
67 dtime => detonator_wave_shaper%TIME(1:npe)
68
69C---------------------------------------
70C COMPUTING DETONATION:TIME FOR ONE ELEMENT (CENTROID)
71C---------------------------------------
72C 1) DETONATION ORIGIN: USER DETONATION POINT
73C check if the target can be directly lightened from detonation origin.
74C yes if no crossing with the screen (IOMBR returns 0)
75C no otherwise (IOMBR return 1)
76C---------------------------------------
77 ddmx=ep20
78 IF(iombr(detonator_wave_shaper,x,iecr,ddmx,vdet) == 0)RETURN !Vdet is optional velocity from origin (default is material velocity VDTO)
79
80C-----------------------------------------
81C 2) DETONATION ORIGIN:EACH POINT OF THE SCREEN PATH
82C-----------------------------------------
83 dtos=ep20
84
85 npe=detonator_wave_shaper%NUMNOD
86 DO j=1,npe
87 i=iordr(j)
88 ii=iecr(i)
89 yd=x(2,ii)
90 zd=x(3,ii)
91 dto0=dtime(i)
92 IF(iombr(detonator_wave_shaper,x,iecr,ddmx,vdto) == 0)THEN
93 dtos= min(dtos,dto) !keep minimum value (first arrival time)
94 ENDIF
95 END DO !J=1,NPE
96
97 dto=dtos
98
99 RETURN
#define my_real
Definition cppsort.cpp:32
integer function iombr(detonator_wave_shaper, x, iecr, ddmx, vdet_arg)
Definition iombr.F:32
#define min(a, b)
Definition macros.h:20