OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s4rota3.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!|| s4rota3 ../starter/source/elements/solid/solide4/s4rota3.F
25!||--- called by ------------------------------------------------------
26!|| s4refsta3 ../starter/source/elements/solid/solide4/s4refsta3.F
27!||====================================================================
28 SUBROUTINE s4rota3(
29 . R11 ,R12 ,R13 ,R21 ,R22 ,R23 ,R31 ,R32 ,R33 ,
30 . X1 ,X2 ,X3 , X4 ,Y1 ,Y2 ,Y3 ,Y4 ,
31 . Z1 ,Z2 ,Z3 , Z4 )
32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C D u m m y A r g u m e n t s
38C-----------------------------------------------
39C REAL
40 double precision
41 . x1(*), x2(*), x3(*), x4(*),
42 . y1(*), y2(*), y3(*), y4(*),
43 . z1(*), z2(*), z3(*), z4(*)
45 . r11(*), r12(*), r13(*),
46 . r21(*), r22(*), r23(*),
47 . r31(*), r32(*), r33(*)
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "vect01_c.inc"
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER I
56C REAL
57 my_real
58 . x,y,z
59C-----------------------------------------------
60C X=RX' <=> X'=t(R)X chgt de base.
61 DO i=lft,llt
62 x=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
63 y=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
64 z=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
65 x1(i)=x
66 y1(i)=y
67 z1(i)=z
68 x=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
69 y=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
70 z=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
71 x2(i)=x
72 y2(i)=y
73 z2(i)=z
74 x=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
75 y=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
76 z=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
77 x3(i)=x
78 y3(i)=y
79 z3(i)=z
80 x=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
81 y=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
82 z=r13(i)*x4(i)+r23(i)*y4(i)+r33(i)*z4(i)
83 x4(i)=x
84 y4(i)=y
85 z4(i)=z
86 ENDDO
87C-----------
88 RETURN
89 END
90!||====================================================================
91!|| s4rotat3 ../starter/source/elements/solid/solide4/s4rota3.f
92!||--- called by ------------------------------------------------------
93!|| s4refsta3 ../starter/source/elements/solid/solide4/s4refsta3.F
94!||====================================================================
95 SUBROUTINE s4rotat3(
96 . R11 ,R12 ,R13 ,R21 ,R22 ,R23 ,R31 ,R32 ,R33 ,
97 . X1 ,X2 ,X3 , X4 ,Y1 ,Y2 ,Y3 ,Y4 ,
98 . Z1 ,Z2 ,Z3 , Z4 )
99C-----------------------------------------------
100C I m p l i c i t T y p e s
101C-----------------------------------------------
102#include "implicit_f.inc"
103C-----------------------------------------------
104C D u m m y A r g u m e n t s
105C-----------------------------------------------
106C REAL
107 my_real
108 . x1(*), x2(*), x3(*), x4(*),
109 . y1(*), y2(*), y3(*), y4(*),
110 . z1(*), z2(*), z3(*), z4(*),
111 . r11(*), r12(*), r13(*),
112 . r21(*), r22(*), r23(*),
113 . r31(*), r32(*), r33(*)
114C-----------------------------------------------
115C C o m m o n B l o c k s
116C-----------------------------------------------
117#include "vect01_c.inc"
118C-----------------------------------------------
119C L o c a l V a r i a b l e s
120C-----------------------------------------------
121 INTEGER I
122C REAL
123 my_real
124 . X,Y,Z
125C-----------------------------------------------
126C X=RX' <=> X'=t(R)X chgt de base.
127 DO i=lft,llt
128 x=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
129 y=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
130 z=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
131 x1(i)=x
132 y1(i)=y
133 z1(i)=z
134 x=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
135 y=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
136 z=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
137 x2(i)=x
138 y2(i)=y
139 z2(i)=z
140 x=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
141 y=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
142 z=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
143 x3(i)=x
144 y3(i)=y
145 z3(i)=z
146 x=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
147 y=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
148 z=r13(i)*x4(i)+r23(i)*y4(i)+r33(i)*z4(i)
149 x4(i)=x
150 y4(i)=y
151 z4(i)=z
152 ENDDO
153C-----------
154 RETURN
155 END
#define my_real
Definition cppsort.cpp:32
subroutine s4rota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4rota3.F:32
subroutine s4rotat3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4rota3.F:99
program starter
Definition starter.F:39