OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
wpor.F File Reference
#include "implicit_f.inc"
#include "param_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine wpor (geo, nodpor, x, v, vr, w, nale, nporgeo)

Function/Subroutine Documentation

◆ wpor()

subroutine wpor ( geo,
integer, dimension(*) nodpor,
x,
v,
vr,
w,
integer, dimension(*) nale,
integer, dimension(*) nporgeo )

Definition at line 28 of file wpor.F.

31C-----------------------------------------------
32C D e s c r i p t i o n
33C-----------------------------------------------
34C GRID VELOCITY POROUS MEDIA
35C AUGUST 1994
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "param_c.inc"
44#include "com04_c.inc"
45#include "com08_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER NODPOR(*), NALE(*), NPORGEO(*)
50 my_real geo(npropg,numgeo),x(3,numnod),v(3,numnod),vr(3,numnod),w(3,numnod)
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER NAD,IG,N,IR,M,I,JP
55 my_real vg(3),v1x2,v2x1,v2x3,v3x2,v3x1,v1x3
56C-----------------------------------------------
57C S o u r c e L i n e s
58C-----------------------------------------------
59 nad=0
60 DO ig=1,numgeo
61 IF(int(geo(12,ig)) /= 15)cycle
62 n = nporgeo(ig) ! num of local nodes stored in a specific spmd array
63 IF(n == 0)cycle
64 ir=int(geo(33,ig))
65 IF(ir > 0)THEN
66 m=int(geo(29,ig))
67 vg(1)=vr(1,m)
68 vg(2)=vr(2,m)
69 vg(3)=vr(3,m)
70 DO i=nad+1,nad+n
71 jp=nodpor(i)
72 IF(iabs(nale(jp)) == 1)THEN
73 v1x2=vg(1)*(x(2,jp)-x(2,m))
74 v2x1=vg(2)*(x(1,jp)-x(1,m))
75 v2x3=vg(2)*(x(3,jp)-x(3,m))
76 v3x2=vg(3)*(x(2,jp)-x(2,m))
77 v3x1=vg(3)*(x(1,jp)-x(1,m))
78 v1x3=vg(1)*(x(3,jp)-x(3,m))
79 w(1,jp)= v(1,m) + v2x3-v3x2-half*dt12*(vg(2)*v2x1+vg(3)*v3x1)
80 w(2,jp)= v(2,m) + v3x1-v1x3-half*dt12*(vg(3)*v3x2+vg(1)*v1x2)
81 w(3,jp)= v(3,m) + v1x2-v2x1-half*dt12*(vg(1)*v1x3+vg(2)*v2x3)
82 ENDIF
83 ENDDO
84 ENDIF
85 nad=nad+n
86 enddo!next IG
87C
88 RETURN
#define my_real
Definition cppsort.cpp:32