OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
q4deric2.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine q4deric2 (y1, y2, y3, y4, z1, z2, z3, z4, y12, y34, y13, y24, y14, y23, z12, z34, z13, z24, z14, z23, pyc1, pyc2, pzc1, pzc2, aire, volu, yavg, rx, ry, rz, sx, sy, sz, nel, jhbe)

Function/Subroutine Documentation

◆ q4deric2()

subroutine q4deric2 ( y1,
y2,
y3,
y4,
z1,
z2,
z3,
z4,
y12,
y34,
y13,
y24,
y14,
y23,
z12,
z34,
z13,
z24,
z14,
z23,
pyc1,
pyc2,
pzc1,
pzc2,
aire,
volu,
yavg,
rx,
ry,
rz,
sx,
sy,
sz,
integer, intent(in) nel,
integer, intent(in) jhbe )

Definition at line 29 of file q4deric2.F.

39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "com01_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER, INTENT(IN) :: NEL
55 INTEGER, INTENT(IN) :: JHBE
56C REAL
58 . y1(*),y2(*),y3(*),y4(*),z1(*),z2(*),z3(*),z4(*),
59 . y12(*),y34(*),y13(*),y24(*),y14(*),y23(*),
60 . z12(*),z34(*),z13(*),z24(*),z14(*),z23(*),
61 . pyc1(*),pyc2(*),pzc1(*),pzc2(*),aire(*),volu(*),
62 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
63 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,yavg(*)
64C-----------------------------------------------
65c FUNCTION:
66c ARGUMENTS: (I: input, O: output, IO: input & output, W: workspace)
67c TYPE NAME FUNCTION
68c I Y1(*)~Z4(*) - NODAL COORDINATES
69c O Y12(*)~Z23(*) - DIFFERENCE: Yi-Yj, Zi-Zj
70c O PYC1(*)~PZC2(*) - SHAPE DERIVATIVES AT ELEMENT CENTER
71c I AIRE(*) - ELEMENT AREA
72c I/O VOL(*) - ELEMENT VOL
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 INTEGER I
77C REAL
78C-----------------------------------------------
79C S o u r c e L i n e s
80C-----------------------------------------------
81 DO i=1,nel
82 y12(i) = y1(i) - y2(i)
83 y34(i) = y3(i) - y4(i)
84 y13(i) = y1(i) - y3(i)
85 y24(i) = y2(i) - y4(i)
86 y14(i) = y1(i) - y4(i)
87 y23(i) = y2(i) - y3(i)
88 z12(i) = z1(i) - z2(i)
89 z34(i) = z3(i) - z4(i)
90 z13(i) = z1(i) - z3(i)
91 z24(i) = z2(i) - z4(i)
92 z14(i) = z1(i) - z4(i)
93 z23(i) = z2(i) - z3(i)
94 END DO
95C
96 DO i=1,nel
97C dNi/dY, dNi/dZ, A=4.*|J|
98 pyc1(i) = half*(z2(i)-z4(i))/aire(i)
99 pyc2(i) = half*(z3(i)-z1(i))/aire(i)
100 pzc1(i) = half*(y4(i)-y2(i))/aire(i)
101 pzc2(i) = half*(y1(i)-y3(i))/aire(i)
102 ENDDO
103C COMPUTE VOLUME/(2*PI) FOR AXISYMMETRIC CASE
104 IF(n2d==1.AND.jhbe==17) THEN
105 DO i=1,nel
106 volu(i) = fourth*yavg(i)*aire(i)
107 ENDDO
108 ENDIF
109 DO i=1,nel
110 rx(i) = one
111 ry(i) = zero
112 rz(i) = zero
113 sx(i) = zero
114 sy(i) =half*(y2(i)+y3(i)-y1(i)-y4(i))
115 sz(i) =half*(z2(i)+z3(i)-z1(i)-z4(i))
116 END DO
117C
118 RETURN
#define my_real
Definition cppsort.cpp:32