OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8e_sig_a.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!|| s8e_sig_a ../engine/source/elements/solid/solide8e/s8e_sig_a.F
25!||--- called by ------------------------------------------------------
26!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
27!||====================================================================
28 SUBROUTINE s8e_sig_a(
29 1 C1, G, OFF, BXY1,
30 2 BXY2, BXY3, BXY4, BXY5,
31 3 BXY6, BXY7, BXY8, BYX1,
32 4 BYX2, BYX3, BYX4, BYX5,
33 5 BYX6, BYX7, BYX8, BXZ1,
34 6 BXZ2, BXZ3, BXZ4, BXZ5,
35 7 BXZ6, BXZ7, BXZ8, BZX1,
36 8 BZX2, BZX3, BZX4, BZX5,
37 9 BZX6, BZX7, BZX8, BYZ1,
38 A BYZ2, BYZ3, BYZ4, BYZ5,
39 B BYZ6, BYZ7, BYZ8, BZY1,
40 C BZY2, BZY3, BZY4, BZY5,
41 D BZY6, BZY7, BZY8, VX1,
42 E VX2, VX3, VX4, VX5,
43 F VX6, VX7, VX8, VY1,
44 G VY2, VY3, VY4, VY5,
45 H VY6, VY7, VY8, VZ1,
46 I VZ2, VZ3, VZ4, VZ5,
47 J VZ6, VZ7, VZ8, PIJ,
48 K SIG_A, EINT, VOL, D1,
49 L D2, D3, SIG, S1,
50 M S2, S3, NEL, OFFG)
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C G l o b a l P a r a m e t e r s
57C-----------------------------------------------
58#include "mvsiz_p.inc"
59#include "com08_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER NEL
64 my_real
65 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
66 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
67 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
68 . BXY1(*),BXY2(*),BXY3(*),BXY4(*),
69 . BXY5(*),BXY6(*),BXY7(*),BXY8(*),
70 . BYX1(*),BYX2(*),BYX3(*),BYX4(*),
71 . BYX5(*),BYX6(*),BYX7(*),BYX8(*),
72 . BXZ1(*),BXZ2(*),BXZ3(*),BXZ4(*),
73 . BXZ5(*),BXZ6(*),BXZ7(*),BXZ8(*),
74 . BZX1(*),BZX2(*),BZX3(*),BZX4(*),
75 . BZX5(*),BZX6(*),BZX7(*),BZX8(*),
76 . BYZ1(*),BYZ2(*),BYZ3(*),BYZ4(*),
77 . BYZ5(*),BYZ6(*),BYZ7(*),BYZ8(*),
78 . BZY1(*),BZY2(*),BZY3(*),BZY4(*),
79 . BZY5(*),BZY6(*),BZY7(*),BZY8(*),
80 . PIJ(NEL,*),C1,G,SIG_A(MVSIZ,3),OFF(*),EINT(*),
81 . VOL(*),D1(*),D2(*),D3(*),SIG(NEL,6),S1(*),S2(*),S3(*),OFFG(*)
82C-----------------------------------------------
83C L o c a l V a r i a b l e s
84C-----------------------------------------------
85 INTEGER I,J,K
86 my_real
87 . dc1,dg2,dxx(mvsiz),dyy(mvsiz),dzz(mvsiz),ekk,dav,
88 . dt05,e1,e2,e3,de,p2
89C PIJ(NEL,25-27) are used call stress with v-terms
90C-----------------------------------------------
91 IF (tt==zero) pij(1:nel,25:27)=zero
92C----1,compute Dii with v-terms, compute incremental stress
93 DO i=1,nel
94 IF (offg(i) >one) cycle
95 dyy(i) =bxy1(i)*vx1(i)+bxy2(i)*vx2(i)
96 + +bxy3(i)*vx3(i)+bxy4(i)*vx4(i)
97 + +bxy5(i)*vx5(i)+bxy6(i)*vx6(i)
98 + +bxy7(i)*vx7(i)+bxy8(i)*vx8(i)
99 + +bzy1(i)*vz1(i)+bzy2(i)*vz2(i)
100 + +bzy3(i)*vz3(i)+bzy4(i)*vz4(i)
101 + +bzy5(i)*vz5(i)+bzy6(i)*vz6(i)
102 + +bzy7(i)*vz7(i)+bzy8(i)*vz8(i)
103 dzz(i) =bxz1(i)*vx1(i)+bxz2(i)*vx2(i)
104 + +bxz3(i)*vx3(i)+bxz4(i)*vx4(i)
105 + +bxz5(i)*vx5(i)+bxz6(i)*vx6(i)
106 + +bxz7(i)*vx7(i)+bxz8(i)*vx8(i)
107 + +byz1(i)*vy1(i)+byz2(i)*vy2(i)
108 + +byz3(i)*vy3(i)+byz4(i)*vy4(i)
109 + +byz5(i)*vy5(i)+byz6(i)*vy6(i)
110 + +byz7(i)*vy7(i)+byz8(i)*vy8(i)
111 dxx(i) =byx1(i)*vy1(i)+byx2(i)*vy2(i)
112 + +byx3(i)*vy3(i)+byx4(i)*vy4(i)
113 + +byx5(i)*vy5(i)+byx6(i)*vy6(i)
114 + +byx7(i)*vy7(i)+byx8(i)*vy8(i)
115 + +bzx1(i)*vz1(i)+bzx2(i)*vz2(i)
116 + +bzx3(i)*vz3(i)+bzx4(i)*vz4(i)
117 + +bzx5(i)*vz5(i)+bzx6(i)*vz6(i)
118 + +bzx7(i)*vz7(i)+bzx8(i)*vz8(i)
119 ENDDO
120 dc1=c1*dt1
121 dg2=two*g*dt1
122 sig_a(1:nel,1:3)=pij(1:nel,25:27)
123 DO i=1,nel
124 IF (offg(i) >one) cycle
125 ekk=(dxx(i)+dyy(i)+dzz(i))*dc1
126c IF (OFFG(I) >ONE) EKK=ZERO
127 dav=-third*(dxx(i)+dyy(i)+dzz(i))
128 pij(i,25)=pij(i,25)*off(i)+ekk+dg2*(dxx(i)+dav)
129 pij(i,26)=pij(i,26)*off(i)+ekk+dg2*(dyy(i)+dav)
130 pij(i,27)=pij(i,27)*off(i)+ekk+dg2*(dzz(i)+dav)
131 END DO
132 dt05 =half*dt1
133 DO i=1,nel
134 IF (offg(i) >one) cycle
135 e1=(dxx(i)+d1(i))*(sig_a(i,1)+pij(i,25))+dxx(i)*(s1(i)+sig(i,1))
136 e2=(dyy(i)+d2(i))*(sig_a(i,2)+pij(i,26))+dyy(i)*(s2(i)+sig(i,2))
137 e3=(dzz(i)+d3(i))*(sig_a(i,3)+pij(i,27))+dzz(i)*(s3(i)+sig(i,3))
138 de= (e1+e2+e3)*dt05*off(i)
139 eint(i)=eint(i)+de
140 sig_a(i,1:3)=pij(i,25:27)
141 ENDDO
142C-----------
143 RETURN
144 END
subroutine s8e_sig_a(c1, g, off, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, pij, sig_a, eint, vol, d1, d2, d3, sig, s1, s2, s3, nel, offg)
Definition s8e_sig_a.F:51