OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
srmalla11.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!|| srmalla11 ../engine/source/elements/solid/solide/srmalla11.F
25!||--- called by ------------------------------------------------------
26!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
27!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
28!||====================================================================
29 SUBROUTINE srmalla11(
30 1 SAV, OFFG, WXX, WYY,
31 2 WZZ, R11, R12, R13,
32 3 R21, R22, R23, R31,
33 4 R32, R33, NEL, ISMSTR)
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C C o m m o n B l o c k s
40C-----------------------------------------------
41C-----------------------------------------------
42C D u m m y A r g u m e n t s
43C-----------------------------------------------
44 INTEGER, INTENT(IN) :: ISMSTR
45 INTEGER NEL
46 my_real
47 . OFFG(*),WXX(*),WYY(*),WZZ(*),
48 . r11(*),r12(*),r13(*),
49 . r21(*),r22(*),r23(*),
50 . r31(*),r32(*),r33(*)
51 double precision
52 . sav(nel,21)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER I,j
57C REAL
58 DOUBLE PRECISION
59 . X , Y, Z ,WXXG,WYYG,WZZG
60C-----------------------------------------------
61C-----------------------------
62C ROTATION RBY DES COORDONNEES(REF)POUR SMALL STRAIN
63C-----------------------------
64 IF(ismstr==11)THEN
65C------------Wxx,y,z from local system to global
66 DO i=1,nel
67 wxxg=r11(i)*wxx(i)+r12(i)*wyy(i)+r13(i)*wzz(i)
68 wyyg=r21(i)*wxx(i)+r22(i)*wyy(i)+r23(i)*wzz(i)
69 wzzg=r31(i)*wxx(i)+r32(i)*wyy(i)+r33(i)*wzz(i)
70 wxx(i) = wxxg
71 wyy(i) = wyyg
72 wzz(i) = wzzg
73 END DO
74 DO i=1,nel
75C-----------------------------------------------
76 IF(offg(i)==zero) cycle
77 x=sav(i,1)
78 y=sav(i,8)
79 z=sav(i,15)
80 sav(i,1) = x - y*wzz(i) + z*wyy(i)
81 sav(i,8) = y - z*wxx(i) + x*wzz(i)
82 sav(i,15)= z - x*wyy(i) + y*wxx(i)
83C
84 x=sav(i,2)
85 y=sav(i,9)
86 z=sav(i,16)
87 sav(i,2) = x - y*wzz(i) + z*wyy(i)
88 sav(i,9) = y - z*wxx(i) + x*wzz(i)
89 sav(i,16)= z - x*wyy(i) + y*wxx(i)
90C
91 x=sav(i,3)
92 y=sav(i,10)
93 z=sav(i,17)
94 sav(i,3) = x - y*wzz(i) + z*wyy(i)
95 sav(i,10)= y - z*wxx(i) + x*wzz(i)
96 sav(i,17)= z - x*wyy(i) + y*wxx(i)
97C
98 x=sav(i,4)
99 y=sav(i,11)
100 z=sav(i,18)
101 sav(i,4) = x - y*wzz(i) + z*wyy(i)
102 sav(i,11)= y - z*wxx(i) + x*wzz(i)
103 sav(i,18)= z - x*wyy(i) + y*wxx(i)
104C
105 x=sav(i,5)
106 y=sav(i,12)
107 z=sav(i,19)
108 sav(i,5) = x - y*wzz(i) + z*wyy(i)
109 sav(i,12)= y - z*wxx(i) + x*wzz(i)
110 sav(i,19)= z - x*wyy(i) + y*wxx(i)
111C
112 x=sav(i,6)
113 y=sav(i,13)
114 z=sav(i,20)
115 sav(i,6) = x - y*wzz(i) + z*wyy(i)
116 sav(i,13)= y - z*wxx(i) + x*wzz(i)
117 sav(i,20)= z - x*wyy(i) + y*wxx(i)
118C
119 x=sav(i,7)
120 y=sav(i,14)
121 z=sav(i,21)
122 sav(i,7) = x - y*wzz(i) + z*wyy(i)
123 sav(i,14)= y - z*wxx(i) + x*wzz(i)
124 sav(i,21)= z - x*wyy(i) + y*wxx(i)
125 ENDDO
126 ELSEIF(ismstr==12)THEN
127C------------Wxx,y,z from local system to global
128 DO i=1,nel
129 IF(offg(i)<=one) cycle
130 wxxg=r11(i)*wxx(i)+r12(i)*wyy(i)+r13(i)*wzz(i)
131 wyyg=r21(i)*wxx(i)+r22(i)*wyy(i)+r23(i)*wzz(i)
132 wzzg=r31(i)*wxx(i)+r32(i)*wyy(i)+r33(i)*wzz(i)
133 wxx(i) = wxxg
134 wyy(i) = wyyg
135 wzz(i) = wzzg
136 END DO
137 DO i=1,nel
138C-----------------------------------------------
139 IF(offg(i)<=one) cycle
140 x=sav(i,1)
141 y=sav(i,2)
142 z=sav(i,3)
143 sav(i,1) = x - y*wzz(i) + z*wyy(i)
144 sav(i,2) = y - z*wxx(i) + x*wzz(i)
145 sav(i,3) = z - x*wyy(i) + y*wxx(i)
146C
147 x=sav(i,4)
148 y=sav(i,5)
149 z=sav(i,6)
150 sav(i,4) = x - y*wzz(i) + z*wyy(i)
151 sav(i,5) = y - z*wxx(i) + x*wzz(i)
152 sav(i,6) = z - x*wyy(i) + y*wxx(i)
153C
154 x=sav(i,7)
155 y=sav(i,8)
156 z=sav(i,9)
157 sav(i,7) = x - y*wzz(i) + z*wyy(i)
158 sav(i,8) = y - z*wxx(i) + x*wzz(i)
159 sav(i,9) = z - x*wyy(i) + y*wxx(i)
160C
161 x=sav(i,10)
162 y=sav(i,11)
163 z=sav(i,12)
164 sav(i,10) = x - y*wzz(i) + z*wyy(i)
165 sav(i,11) = y - z*wxx(i) + x*wzz(i)
166 sav(i,12) = z - x*wyy(i) + y*wxx(i)
167C
168 x=sav(i,13)
169 y=sav(i,14)
170 z=sav(i,15)
171 sav(i,13) = x - y*wzz(i) + z*wyy(i)
172 sav(i,14) = y - z*wxx(i) + x*wzz(i)
173 sav(i,15) = z - x*wyy(i) + y*wxx(i)
174C
175 x=sav(i,16)
176 y=sav(i,17)
177 z=sav(i,18)
178 sav(i,16) = x - y*wzz(i) + z*wyy(i)
179 sav(i,17) = y - z*wxx(i) + x*wzz(i)
180 sav(i,18) = z - x*wyy(i) + y*wxx(i)
181C
182 x=sav(i,19)
183 y=sav(i,20)
184 z=sav(i,21)
185 sav(i,19) = x - y*wzz(i) + z*wyy(i)
186 sav(i,20) = y - z*wxx(i) + x*wzz(i)
187 sav(i,21) = z - x*wyy(i) + y*wxx(i)
188 ENDDO
189 END IF !(ISMSTR==11)THEN
190C
191 RETURN
192 END
subroutine srmalla11(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr)
Definition srmalla11.F:34