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

Go to the source code of this file.

Functions/Subroutines

subroutine s10jacobnel (alph, beta, w, x1b, x2b, x3b, x4a, x5b, x6b, x7b, x8b, x9b, x10b, x8a, x9a, x10a, y1b, y2b, y3b, y4a, y5b, y6b, y7b, y8b, y9b, y10b, y8a, y9a, y10a, z1b, z2b, z3b, z4a, z5b, z6b, z7b, z8b, z9b, z10b, z8a, z9a, z10a, px1, px2, px3, px4, px5, px6, px7, px8, px9, px10, py1, py2, py3, py4, py5, py6, py7, py8, py9, py10, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pz9, pz10, vol, voldp, nel)

Function/Subroutine Documentation

◆ s10jacobnel()

subroutine s10jacobnel ( alph,
beta,
w,
double precision, dimension(mvsiz) x1b,
double precision, dimension(mvsiz) x2b,
double precision, dimension(mvsiz) x3b,
double precision, dimension(mvsiz) x4a,
double precision, dimension(mvsiz) x5b,
double precision, dimension(mvsiz) x6b,
double precision, dimension(mvsiz) x7b,
double precision, dimension(mvsiz) x8b,
double precision, dimension(mvsiz) x9b,
double precision, dimension(mvsiz) x10b,
double precision, dimension(mvsiz) x8a,
double precision, dimension(mvsiz) x9a,
double precision, dimension(mvsiz) x10a,
double precision, dimension(mvsiz) y1b,
double precision, dimension(mvsiz) y2b,
double precision, dimension(mvsiz) y3b,
double precision, dimension(mvsiz) y4a,
double precision, dimension(mvsiz) y5b,
double precision, dimension(mvsiz) y6b,
double precision, dimension(mvsiz) y7b,
double precision, dimension(mvsiz) y8b,
double precision, dimension(mvsiz) y9b,
double precision, dimension(mvsiz) y10b,
double precision, dimension(mvsiz) y8a,
double precision, dimension(mvsiz) y9a,
double precision, dimension(mvsiz) y10a,
double precision, dimension(mvsiz) z1b,
double precision, dimension(mvsiz) z2b,
double precision, dimension(mvsiz) z3b,
double precision, dimension(mvsiz) z4a,
double precision, dimension(mvsiz) z5b,
double precision, dimension(mvsiz) z6b,
double precision, dimension(mvsiz) z7b,
double precision, dimension(mvsiz) z8b,
double precision, dimension(mvsiz) z9b,
double precision, dimension(mvsiz) z10b,
double precision, dimension(mvsiz) z8a,
double precision, dimension(mvsiz) z9a,
double precision, dimension(mvsiz) z10a,
px1,
px2,
px3,
px4,
px5,
px6,
px7,
px8,
px9,
px10,
py1,
py2,
py3,
py4,
py5,
py6,
py7,
py8,
py9,
py10,
pz1,
pz2,
pz3,
pz4,
pz5,
pz6,
pz7,
pz8,
pz9,
pz10,
vol,
double precision, dimension(*) voldp,
integer nel )

Definition at line 28 of file s10jacobnel.F.

36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER NEL
48 double precision
49 . x1b(mvsiz),x2b(mvsiz),x3b(mvsiz),x4a(mvsiz),x5b(mvsiz),
50 . x6b(mvsiz),x7b(mvsiz),x8b(mvsiz),x9b(mvsiz),x10b(mvsiz),
51 . x8a(mvsiz),x9a(mvsiz),x10a(mvsiz),
52 . y1b(mvsiz),y2b(mvsiz),y3b(mvsiz),y4a(mvsiz),y5b(mvsiz),
53 . y6b(mvsiz),y7b(mvsiz),y8b(mvsiz),y9b(mvsiz),y10b(mvsiz),
54 . y8a(mvsiz),y9a(mvsiz),y10a(mvsiz),
55 . z1b(mvsiz),z2b(mvsiz),z3b(mvsiz),z4a(mvsiz),z5b(mvsiz),
56 . z6b(mvsiz),z7b(mvsiz),z8b(mvsiz),z9b(mvsiz),z10b(mvsiz),
57 . z8a(mvsiz),z9a(mvsiz),z10a(mvsiz),voldp(*)
58
60 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),px5(mvsiz),
61 . px6(mvsiz),px7(mvsiz),px8(mvsiz),px9(mvsiz),px10(mvsiz),
62 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),py5(mvsiz),
63 . py6(mvsiz),py7(mvsiz),py8(mvsiz),py9(mvsiz),py10(mvsiz),
64 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),pz5(mvsiz),
65 . pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),pz9(mvsiz),pz10(mvsiz),
66 . vol(mvsiz),alph,beta,w
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 INTEGER I
71 DOUBLE PRECISION
72 . D,A4MB4,A4,B4,BB,AB,B2,A4_0,B4_0,
73 . DXDR,DXDS,DXDT,DYDR,DYDS,DYDT,DZDR,DZDS,DZDT
74
75 DOUBLE PRECISION AA,A4M1,B4M1
76
77 DOUBLE PRECISION
78 . DRDX, DSDX, DTDX,
79 . DRDY, DSDY, DTDY,
80 . DRDZ, DSDZ, DTDZ,
81 . DET,WUNSIX
82C-----------------------------------------------
83c AA = (TWO*ALPH - ONE)*ALPH
84c BB = (TWO*BETA - ONE)*BETA
85c B2 = FOUR*BETA*BETA
86c AB = FOUR*ALPH*BETA
87cC-----------------------------------------------
88C
89 a4_0 = four * alph
90 b4_0 = four * beta
91 wunsix = w*one_over_6
92#include "nofusion.inc"
93 DO i=1,nel
94 aa = x5b(i) + x6b(i) + x7b(i)
95 . - x4a(i) - x8b(i) - x9b(i) - x10b(i)
96 dxdr = x1b(i) +x8a(i) - x6b(i) + aa
97 dxds = x2b(i) +x9a(i) - x7b(i) + aa
98 dxdt = x3b(i) +x10a(i)- x5b(i) + aa
99C
100 aa = y5b(i) + y6b(i) + y7b(i)
101 . - y4a(i) - y8b(i) - y9b(i) - y10b(i)
102 dydr = y1b(i) +y8a(i) - y6b(i) + aa
103 dyds = y2b(i) +y9a(i) - y7b(i) + aa
104 dydt = y3b(i) +y10a(i)- y5b(i) + aa
105C
106 aa = z5b(i) + z6b(i) + z7b(i)
107 . - z4a(i) - z8b(i) - z9b(i) - z10b(i)
108 dzdr = z1b(i) +z8a(i) - z6b(i) + aa
109 dzds = z2b(i) +z9a(i) - z7b(i) + aa
110 dzdt = z3b(i) +z10a(i)- z5b(i) + aa
111C
112 drdx=dyds*dzdt-dzds*dydt
113 dsdx=dydt*dzdr-dzdt*dydr
114 dtdx=dydr*dzds-dzdr*dyds
115C
116 drdy=dzds*dxdt-dxds*dzdt
117 dsdy=dzdt*dxdr-dxdt*dzdr
118 dtdy=dzdr*dxds-dxdr*dzds
119C
120 drdz=dxds*dydt-dyds*dxdt
121 dsdz=dxdt*dydr-dydt*dxdr
122 dtdz=dxdr*dyds-dydr*dxds
123C
124 det = dxdr * drdx + dydr * drdy + dzdr * drdz
125
126 d = one/max(em30,det)
127C
128 a4m1 = d *(a4_0 - one)
129 b4m1 = d *(b4_0 - one)
130!
131 b4 = d * b4_0
132 a4 = d * a4_0
133 a4mb4 = a4 - b4
134 voldp(i) = wunsix * det
135 vol(i) = voldp(i)
136C
137 px1(i) = b4m1 * drdx
138 py1(i) = b4m1 * drdy
139 pz1(i) = b4m1 * drdz
140C
141 px2(i) = b4m1 * dsdx
142 py2(i) = b4m1 * dsdy
143 pz2(i) = b4m1 * dsdz
144C
145 px3(i) = b4m1 * dtdx
146 py3(i) = b4m1 * dtdy
147 pz3(i) = b4m1 * dtdz
148C
149 px4(i) =-a4m1 * (drdx+dsdx+dtdx)
150 py4(i) =-a4m1 * (drdy+dsdy+dtdy)
151 pz4(i) =-a4m1 * (drdz+dsdz+dtdz)
152C
153 px5(i) = b4 * (drdx+dsdx)
154 py5(i) = b4 * (drdy+dsdy)
155 pz5(i) = b4 * (drdz+dsdz)
156C
157 px6(i) = b4 * (dsdx+dtdx)
158 py6(i) = b4 * (dsdy+dtdy)
159 pz6(i) = b4 * (dsdz+dtdz)
160C
161 px7(i) = b4 * (dtdx+drdx)
162 py7(i) = b4 * (dtdy+drdy)
163 pz7(i) = b4 * (dtdz+drdz)
164C
165 px8(i) = a4mb4 * drdx - px6(i)
166 py8(i) = a4mb4 * drdy - py6(i)
167 pz8(i) = a4mb4 * drdz - pz6(i)
168C
169 px9(i) = a4mb4 * dsdx - px7(i)
170 py9(i) = a4mb4 * dsdy - py7(i)
171 pz9(i) = a4mb4 * dsdz - pz7(i)
172C
173 px10(i)= a4mb4 * dtdx - px5(i)
174 py10(i)= a4mb4 * dtdy - py5(i)
175 pz10(i)= a4mb4 * dtdz - pz5(i)
176C
177 ENDDO
178C
179 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21