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

Go to the source code of this file.

Functions/Subroutines

subroutine srmalla11 (sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr)

Function/Subroutine Documentation

◆ srmalla11()

subroutine srmalla11 ( double precision, dimension(nel,21) sav,
offg,
wxx,
wyy,
wzz,
r11,
r12,
r13,
r21,
r22,
r23,
r31,
r32,
r33,
integer nel,
integer, intent(in) ismstr )

Definition at line 29 of file srmalla11.F.

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
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
#define my_real
Definition cppsort.cpp:32