OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
scoor3_fvm.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "vect01_c.inc"
#include "scr05_c.inc"
#include "param_c.inc"
#include "inter22.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine scoor3_fvm (x, ixs, v, w, gama, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, vis, offg, off, rho, rhoo, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, iparg, ng, nel, mom, tag22)

Function/Subroutine Documentation

◆ scoor3_fvm()

subroutine scoor3_fvm ( x,
integer, dimension(nixs,*) ixs,
v,
w,
gama,
x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
y1,
y2,
y3,
y4,
y5,
y6,
y7,
y8,
z1,
z2,
z3,
z4,
z5,
z6,
z7,
z8,
vx1,
vx2,
vx3,
vx4,
vx5,
vx6,
vx7,
vx8,
vy1,
vy2,
vy3,
vy4,
vy5,
vy6,
vy7,
vy8,
vz1,
vz2,
vz3,
vz4,
vz5,
vz6,
vz7,
vz8,
vdx1,
vdx2,
vdx3,
vdx4,
vdx5,
vdx6,
vdx7,
vdx8,
vdy1,
vdy2,
vdy3,
vdy4,
vdy5,
vdy6,
vdy7,
vdy8,
vdz1,
vdz2,
vdz3,
vdz4,
vdz5,
vdz6,
vdz7,
vdz8,
vdx,
vdy,
vdz,
vd2,
vis,
offg,
off,
rho,
rhoo,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, dimension(*) nc3,
integer, dimension(*) nc4,
integer, dimension(*) nc5,
integer, dimension(*) nc6,
integer, dimension(*) nc7,
integer, dimension(*) nc8,
integer, dimension(*) ngl,
integer, dimension(*) mxt,
integer, dimension(*) ngeo,
double precision, dimension(*) xd1,
double precision, dimension(*) xd2,
double precision, dimension(*) xd3,
double precision, dimension(*) xd4,
double precision, dimension(*) xd5,
double precision, dimension(*) xd6,
double precision, dimension(*) xd7,
double precision, dimension(*) xd8,
double precision, dimension(*) yd1,
double precision, dimension(*) yd2,
double precision, dimension(*) yd3,
double precision, dimension(*) yd4,
double precision, dimension(*) yd5,
double precision, dimension(*) yd6,
double precision, dimension(*) yd7,
double precision, dimension(*) yd8,
double precision, dimension(*) zd1,
double precision, dimension(*) zd2,
double precision, dimension(*) zd3,
double precision, dimension(*) zd4,
double precision, dimension(*) zd5,
double precision, dimension(*) zd6,
double precision, dimension(*) zd7,
double precision, dimension(*) zd8,
double precision, dimension(3,*) xdp,
integer, dimension(nparg,*) iparg,
integer ng,
integer nel,
dimension(nel,*), intent(in) mom,
dimension(nel), intent(in) tag22 )

Definition at line 35 of file scoor3_fvm.F.

51C-----------------------------------------------
52C D e s c r i p t i o n
53C-----------------------------------------------
54C 'alefvm' is related to a collocated scheme (built from FVM and based on Godunov scheme)
55C which was temporarily introduced for experimental option /INTER/TYPE22 (FSI coupling with cut cell method)
56C This cut cell method is not completed, abandoned, and is not an official option.
57C There is no other use for this scheme which is automatically enabled when /INTER/TYPE22 is defined (INT22>0 => IALEFVM=1).
58C
59C This subroutine is treating an uncut cell.
60C-----------------------------------------------
61C M o d u l e s
62C-----------------------------------------------
64 USE i22tri_mod
65 use element_mod , only : nixs
66C-----------------------------------------------
67C I m p l i c i t T y p e s
68C-----------------------------------------------
69#include "implicit_f.inc"
70C-----------------------------------------------
71C G l o b a l P a r a m e t e r s
72C-----------------------------------------------
73#include "mvsiz_p.inc"
74C-----------------------------------------------
75C C o m m o n B l o c k s
76C-----------------------------------------------
77#include "vect01_c.inc"
78#include "scr05_c.inc"
79#include "param_c.inc"
80#include "inter22.inc"
81C-----------------------------------------------
82C D u m m y A r g u m e n t s
83C-----------------------------------------------
84! MOM(K \in [1:3]) => GBUF%MOM((K-1)*NEL + I)
85
86 INTEGER IXS(NIXS,*),IPARG(NPARG,*),NG,NEL
87 my_real, INTENT(IN) :: mom(nel,*), tag22(nel)
89 . x(3,*),v(3,*),w(3,*), vis(*),
90 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
91 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
92 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
93 . vx1(*), vx2(*), vx3(*), vx4(*), vx5(*), vx6(*), vx7(*), vx8(*),
94 . vy1(*), vy2(*), vy3(*), vy4(*), vy5(*), vy6(*), vy7(*), vy8(*),
95 . vz1(*), vz2(*), vz3(*), vz4(*), vz5(*), vz6(*), vz7(*), vz8(*),
96 . vdx1(*),vdx2(*),vdx3(*),vdx4(*),vdx5(*),vdx6(*),vdx7(*),vdx8(*),
97 . vdy1(*),vdy2(*),vdy3(*),vdy4(*),vdy5(*),vdy6(*),vdy7(*),vdy8(*),
98 . vdz1(*),vdz2(*),vdz3(*),vdz4(*),vdz5(*),vdz6(*),vdz7(*),vdz8(*),
99 . vdx(*), vdy(*), vdz(*),vd2(*),offg(*),off(*),rho(*),
100 . rhoo(*),gama(mvsiz,6)
101
102 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),
103 . NC5(*), NC6(*), NC7(*), NC8(*), MXT(*), NGL(*),NGEO(*)
104
105 double precision
106 . xdp(3,*),
107 . xd1(*), xd2(*), xd3(*), xd4(*), xd5(*), xd6(*), xd7(*), xd8(*),
108 . yd1(*), yd2(*), yd3(*), yd4(*), yd5(*), yd6(*), yd7(*), yd8(*),
109 . zd1(*), zd2(*), zd3(*), zd4(*), zd5(*), zd6(*), zd7(*), zd8(*)
110C-----------------------------------------------
111C L o c a l V a r i a b l e s
112C-----------------------------------------------
113 INTEGER I, J,MXT_1,IB,NBCUT,NIN,MCELL
114 my_real, DIMENSION(MVSIZ) ::
115 . rx, ry, rz, sx, sy, sz, tx, ty, tz,
116 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z
117 my_real
118 . off_l,wdx(mvsiz),wdy(mvsiz),wdz(mvsiz),vw,vwn,vw1,vw2,vw3,surf,sum_surf,
119 . ww1,ww2,ww3
120
121 LOGICAL IsCutCell
122C=======================================================================
123
124 nin = 1
125 mxt_1 = ixs(1,1)
126 DO i=1,nel
127 vis(i) = zero
128 ngeo(i) = ixs(10,i)
129 ngl(i) = ixs(11,i)
130 mxt(i) = mxt_1
131 nc1(i) = ixs(2,i)
132 nc2(i) = ixs(3,i)
133 nc3(i) = ixs(4,i)
134 nc4(i) = ixs(5,i)
135 nc5(i) = ixs(6,i)
136 nc6(i) = ixs(7,i)
137 nc7(i) = ixs(8,i)
138 nc8(i) = ixs(9,i)
139 rhoo(i) = rho(i)
140 ENDDO
141
142
143 DO i=1,nel
144 vdx1(i)=zero
145 vdx2(i)=zero
146 vdx3(i)=zero
147 vdx4(i)=zero
148 vdx5(i)=zero
149 vdx6(i)=zero
150 vdx7(i)=zero
151 vdx8(i)=zero
152 vdy1(i)=zero
153 vdy2(i)=zero
154 vdy3(i)=zero
155 vdy4(i)=zero
156 vdy5(i)=zero
157 vdy6(i)=zero
158 vdy7(i)=zero
159 vdy8(i)=zero
160 vdz1(i)=zero
161 vdz2(i)=zero
162 vdz3(i)=zero
163 vdz4(i)=zero
164 vdz5(i)=zero
165 vdz6(i)=zero
166 vdz7(i)=zero
167 vdz8(i)=zero
168 ENDDO
169
170 off_l = zero
171 !----------------------------
172 ! NODAL COORDINATES |
173 !----------------------------
174 IF(iresp==1)THEN
175 DO i=1,nel
176 xd1(i)=xdp(1,nc1(i))
177 yd1(i)=xdp(2,nc1(i))
178 zd1(i)=xdp(3,nc1(i))
179 xd2(i)=xdp(1,nc2(i))
180 yd2(i)=xdp(2,nc2(i))
181 zd2(i)=xdp(3,nc2(i))
182 xd3(i)=xdp(1,nc3(i))
183 yd3(i)=xdp(2,nc3(i))
184 zd3(i)=xdp(3,nc3(i))
185 xd4(i)=xdp(1,nc4(i))
186 yd4(i)=xdp(2,nc4(i))
187 zd4(i)=xdp(3,nc4(i))
188 xd5(i)=xdp(1,nc5(i))
189 yd5(i)=xdp(2,nc5(i))
190 zd5(i)=xdp(3,nc5(i))
191 xd6(i)=xdp(1,nc6(i))
192 yd6(i)=xdp(2,nc6(i))
193 zd6(i)=xdp(3,nc6(i))
194 xd7(i)=xdp(1,nc7(i))
195 yd7(i)=xdp(2,nc7(i))
196 zd7(i)=xdp(3,nc7(i))
197 xd8(i)=xdp(1,nc8(i))
198 yd8(i)=xdp(2,nc8(i))
199 zd8(i)=xdp(3,nc8(i))
200 ENDDO
201 ELSE
202 DO i=1,nel
203 xd1(i)=x(1,nc1(i))
204 yd1(i)=x(2,nc1(i))
205 zd1(i)=x(3,nc1(i))
206 xd2(i)=x(1,nc2(i))
207 yd2(i)=x(2,nc2(i))
208 zd2(i)=x(3,nc2(i))
209 xd3(i)=x(1,nc3(i))
210 yd3(i)=x(2,nc3(i))
211 zd3(i)=x(3,nc3(i))
212 xd4(i)=x(1,nc4(i))
213 yd4(i)=x(2,nc4(i))
214 zd4(i)=x(3,nc4(i))
215 xd5(i)=x(1,nc5(i))
216 yd5(i)=x(2,nc5(i))
217 zd5(i)=x(3,nc5(i))
218 xd6(i)=x(1,nc6(i))
219 yd6(i)=x(2,nc6(i))
220 zd6(i)=x(3,nc6(i))
221 xd7(i)=x(1,nc7(i))
222 yd7(i)=x(2,nc7(i))
223 zd7(i)=x(3,nc7(i))
224 xd8(i)=x(1,nc8(i))
225 yd8(i)=x(2,nc8(i))
226 zd8(i)=x(3,nc8(i))
227 ENDDO
228 ENDIF
229
230 CALL srepiso3(
231 1 xd1, xd2, xd3, xd4,
232 2 xd5, xd6, xd7, xd8,
233 3 yd1, yd2, yd3, yd4,
234 4 yd5, yd6, yd7, yd8,
235 5 zd1, zd2, zd3, zd4,
236 6 zd5, zd6, zd7, zd8,
237 7 rx, ry, rz, sx,
238 8 sy, sz, tx, ty,
239 9 tz, nel)
240 CALL sreploc3(
241 1 rx, ry, rz, sx,
242 2 sy, sz, tx, ty,
243 3 tz, e1x, e2x, e3x,
244 4 e1y, e2y, e3y, e1z,
245 5 e2z, e3z, llt)
246
247 gama(i,1) = one
248 gama(i,2) = zero
249 gama(i,3) = zero
250 gama(i,4) = zero
251 gama(i,5) = one
252 gama(i,6) = zero
253
254 DO i=1,nel
255 off(i) = abs(offg(i))
256 off_l = min(off_l,offg(i))
257 ENDDO
258
259 !copy and cast XD (DP) to X (SP) to assure coherence between XD and X
260 DO i=1,nel
261 x1(i)= xd1(i)
262 y1(i)= yd1(i)
263 z1(i)= zd1(i)
264 x2(i)= xd2(i)
265 y2(i)= yd2(i)
266 z2(i)= zd2(i)
267 x3(i)= xd3(i)
268 y3(i)= yd3(i)
269 z3(i)= zd3(i)
270 x4(i)= xd4(i)
271 y4(i)= yd4(i)
272 z4(i)= zd4(i)
273 x5(i)= xd5(i)
274 y5(i)= yd5(i)
275 z5(i)= zd5(i)
276 x6(i)= xd6(i)
277 y6(i)= yd6(i)
278 z6(i)= zd6(i)
279 x7(i)= xd7(i)
280 y7(i)= yd7(i)
281 z7(i)= zd7(i)
282 x8(i)= xd8(i)
283 y8(i)= yd8(i)
284 z8(i)= zd8(i)
285 ENDDO
286
287 DO i=1,nel
288 vx1(i)=v(1,nc1(i))
289 vy1(i)=v(2,nc1(i))
290 vz1(i)=v(3,nc1(i))
291 vx2(i)=v(1,nc2(i))
292 vy2(i)=v(2,nc2(i))
293 vz2(i)=v(3,nc2(i))
294 vx3(i)=v(1,nc3(i))
295 vy3(i)=v(2,nc3(i))
296 vz3(i)=v(3,nc3(i))
297 vx4(i)=v(1,nc4(i))
298 vy4(i)=v(2,nc4(i))
299 vz4(i)=v(3,nc4(i))
300 vx5(i)=v(1,nc5(i))
301 vy5(i)=v(2,nc5(i))
302 vz5(i)=v(3,nc5(i))
303 vx6(i)=v(1,nc6(i))
304 vy6(i)=v(2,nc6(i))
305 vz6(i)=v(3,nc6(i))
306 vx7(i)=v(1,nc7(i))
307 vy7(i)=v(2,nc7(i))
308 vz7(i)=v(3,nc7(i))
309 vx8(i)=v(1,nc8(i))
310 vy8(i)=v(2,nc8(i))
311 vz8(i)=v(3,nc8(i))
312 ENDDO
313
314
315 IF(off_l<zero)THEN
316 DO i=1,nel
317 IF(offg(i)<zero)THEN
318 vx1(i)=zero
319 vy1(i)=zero
320 vz1(i)=zero
321 vx2(i)=zero
322 vy2(i)=zero
323 vz2(i)=zero
324 vx3(i)=zero
325 vy3(i)=zero
326 vz3(i)=zero
327 vx4(i)=zero
328 vy4(i)=zero
329 vz4(i)=zero
330 vx5(i)=zero
331 vy5(i)=zero
332 vz5(i)=zero
333 vx6(i)=zero
334 vy6(i)=zero
335 vz6(i)=zero
336 vx7(i)=zero
337 vy7(i)=zero
338 vz7(i)=zero
339 vx8(i)=zero
340 vy8(i)=zero
341 vz8(i)=zero
342 ENDIF
343 ENDDO
344 ENDIF
345
346 IF(iparg(64,ng)==1)THEN
347 !boundary material
348 vd2(1:nel)=zero
349 RETURN
350 ENDIF
351
352
353 !inter22 euler : w = taken from cut surface only (moving bcs)
354 ! ale : must also take w on polyedra brick nodes which are moving too
355
356
357 IF(int22==0)THEN
358 IF(jale/=0)THEN
359 DO i=1,nel
360 wdx(i) = one_over_8*( w(1,nc1(i))+w(1,nc2(i))+w(1,nc3(i))+w(1,nc4(i))+w(1,nc5(i))+w(1,nc6(i))+w(1,nc7(i))+w(1,nc8(i)))
361 wdy(i) = one_over_8*( w(2,nc1(i))+w(2,nc2(i))+w(2,nc3(i))+w(2,nc4(i))+w(2,nc5(i))+w(2,nc6(i))+w(2,nc7(i))+w(2,nc8(i)))
362 wdz(i) = one_over_8*( w(3,nc1(i))+w(3,nc2(i))+w(3,nc3(i))+w(3,nc4(i))+w(3,nc5(i))+w(3,nc6(i))+w(3,nc7(i))+w(3,nc8(i)))
363 vdx(i) = mom(i,1)/rho(i) - wdx(i)
364 vdy(i) = mom(i,2)/rho(i) - wdy(i)
365 vdz(i) = mom(i,3)/rho(i) - wdz(i)
366 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
367 ENDDO
368 ELSEIF(jeul/=0)THEN
369 DO i=1,nel
370 vdx(i) = mom(i,1)/rho(i)
371 vdy(i) = mom(i,2)/rho(i)
372 vdz(i) = mom(i,3)/rho(i)
373 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
374 ENDDO
375 ENDIF
376 ELSEIF(int22/=0)THEN
377 IF(jeul/=0)THEN
378 DO i=1,nel
379 wdx(i) = zero
380 wdy(i) = zero
381 wdz(i) = zero
382 vdx(i) = mom(i,1)/rho(i) - wdx(i)
383 vdy(i) = mom(i,2)/rho(i) - wdy(i)
384 vdz(i) = mom(i,3)/rho(i) - wdz(i)
385 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
386 ENDDO !next I
387 ELSEIF(jale/=0)THEN
388 DO i=1,nel
389 ib = 0
390 IF(int22/=0)ib = nint(tag22(i))
391 iscutcell = .false.
392 IF(ib/=0)THEN
393 nbcut=brick_list(nin,ib)%NBCUT
394 IF(nbcut>0)iscutcell=.true.
395 ENDIF
396 IF(iscutcell .EQV. .false.)THEN
397 wdx(i) = one_over_8*( w(1,nc1(i))+w(1,nc2(i))+w(1,nc3(i))+w(1,nc4(i))+w(1,nc5(i))+w(1,nc6(i))+w(1,nc7(i))+w(1,nc8(i)))
398 wdy(i) = one_over_8*( w(2,nc1(i))+w(2,nc2(i))+w(2,nc3(i))+w(2,nc4(i))+w(2,nc5(i))+w(2,nc6(i))+w(2,nc7(i))+w(2,nc8(i)))
399 wdz(i) = one_over_8*( w(3,nc1(i))+w(3,nc2(i))+w(3,nc3(i))+w(3,nc4(i))+w(3,nc5(i))+w(3,nc6(i))+w(3,nc7(i))+w(3,nc8(i)))
400 vdx(i) = mom(i,1)/rho(i) - wdx(i)
401 vdy(i) = mom(i,2)/rho(i) - wdy(i)
402 vdz(i) = mom(i,3)/rho(i) - wdz(i)
403 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
404 ELSE
405 mcell = brick_list(nin,ib)%MainID
406 IF (mcell==0)THEN
407 wdx(i) = zero
408 wdy(i) = zero
409 wdz(i) = zero
410 vdx(i) = zero
411 vdy(i) = zero
412 vdz(i) = zero
413 vd2(i) = zero
414 ELSE
415 vw = zero
416 vdx(i) = zero
417 vdy(i) = zero
418 vdz(i) = zero
419 vd2(i) = zero
420 j=maxloc(brick_list(nin,ib)%POLY(mcell)%FACE(1:6)%SURF,1)
421 surf = brick_list(nin,ib)%POLY(mcell)%FACE(j)%SURF
422 sum_surf = surf
423 vw1 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(1)
424 vw2 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(2)
425 vw3 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(3)
426 ww1 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(1)
427 ww2 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(2)
428 ww3 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(3)
429 vw1 = vw1-ww1
430 vw2 = vw2-ww2
431 vw3 = vw3-ww3
432 vwn = vw1*vw1 + vw2*vw2 + vw3*vw3
433 vdx(i) = surf*vw1
434 vdy(i) = surf*vw2
435 vdz(i) = surf*vw3
436 vd2(i) = vwn
437 DO j=1,6
438 surf = brick_list(nin,ib)%POLY(mcell)%FACE(j)%SURF
439 IF(surf>zero)THEN
440 sum_surf = sum_surf + surf
441 vw1 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(1)
442 vw2 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(2)
443 vw3 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(3)
444 ww1 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(1)
445 ww2 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(2)
446 ww3 = brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(3)
447 vw1 = vw1-ww1
448 vw2 = vw2-ww2
449 vw3 = vw3-ww3
450 vwn = vw1*vw1 + vw2*vw2 + vw3*vw3
451 vdx(i) = vdx(i)+surf*vw1
452 vdy(i) = vdy(i)+surf*vw2
453 vdz(i) = vdz(i)+surf*vw3
454 vd2(i) = max(vd2(i),vwn)
455 ENDIF
456 ENDDO
457 IF(sum_surf>zero)THEN
458 vdx(i) = vdx(i) / sum_surf
459 vdy(i) = vdy(i) / sum_surf
460 vdz(i) = vdz(i) / sum_surf
461 ENDIF
462 ENDIF !(MCELL==0)
463 ENDIF !(IsCutCell .EQV. .FALSE.)
464 ENDDO !next I
465 ENDIF
466 ENDIF
467
468
469 if(ibug22_vd2 == -1)then
470 do i=lft,llt
471 write (*,fmt='(A,I10,4F30.16)') "VD x,y,z,2, ID=",ixs(11,i), vdx(i),vdy(i),vdz(i),vd2(i)
472 enddo
473 endif
474
475 ! VD2(1:NEL) = ZERO
476 ! VDX(1:NEL) = ZERO
477 ! VDY(1:NEL) = ZERO
478 ! VDZ(1:NEL) = ZERO
479
480
481 !Here due to convection subroutine aconve.f
482 ! RHO = rho.vol
483 ! MOM = rho.U.vol
484 ! => MOM/RHO = U
485
486
487
488C-----------
489 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
type(brick_entity), dimension(:,:), allocatable, target brick_list
subroutine srepiso3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, f1x, f1y, f1z, f2x, f2y, f2z)
Definition srepiso3.F:35
subroutine sreploc3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition sreploc3.F:32