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

Go to the source code of this file.

Functions/Subroutines

subroutine s16sigs3 (dxx, dyy, dzz, d4, d5, d6, rx, ry, rz, sx, sy, sz, tx, ty, tz, eint, vol0, sigs, mxt, pm, dt1, vol0dp, nel)

Function/Subroutine Documentation

◆ s16sigs3()

subroutine s16sigs3 ( dxx,
dyy,
dzz,
d4,
d5,
d6,
rx,
ry,
rz,
sx,
sy,
sz,
tx,
ty,
tz,
eint,
vol0,
sigs,
integer, dimension(*) mxt,
pm,
dt1,
double precision, dimension(*) vol0dp,
integer, intent(in) nel )

Definition at line 28 of file s16sigs3.F.

35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C C o m m o n B l o c k s
41C-----------------------------------------------
42#include "param_c.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER, INTENT(IN) :: NEL
47 INTEGER MXT(*)
49 1 dxx(*) ,dyy(*) ,dzz(*) ,d4(*) ,d5(*) ,d6(*) ,
50 2 rx(*) ,ry(*) ,rz(*) ,sx(*) ,sy(*) ,sz(*) ,
51 3 tx(*) ,ty(*) ,tz(*) ,eint(*),vol0(*),sigs(*),
52 4 pm(npropm,*), dt1
53 DOUBLE PRECISION
54 . VOL0DP(*)
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I,MX
60 . aa, dxy, dyz, dzx, drr, dss, dtt, drs, dst, dtr,
61 . shf,a11,a12,a13,a21,a22,a23,a31,a32,a33,e,nu,d11
62C-----------------------------------------------
63 mx = mxt(1)
64 e = pm(20,mx)
65 nu = pm(21,mx)
66 DO i=1,nel
67 shf = five_over_6
68 aa = em01 * sigs(i)* ((one +nu) * (one -nu-nu)) / (e * (one -nu))
69
70 dxy = half * d4(i)
71 dyz = half * d5(i)
72 dzx = half * d6(i)
73
74 a11 = dxx(i)*rx(i)+dxy*ry(i)+dzx*rz(i)
75 a12 = dxx(i)*sx(i)+dxy*sy(i)+dzx*sz(i)
76 a13 = dxx(i)*tx(i)+dxy*ty(i)+dzx*tz(i)
77 a21 = dxy*rx(i)+dyy(i)*ry(i)+dyz*rz(i)
78 a22 = dxy*sx(i)+dyy(i)*sy(i)+dyz*sz(i)
79 a23 = dxy*tx(i)+dyy(i)*ty(i)+dyz*tz(i)
80 a31 = dzx*rx(i)+dyz*ry(i)+dzz(i)*rz(i)
81 a32 = dzx*sx(i)+dyz*sy(i)+dzz(i)*sz(i)
82 a33 = dzx*tx(i)+dyz*ty(i)+dzz(i)*tz(i)
83
84 drr = rx(i)*a11+ry(i)*a21+rz(i)*a31
85 dss = sx(i)*a12+sy(i)*a22+sz(i)*a32
86 dtt = tx(i)*a13+ty(i)*a23+tz(i)*a33
87 dtr = tx(i)*a11+ty(i)*a21+tz(i)*a31
88 drs = rx(i)*a12+ry(i)*a22+rz(i)*a32
89 dst = sx(i)*a13+sy(i)*a23+sz(i)*a33
90
91 vol0(i) = vol0(i) * (one + aa)
92 vol0dp(i) = vol0dp(i) * (one + aa)
93 eint(i) = eint(i) / (1. + aa)
94 dss = dss - aa/dt1
95
96 drs = drs * shf
97 dst = dst * shf
98
99 a11 = drr*rx(i)+drs*sx(i)+dtr*tx(i)
100 a12 = drr*ry(i)+drs*sy(i)+dtr*ty(i)
101 a13 = drr*rz(i)+drs*sz(i)+dtr*tz(i)
102 a21 = drs*rx(i)+dss*sx(i)+dst*tx(i)
103 a22 = drs*ry(i)+dss*sy(i)+dst*ty(i)
104 a23 = drs*rz(i)+dss*sz(i)+dst*tz(i)
105 a31 = dtr*rx(i)+dst*sx(i)+dtt*tx(i)
106 a32 = dtr*ry(i)+dst*sy(i)+dtt*ty(i)
107 a33 = dtr*rz(i)+dst*sz(i)+dtt*tz(i)
108
109 dxx(i)= rx(i)*a11+sx(i)*a21+tx(i)*a31
110 dyy(i)= ry(i)*a12+sy(i)*a22+ty(i)*a32
111 dzz(i)= rz(i)*a13+sz(i)*a23+tz(i)*a33
112 dzx = rz(i)*a11+sz(i)*a21+tz(i)*a31
113 dxy = rx(i)*a12+sx(i)*a22+tx(i)*a32
114 dyz = ry(i)*a13+sy(i)*a23+ty(i)*a33
115
116 d4(i) = two * dxy
117 d5(i) = two * dyz
118 d6(i) = two * dzx
119 ENDDO
120C-----------
121 RETURN
#define my_real
Definition cppsort.cpp:32