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

Go to the source code of this file.

Functions/Subroutines

subroutine cdkderic3 (jft, jlt, x2, y2, x3, y3, area2, alpe, aldt, px2, py2, px3, py3, px, py, pxy, pyy, vol, volg, nu, thk2)
subroutine cdkderi3 (jft, jlt, px2, py2, px3, py3, px, py, pxy, pyy, bz1, bz2, bz3, brx1, brx2, brx3, bry1, bry2, bry3, ksi, eta)

Function/Subroutine Documentation

◆ cdkderi3()

subroutine cdkderi3 ( integer jft,
integer jlt,
px2,
py2,
px3,
py3,
px,
py,
pxy,
pyy,
bz1,
bz2,
bz3,
brx1,
brx2,
brx3,
bry1,
bry2,
bry3,
ksi,
eta )

Definition at line 104 of file cdkderi3.F.

107C-----------------------------------------------
108C I m p l i c i t T y p e s
109C-----------------------------------------------
110#include "implicit_f.inc"
111C-----------------------------------------------
112C G l o b a l P a r a m e t e r s
113C-----------------------------------------------
114#include "mvsiz_p.inc"
115C-----------------------------------------------
116C D u m m y A r g u m e n t s
117C-----------------------------------------------
118 INTEGER JFT, JLT
119 my_real
120 . px2(*), py2(*), px3(*), py3(*),
121 . px(mvsiz,3), py(mvsiz,3), pxy(mvsiz,3), pyy(mvsiz,3),
122 . bz1(mvsiz,2),bz2(mvsiz,2),bz3(mvsiz,2), brx1(mvsiz,3),
123 . brx2(mvsiz,3),brx3(mvsiz,3),bry1(mvsiz,3),bry2(mvsiz,3),bry3(mvsiz,3),
124 . ksi, eta
125C-----------------------------------------------
126C L o c a l V a r i a b l e s
127C-----------------------------------------------
128 INTEGER I
129 my_real :: xr1,xr2,xr3,yr1,yr2,yr3,xs1,xs2,xs3,ys1,ys2,ys3,x2y,y2x,x6,y6,xy6,rxy1(3),rxy2(3)
130C-----------------------------------------------
131 x2y =one-two*ksi-eta
132 y2x =one-two*eta-ksi
133 x6 = six*ksi-one
134 y6 = six*eta-one
135 xy6 = x6+y6-three
136 DO i=jft,jlt
137 xr1= px(i,3)*x2y
138 xr2= px(i,2)*eta
139 xr3= px(i,1)*eta
140 xs1= -px(i,2)*y2x
141 xs2= -px(i,3)*ksi
142 xs3= -px(i,1)*ksi
143 bz1(i,1)=px2(i)*(-xr1+xr3)-px3(i)*(xs3+xs2)
144 bz1(i,2)=-px2(i)*(xr2+xr3)+px3(i)*(-xs1+xs3)
145C BZ1(1,I)=-BZ1(2,I)-BZ1(3,I)
146C
147 yr1= py(i,3)*x2y
148 yr2= py(i,2)*eta
149 yr3= py(i,1)*eta
150 ys1= -py(i,2)*y2x
151 ys2= -py(i,3)*ksi
152 ys3= -py(i,1)*ksi
153 bz2(i,1)=py2(i)*(-yr1+yr3)-py3(i)*(ys3+ys2)
154 bz2(i,2)=-py2(i)*(yr2+yr3)+py3(i)*(-ys1+ys3)
155C BZ2(1,I)=-BZ2(2,I)-BZ2(3,I)
156C
157 bz3(i,1)=px2(i)*(-yr1+yr3)-px3(i)*(ys3+ys2)+
158 . py2(i)*(-xr1+xr3)-py3(i)*(xs3+xs2)
159 bz3(i,2)=-px2(i)*(yr2+yr3)+px3(i)*(-ys1+ys3)
160 . -py2(i)*(xr2+xr3)+py3(i)*(-xs1+xs3)
161C BZ3(1,I)=-BZ3(2,I)-BZ3(3,I)
162 ENDDO
163C
164 DO i=jft,jlt
165 xr1= pxy(i,3)*x2y
166 xr2= -pxy(i,2)*eta
167 xr3= pxy(i,1)*eta
168 xs1= pxy(i,2)*y2x
169 xs2= -pxy(i,3)*ksi
170 xs3= pxy(i,1)*ksi
171 brx1(i,1)=px2(i)*(xr1+xr2)+px3(i)*(xs1+xs2)
172 brx1(i,2)=px2(i)*(xr1+xr3)+px3(i)*(xs3+xs2)
173 brx1(i,3)=px2(i)*(xr2+xr3)+px3(i)*(xs1+xs3)
174C
175 yr1= pyy(i,3)*x2y
176 yr2= one-pyy(i,2)*eta
177 yr3= pyy(i,1)*eta-one
178 ys1= pyy(i,2)*y2x
179 ys2= one-pyy(i,3)*ksi
180 ys3= pyy(i,1)*ksi-one
181 brx2(i,1)=py2(i)*(yr1+yr2)+py3(i)*(ys1+ys2)
182 brx2(i,2)=py2(i)*(yr1+yr3)+py3(i)*(ys3+ys2)
183 brx2(i,3)=py2(i)*(yr2+yr3)+py3(i)*(ys1+ys3)
184C
185 rxy1(1)=px2(i)*(yr1+yr2)+px3(i)*(ys1+ys2)
186 rxy2(1)=py2(i)*(xr1+xr2)+py3(i)*(xs1+xs2)
187 rxy1(2)=px2(i)*(yr1+yr3)+px3(i)*(ys3+ys2)
188 rxy2(2)=py2(i)*(xr1+xr3)+py3(i)*(xs3+xs2)
189 rxy1(3)=px2(i)*(yr2+yr3)+px3(i)*(ys1+ys3)
190 rxy2(3)=py2(i)*(xr2+xr3)+py3(i)*(xs1+xs3)
191 brx3(i,1)=rxy1(1)+rxy2(1)
192 brx3(i,2)=rxy1(2)+rxy2(2)
193 brx3(i,3)=rxy1(3)+rxy2(3)
194C
195 bry1(i,1)=rxy1(1)+(px2(i)+px3(i))*xy6
196 bry1(i,2)=rxy1(2)+px2(i)*x6
197 bry1(i,3)=rxy1(3)+px3(i)*y6
198C
199 bry2(i,1)=-rxy2(1)
200 bry2(i,2)=-rxy2(2)
201 bry2(i,3)=-rxy2(3)
202C
203 bry3(i,1)=(py2(i)+py3(i))*xy6+brx2(i,1)-brx1(i,1)
204 bry3(i,2)=py2(i)*x6+brx2(i,2)-brx1(i,2)
205 bry3(i,3)=py3(i)*y6+brx2(i,3)-brx1(i,3)
206 ENDDO
207C
208C---------------------------------------------------------
209 RETURN
210C
#define my_real
Definition cppsort.cpp:32

◆ cdkderic3()

subroutine cdkderic3 ( integer jft,
integer jlt,
x2,
y2,
x3,
y3,
area2,
alpe,
aldt,
px2,
py2,
px3,
py3,
px,
py,
pxy,
pyy,
vol,
volg,
nu,
thk2 )

Definition at line 28 of file cdkderi3.F.

31C-----------------------------------------------
32C I m p l i c i t T y p e s
33C-----------------------------------------------
34#include "implicit_f.inc"
35C-----------------------------------------------
36C G l o b a l P a r a m e t e r s
37C-----------------------------------------------
38#include "mvsiz_p.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER JFT, JLT
44 . x2(*), y2(*), x3(*), y3(*),area2(*),
45 . px2(*), py2(*), px3(*), py3(*),
46 . px(mvsiz,3), py(mvsiz,3), pxy(mvsiz,3), pyy(mvsiz,3),
47 . aldt(*),alpe(*),vol(*),volg(*),nu(*),thk2(*)
48C-----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
51 INTEGER :: I
52 my_real :: areai(mvsiz),al1, al2, al3, almax,almin,fac
53 my_real :: x32(mvsiz), y32(mvsiz),al4, al5, al6
54C-----------------------------------------------
55 DO i=jft,jlt
56 areai(i)=one/area2(i)
57 px2(i)=y3(i)*areai(i)
58 py2(i)=-x3(i)*areai(i)
59 px3(i)=-y2(i)*areai(i)
60 py3(i)=x2(i)*areai(i)
61 x32(i) =x3(i)-x2(i)
62 y32(i) =y3(i)-y2(i)
63 ENDDO
64C
65 DO i=jft,jlt
66 al1 = x32(i)*x32(i) + y32(i)*y32(i)
67 al2 = x3(i) * x3(i) + y3(i) * y3(i)
68 al3 = x2(i) * x2(i) + y2(i) * y2(i)
69 almax = max(al1,al2,al3)
70 almin = min(al1,al2,al3)
71 fac =1.0+0.6*(1+nu(i))*thk2(i)/almin
72 almax = almax*fac
73 aldt(i)= area2(i) / sqrt(almax)
74 alpe(i)=one
75 al4 = three/max(al1,em20)
76 al5 = three/max(al2,em20)
77 al6 = three/max(al3,em20)
78 pxy(i,1)=x32(i)*y32(i)*al4
79 pxy(i,2)=x3(i)*y3(i)*al5
80 pxy(i,3)=x2(i)*y2(i)*al6
81 pyy(i,1)=y32(i)*y32(i)*al4
82 pyy(i,2)=y3(i)*y3(i)*al5
83 pyy(i,3)=y2(i)*y2(i)*al6
84 al4 = two*al4
85 al5 = two*al5
86 al6 = two*al6
87 px(i,1)=x32(i)*al4
88 px(i,2)=-x3(i)*al5
89 px(i,3)=x2(i)*al6
90 py(i,1)=y32(i)*al4
91 py(i,2)=-y3(i)*al5
92 py(i,3)=y2(i)*al6
93 vol(i) = third*volg(i)
94 ENDDO
95C---------------------------------------------------------
96 RETURN
97C
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21