OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
flow0.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com08_c.inc"
#include "param_c.inc"
#include "scr07_c.inc"
#include "flowcom.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine flow0 (output, iflow, rflow, wiflow, wrflow, x, v, a, npc, tf, sensor_tab, nbgauge, lgauge, gauge, nsensor, igrv, agrv, nfunct, python, wfext)

Function/Subroutine Documentation

◆ flow0()

subroutine flow0 ( type(output_), intent(inout) output,
integer, dimension(*) iflow,
rflow,
integer, dimension(*) wiflow,
wrflow,
x,
v,
a,
integer, dimension(*) npc,
tf,
type (sensor_str_), dimension(nsensor) sensor_tab,
integer, intent(in) nbgauge,
integer, dimension(3,*) lgauge,
gauge,
integer, intent(in) nsensor,
integer, dimension(nigrv,*) igrv,
agrv,
integer, intent(in) nfunct,
type (python_), intent(inout) python,
double precision, intent(inout) wfext )

Definition at line 36 of file flow0.F.

40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE sensor_mod
44 USE output_mod
45 USE python_funct_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "com01_c.inc"
54#include "com08_c.inc"
55#include "param_c.inc"
56#include "scr07_c.inc"
57#include "flowcom.inc"
58C-----------------------------------------------
59C D u m m y A r g u m e n t s
60C-----------------------------------------------
61 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
62 INTEGER ,INTENT(IN) :: NSENSOR,NBGAUGE,NFUNCT
63 INTEGER IFLOW(*), WIFLOW(*), NPC(*),LGAUGE(3,*)
64 INTEGER IGRV(NIGRV,*)
65 my_real rflow(*), wrflow(*), x(3,*), v(3,*), a(3,*), tf(*), gauge(llgauge,*), agrv(lfacgrv,*)
66 TYPE (SENSOR_STR_) ,DIMENSION(NSENSOR) :: SENSOR_TAB
67 TYPE (PYTHON_), INTENT(INOUT) :: PYTHON
68 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER IADI, IADR, I, ITYP, NINOUT, NNO, NEL, NNN, NEL_LOC,
73 . II1, II2, II3, II4, II5, II6, II7, IR1, IR2, IR3, IR4,
74 . IR5, IR6, IR7, IR8, IR9, IR10, IR11, II8, II9, II10, II11, IADIP, IADH, IADG,
75 . II12, II13, II14, IPINT, NDIM, JFORM, FREESURF
76C-----------------------------------------------------------------------------------
77C Description of arrays ITYP=1
78C II1 -> IFLOW: integer parameters
79C II2 -> IBUF : local-global surface node correspondences
80C II3 -> Elem: Local Connectivitis of the Triangles
81C II4 -> IINOUT : integer variables for inlet-outlet surfaces
82C II5 -> IBUFI : local-global internal node correspondences
83C II6 -> ITAGEL : tag of elements on inlet-outlet surfaces
84C---- SPMD tables
85C II7 -> IBUFR : local node row index (0 if not on this proc)
86C II8 -> IBUFC : local node column index (0 if not on this proc)
87C II9 -> IBUFL: List Noes surface on current processor for x, v, a
88C II10 -> CNP: Procedure processor for nodes surface for x, v, a
89C II11 -> Ibufil: Internal noded list on current processor for x, v, a
90C II12 -> CNPI: Award processor for internal nodes for x, v, a
91C II13 -> IBUFELR : local elem row index (0 if not on this proc)
92C II14 -> IBUFELC : local elem column index (0 if not on this proc)
93C
94C IR1 -> RFLOW : parametres reels
95C IR2 -> PHI : potentiel
96C IR3 -> PRES : pression
97C IR4 -> U: velocity
98C IR5 -> RINOUT : real variables for inlet-outlet surfaces
99C-----------------------------------------------------------------------------------
100C Description of arrays ITYP=3
101C II1 -> IFLOW: integer parameters
102C II2 -> IBUF : local-global surface node correspondences
103C II3 -> Elem: Local connectivitis of triangles/quadrangles+flag
104C II4 -> IBUF_L : local-global surface node correspondences (to be removed in SPMD)
105C II5 -> SHELL_GA: local shell-gauge correspondences
106C II6 -> CNP : SPMD number of processors for each node
107C engine
108C II7 -> IPIV : lapack resolution nel > nelmax
109C II8 -> IBUFELR : SPMD
110C II9 -> IBUFELC : SPMD
111C
112C IR1 -> RFLOW : real parameters
113C IR2 -> NORMAL : normal
114C IR3 -> TA : arrival time
115C IR4 -> AREA : element area
116C IR5 -> COSG : direction cosine
117C IR6 -> DIST : distance charge
118C IR7 -> MFLE : fluide mass matrix (inverse) nel < nelmax
119C IR7 -> MFLE : C**t B + B**t C nel >= nelmax
120C IR8 -> ACCF : acceleration point fluide
121C IR9 -> PS : scattered pressure
122C IR10 -> PTI : incident pressure time integral
123C IR11 -> CMAT : Matrice C (nel >= nelmax)
124C-----------------------------------------------------------------------------------
125 ii1 = 1
126 ii2 = 1
127 ii3 = 1
128 ii4 = 1
129 ii5 = 1
130 ii6 = 1
131 ii7 = 1
132 ii8 = 1
133 ii9 = 1
134 ii10= 1
135 ipint=0
136 IF ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.
137 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
138 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15)
139 . ipint=1
140 iadi=0
141 iadr=0
142 DO i=1,nflow
143 ityp=iflow(iadi+2)
144 nno=iflow(iadi+5)
145 nel=iflow(iadi+6)
146 ii1=iadi+1
147 ii2=ii1+niflow
148 ii3=ii2+nno
149 ir1=iadr+1
150 ir2=ir1+nrflow
151 IF (ityp==1) THEN
152 ninout=iflow(iadi+4)
153 nnn=iflow(iadi+7)
154 ii4=ii3+3*nel
155 ii5=ii4+ninout*niioflow
156 ii6=ii5+nnn
157 IF (nspmd > 1) THEN
158 ii7=ii6+nel
159 ii8=ii7+nno
160 ii9=ii8+nno
161 ii10=ii9+nno
162 ii11=ii10+nno
163 ii12=ii11+nnn
164 ii13=ii12+nnn
165 ii14=ii13+nel
166 ELSE
167 ii7=ii6+nel
168 ii8=ii7
169 ii9=ii8
170 ii10=ii9+nno
171 ii11=ii10
172 ii12=ii11+nnn
173 ii13=ii12
174 ii14=ii13
175 ENDIF
176 ir3=ir2+nno+nnn
177 ir4=ir3+nno+nnn
178 ir5=ir4+3*(nno+nnn)
179
180 iadip=iflow(iadi+10)
181 iadh=iflow(iadi+11)
182 iadg=iflow(iadi+20)
183
184 CALL incpflow(
185 . nno, nel, ninout, nnn, iflow(ii1),
186 . iflow(ii2), iflow(ii3), iflow(ii4), iflow(ii5), iflow(ii7),
187 . iflow(ii8), iflow(ii9), rflow(ir1), rflow(ir2), rflow(ir3),
188 . rflow(ir4), rflow(ir5), x, v, a,
189 . npc, tf , nsensor , sensor_tab ,
190 . iflow(ii10), iflow(ii6), iflow(ii13), iflow(ii14), wiflow(iadip),
191 . wrflow(iadh),wrflow(iadg),iflow(ii11), iflow(ii12), ipint,
192 . python ,wfext)
193
194 ELSEIF(ityp == 3) THEN
195 jform = iflow(iadi+4)
196 freesurf = iflow(iadi+25)
197 IF(jform==1) THEN
198 ii4=ii3+3*nel
199 ii5=ii4+nno
200 ii6=ii5
201 ndim=3
202 ELSEIF(jform==2) THEN
203 ii4=ii3+5*nel
204 ii5=ii4+nno
205 ii6=ii5+nbgauge
206 ndim=5
207 ENDIF
208
209 ir3 = ir2+nel*3
210 ir4 = ir3+nel*freesurf
211 ir5 = ir4+nel
212 ir6 = ir5+nel*freesurf
213 ir7 = ir6+nel*freesurf
214 ir8 = ir7+nel*nel
215 ir9 = ir8+nel
216 ir10= ir9+nel
217 ir11= ir10+nel
218
219 IF(nspmd == 1) THEN
220 ii7=ii6
221 CALL daasolv(ndim, nno, nel,
222 . iflow(ii1), iflow(ii2), iflow(ii3), iflow(ii5),
223 . rflow(ir1), rflow(ir2), rflow(ir3), rflow(ir4), rflow(ir5), rflow(ir6),
224 . rflow(ir7), rflow(ir8), rflow(ir9), rflow(ir10),x, v, a, npc, tf,
225 . nbgauge, lgauge, gauge, nsensor, sensor_tab, igrv, agrv,
226 . rflow(ir11),iflow(ii7), nfunct, python, wfext)
227 ELSE
228 ii7=ii6+nno
229 ii8=ii7+nel
230 ii9=ii8+nel
231 nel_loc =iflow(iadi+20)
232 iadip =iflow(iadi+10)
233 iadh =iflow(iadi+11)
234 CALL daasolvp(ndim, nno, nel, nel_loc,
235 . iflow(ii1), iflow(ii2), iflow(ii3), iflow(ii4), iflow(ii5), iflow(ii6),
236 . rflow(ir1), rflow(ir2), rflow(ir3), rflow(ir4), rflow(ir5), rflow(ir6),
237 . rflow(ir7), rflow(ir8), rflow(ir9), rflow(ir10),x, v, a, npc, tf,
238 . nbgauge, lgauge, gauge, nsensor, sensor_tab, igrv, agrv,
239 . rflow(ir11),wiflow(iadip), wrflow(iadh), iflow(ii8), iflow(ii9),
240 . nfunct, python, wfext)
241 ENDIF
242 ENDIF
243 iadr=iadr+iflow(iadi+15)
244 iadi=iadi+iflow(iadi+14)
245 ENDDO
246
247 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine daasolv(ndim, nno, nel, iflow, ibuf, elem, shell_ga, rflow, normal, ta, areaf, cosg, dist, mfle, accf, pm, pti, x, v, a, npc, tf, nbgauge, lgauge, gauge, nsensor, sensor_tab, igrv, agrv, cbem, ipiv, nfunct, python, wfext)
Definition daasolv.F:41
subroutine daasolvp(ndim, nno, nel, nel_loc, iflow, ibuf, elem, ibufl, shell_ga, cnp, rflow, normal, ta, areaf, cosg, dist, mfle, accf, pm, pti, x, v, a, npc, tf, nbgauge, lgauge, gauge, nsensor, sensor_tab, igrv, agrv, cbem, ipiv_l, mfle_l, ibufelr, ibufelc, nfunct, python, wfext)
Definition daasolvp.F:42
subroutine incpflow(nno, nel, ninout, nni, iflow, ibuf, elem, iinout, ibufi, ibufr, ibufc, ibufl, rflow, phi, pres, u, rinout, x, v, a, npc, tf, nsensor, sensor_tab, cnp, itagel, ibufelr, ibufelc, ipiv, hbem, gbem, ibufil, cnpi, ipint, python, wfext)
Definition incpflow.F:46