OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s16sigs3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| s16sigs3 ../engine/source/elements/thickshell/solide16/s16sigs3.F
25!||--- called by ------------------------------------------------------
26!|| s16forc3 ../engine/source/elements/thickshell/solide16/s16forc3.F
27!||====================================================================
28 SUBROUTINE s16sigs3(
29 1 DXX, DYY, DZZ, D4,
30 2 D5, D6, RX, RY,
31 3 RZ, SX, SY, SZ,
32 4 TX, TY, TZ, EINT,
33 5 VOL0, SIGS, MXT, PM,
34 6 DT1, VOL0DP, NEL)
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(*)
48 my_real
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
59 my_real
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
122 END
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)
Definition s16sigs3.F:35