OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8sfint3.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!|| s8sfint3 ../engine/source/elements/solid/solide8s/s8sfint3.F
25!||--- called by ------------------------------------------------------
26!|| s8sforc3 ../engine/source/elements/solid/solide8s/s8sforc3.F
27!||====================================================================
28 SUBROUTINE s8sfint3(
29 1 SIG, F11, F21, F31,
30 2 F12, F22, F32, F13,
31 3 F23, F33, F14, F24,
32 4 F34, F15, F25, F35,
33 5 F16, F26, F36, F17,
34 6 F27, F37, F18, F28,
35 7 F38, DN_X, DN_Y, DN_Z,
36 8 BB, VOL, QVIS, ICP,
37 9 JFAC, NEL, I_SH, IDEGE,
38 A ISMSTR, SVIS)
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: ISMSTR
51 INTEGER ICP,NEL,I_SH,IDEGE(*)
52C REAL
53 my_real
54 . SIG(NEL,6),
55 . DN_X(MVSIZ,8),DN_Y(MVSIZ,8),DN_Z(MVSIZ,8),
56 . F11(*),F21(*),F31(*),F12(*),F22(*),F32(*),
57 . F13(*),F23(*),F33(*),F14(*),F24(*),F34(*),
58 . F15(*),F25(*),F35(*),F16(*),F26(*),F36(*),
59 . F17(*),F27(*),F37(*),F18(*),F28(*),F38(*),
60 . vol(*),qvis(*),jfac(*),bb(6,24,mvsiz)
61 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER I, J,IB
66C REAL
67 my_real
68 . S1(MVSIZ), S2(MVSIZ), S3(MVSIZ),
69 . S4(MVSIZ), S5(MVSIZ), S6(MVSIZ),
70 . P(MVSIZ),COEF,FVOL
71C-----------------------------------------------
72
73 IF (icp==1.AND.(ismstr==10.OR.ismstr==12)) THEN
74 DO i=1,nel
75 fvol=jfac(i)*vol(i)
76 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*fvol
77 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*fvol
78 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*fvol
79 s4(i)=(sig(i,4)+svis(i,4))*fvol
80 s5(i)=(sig(i,5)+svis(i,5))*fvol
81 s6(i)=(sig(i,6)+svis(i,6))*fvol
82 ENDDO
83 ELSEIF (icp==1) THEN
84 coef=zep3
85 DO i=1,nel
86 p(i) =coef*(sig(i,1)+sig(i,2)+sig(i,3)
87 . +svis(i,1)+svis(i,2)+svis(i,3))
88 IF (idege(i)>10) p(i) =qvis(i)
89 s1(i)=(sig(i,1)+svis(i,1)-p(i))*vol(i)
90 s2(i)=(sig(i,2)+svis(i,2)-p(i))*vol(i)
91 s3(i)=(sig(i,3)+svis(i,3)-p(i))*vol(i)
92 s4(i)=(sig(i,4)+svis(i,4))*vol(i)
93 s5(i)=(sig(i,5)+svis(i,5))*vol(i)
94 s6(i)=(sig(i,6)+svis(i,6))*vol(i)
95 ENDDO
96 ELSE
97 DO i=1,nel
98 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*vol(i)
99 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*vol(i)
100 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*vol(i)
101 s4(i)=(sig(i,4)+svis(i,4))*vol(i)
102 s5(i)=(sig(i,5)+svis(i,5))*vol(i)
103 s6(i)=(sig(i,6)+svis(i,6))*vol(i)
104 ENDDO
105 ENDIF
106 ! Cas ANS
107 DO i=1,nel
108 f11(i)=f11(i)-(s1(i)*bb(1,1,i)+s2(i)*bb(2,1,i)+s3(i)*bb(3,1,i)
109 . +s4(i)*bb(4,1,i)+s6(i)*bb(5,1,i)+s5(i)*bb(6,1,i))
110 f21(i)=f21(i)-(s1(i)*bb(1,2,i)+s2(i)*bb(2,2,i)+s3(i)*bb(3,2,i)
111 . +s4(i)*bb(4,2,i)+s6(i)*bb(5,2,i)+s5(i)*bb(6,2,i))
112 f31(i)=f31(i)-(s1(i)*bb(1,3,i)+s2(i)*bb(2,3,i)+s3(i)*bb(3,3,i)
113 . +s4(i)*bb(4,3,i)+s6(i)*bb(5,3,i)+s5(i)*bb(6,3,i))
114
115 f12(i)=f12(i)-(s1(i)*bb(1,4,i)+s2(i)*bb(2,4,i)+s3(i)*bb(3,4,i)
116 . +s4(i)*bb(4,4,i)+s6(i)*bb(5,4,i)+s5(i)*bb(6,4,i))
117 f22(i)=f22(i)-(s1(i)*bb(1,5,i)+s2(i)*bb(2,5,i)+s3(i)*bb(3,5,i)
118 . +s4(i)*bb(4,5,i)+s6(i)*bb(5,5,i)+s5(i)*bb(6,5,i))
119 f32(i)=f32(i)-(s1(i)*bb(1,6,i)+s2(i)*bb(2,6,i)+s3(i)*bb(3,6,i)
120 . +s4(i)*bb(4,6,i)+s6(i)*bb(5,6,i)+s5(i)*bb(6,6,i))
121
122 f13(i)=f13(i)-(s1(i)*bb(1,7,i)+s2(i)*bb(2,7,i)+s3(i)*bb(3,7,i)
123 . +s4(i)*bb(4,7,i)+s6(i)*bb(5,7,i)+s5(i)*bb(6,7,i))
124 f23(i)=f23(i)-(s1(i)*bb(1,8,i)+s2(i)*bb(2,8,i)+s3(i)*bb(3,8,i)
125 . +s4(i)*bb(4,8,i)+s6(i)*bb(5,8,i)+s5(i)*bb(6,8,i))
126 f33(i)=f33(i)-(s1(i)*bb(1,9,i)+s2(i)*bb(2,9,i)+s3(i)*bb(3,9,i)
127 . +s4(i)*bb(4,9,i)+s6(i)*bb(5,9,i)+s5(i)*bb(6,9,i))
128
129 f14(i)=f14(i)-(s1(i)*bb(1,10,i)+s2(i)*bb(2,10,i)+s3(i)*bb(3,10,i)
130 . +s4(i)*bb(4,10,i)+s6(i)*bb(5,10,i)+s5(i)*bb(6,10,i))
131 f24(i)=f24(i)-(s1(i)*bb(1,11,i)+s2(i)*bb(2,11,i)+s3(i)*bb(3,11,i)
132 . +s4(i)*bb(4,11,i)+s6(i)*bb(5,11,i)+s5(i)*bb(6,11,i))
133 f34(i)=f34(i)-(s1(i)*bb(1,12,i)+s2(i)*bb(2,12,i)+s3(i)*bb(3,12,i)
134 . +s4(i)*bb(4,12,i)+s6(i)*bb(5,12,i)+s5(i)*bb(6,12,i))
135
136 f15(i)=f15(i)-(s1(i)*bb(1,13,i)+s2(i)*bb(2,13,i)+s3(i)*bb(3,13,i)
137 . +s4(i)*bb(4,13,i)+s6(i)*bb(5,13,i)+s5(i)*bb(6,13,i))
138 f25(i)=f25(i)-(s1(i)*bb(1,14,i)+s2(i)*bb(2,14,i)+s3(i)*bb(3,14,i)
139 . +s4(i)*bb(4,14,i)+s6(i)*bb(5,14,i)+s5(i)*bb(6,14,i))
140 f35(i)=f35(i)-(s1(i)*bb(1,15,i)+s2(i)*bb(2,15,i)+s3(i)*bb(3,15,i)
141 . +s4(i)*bb(4,15,i)+s6(i)*bb(5,15,i)+s5(i)*bb(6,15,i))
142
143 f16(i)=f16(i)-(s1(i)*bb(1,16,i)+s2(i)*bb(2,16,i)+s3(i)*bb(3,16,i)
144 . +s4(i)*bb(4,16,i)+s6(i)*bb(5,16,i)+s5(i)*bb(6,16,i))
145 f26(i)=f26(i)-(s1(i)*bb(1,17,i)+s2(i)*bb(2,17,i)+s3(i)*bb(3,17,i)
146 . +s4(i)*bb(4,17,i)+s6(i)*bb(5,17,i)+s5(i)*bb(6,17,i))
147 f36(i)=f36(i)-(s1(i)*bb(1,18,i)+s2(i)*bb(2,18,i)+s3(i)*bb(3,18,i)
148 . +s4(i)*bb(4,18,i)+s6(i)*bb(5,18,i)+s5(i)*bb(6,18,i))
149
150 f17(i)=f17(i)-(s1(i)*bb(1,19,i)+s2(i)*bb(2,19,i)+s3(i)*bb(3,19,i)
151 . +s4(i)*bb(4,19,i)+s6(i)*bb(5,19,i)+s5(i)*bb(6,19,i))
152 f27(i)=f27(i)-(s1(i)*bb(1,20,i)+s2(i)*bb(2,20,i)+s3(i)*bb(3,20,i)
153 . +s4(i)*bb(4,20,i)+s6(i)*bb(5,20,i)+s5(i)*bb(6,20,i))
154 f37(i)=f37(i)-(s1(i)*bb(1,21,i)+s2(i)*bb(2,21,i)+s3(i)*bb(3,21,i)
155 . +s4(i)*bb(4,21,i)+s6(i)*bb(5,21,i)+s5(i)*bb(6,21,i))
156
157 f18(i)=f18(i)-(s1(i)*bb(1,22,i)+s2(i)*bb(2,22,i)+s3(i)*bb(3,22,i)
158 . +s4(i)*bb(4,22,i)+s6(i)*bb(5,22,i)+s5(i)*bb(6,22,i))
159 f28(i)=f28(i)-(s1(i)*bb(1,23,i)+s2(i)*bb(2,23,i)+s3(i)*bb(3,23,i)
160 . +s4(i)*bb(4,23,i)+s6(i)*bb(5,23,i)+s5(i)*bb(6,23,i))
161 f38(i)=f38(i)-(s1(i)*bb(1,24,i)+s2(i)*bb(2,24,i)+s3(i)*bb(3,24,i)
162 . +s4(i)*bb(4,24,i)+s6(i)*bb(5,24,i)+s5(i)*bb(6,24,i))
163
164 ENDDO
165 ! Cas de l'integration complete standard
166! DO I=1,NEL
167! F11(I)=F11(I)-(S1(I)*DN_X(I,1)+S4(I)*DN_Y(I,1)+S6(I)*DN_Z(I,1))
168! F21(I)=F21(I)-(S2(I)*DN_Y(I,1)+S4(I)*DN_X(I,1)+S5(I)*DN_Z(I,1))
169! F31(I)=F31(I)-(S3(I)*DN_Z(I,1)+S5(I)*DN_Y(I,1)+S6(I)*DN_X(I,1))
170!
171! F12(I)=F12(I)-(S1(I)*DN_X(I,2)+S4(I)*DN_Y(I,2)+S6(I)*DN_Z(I,2))
172! F22(I)=F22(I)-(S2(I)*DN_Y(I,2)+S4(I)*DN_X(I,2)+S5(I)*DN_Z(I,2))
173! F32(I)=F32(I)-(S3(I)*DN_Z(I,2)+S5(I)*DN_Y(I,2)+S6(I)*DN_X(I,2))
174!
175! F13(I)=F13(I)-(S1(I)*DN_X(I,3)+S4(I)*DN_Y(I,3)+S6(I)*DN_Z(I,3))
176! F23(I)=F23(I)-(S2(I)*DN_Y(I,3)+S4(I)*DN_X(I,3)+S5(I)*DN_Z(I,3))
177! F33(I)=F33(I)-(S3(I)*DN_Z(I,3)+S5(I)*DN_Y(I,3)+S6(I)*DN_X(I,3))
178!
179! F14(I)=F14(I)-(S1(I)*DN_X(I,4)+S4(I)*DN_Y(I,4)+S6(I)*DN_Z(I,4))
180! F24(I)=F24(I)-(S2(I)*DN_Y(I,4)+S4(I)*DN_X(I,4)+S5(I)*DN_Z(I,4))
181! f34(i)=f34(i)-(s3(i)*dn_z(i,4)+s5(i)*dn_y(i,4)+s6(i)*dn_x(i,4))
182!
183! F15(I)=F15(I)-(S1(I)*DN_X(I,5)+S4(I)*DN_Y(I,5)+S6(I)*DN_Z(I,5))
184! F25(I)=F25(I)-(S2(I)*DN_Y(I,5)+S4(I)*DN_X(I,5)+S5(I)*DN_Z(I,5))
185! F35(I)=F35(I)-(S3(I)*DN_Z(I,5)+S5(I)*DN_Y(I,5)+S6(I)*DN_X(I,5))
186!
187! f16(i)=f16(i)-(s1(i)*dn_x(i,6)+s4(i)*dn_y(i,6)+s6(i)*dn_z(i,6))
188! F26(I)=F26(I)-(S2(I)*DN_Y(I,6)+S4(I)*DN_X(I,6)+S5(I)*DN_Z(I,6))
189! f36(i)=f36(i)-(s3(i)*dn_z(i,6)+s5(i)*dn_y(i,6)+s6(i)*dn_x(i,6))
190!
191! F17(I)=F17(I)-(S1(I)*DN_X(I,7)+S4(I)*DN_Y(I,7)+S6(I)*DN_Z(I,7))
192! F27(I)=F27(I)-(S2(I)*DN_Y(I,7)+S4(I)*DN_X(I,7)+S5(I)*DN_Z(I,7))
193! F37(I)=F37(I)-(S3(I)*DN_Z(I,7)+S5(I)*DN_Y(I,7)+S6(I)*DN_X(I,7))
194!
195! F18(I)=F18(I)-(S1(I)*DN_X(I,8)+S4(I)*DN_Y(I,8)+S6(I)*DN_Z(I,8))
196! F28(I)=F28(I)-(S2(I)*DN_Y(I,8)+S4(I)*DN_X(I,8)+S5(I)*DN_Z(I,8))
197! F38(I)=F38(I)-(S3(I)*DN_Z(I,8)+S5(I)*DN_Y(I,8)+S6(I)*DN_X(I,8))
198! ENDDO
199!
200!!c
201
202 RETURN
203 END
subroutine s8sfint3(sig, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, dn_x, dn_y, dn_z, bb, vol, qvis, icp, jfac, nel, i_sh, idege, ismstr, svis)
Definition s8sfint3.F:39