OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
szorth3.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!|| storth3 ../starter/source/elements/solid/solidez/szorth3.F
25!||--- called by ------------------------------------------------------
26!|| srefsta3 ../starter/source/elements/solid/solide/srefsta3.F
27!||====================================================================
28 SUBROUTINE storth3(ISORTH,NEL,
29 . G1X,G1Y,G1Z,G2X,G2Y,G2Z,G3X,G3Y,G3Z,GAMA)
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C D u m m y A r g u m e n t s
36C-----------------------------------------------
37 INTEGER :: ISORTH, NEL
38C
40 . g1x(*),g1y(*),g1z(*),
41 . g2x(*),g2y(*),g2z(*),g3x(*),g3y(*),g3z(*),gama(nel,6)
42C-----------------------------------------------
43C L o c a l V a r i a b l e s
44C-----------------------------------------------
45 INTEGER I
46C-----------------------------------------------
47 IF (isorth == 1) THEN
48 DO i=1,nel
49 g1x(i)=gama(i,1)
50 g1y(i)=gama(i,2)
51 g1z(i)=gama(i,3)
52 g2x(i)=gama(i,4)
53 g2y(i)=gama(i,5)
54 g2z(i)=gama(i,6)
55 g3x(i)=g1y(i)*g2z(i)-g1z(i)*g2y(i)
56 g3y(i)=g1z(i)*g2x(i)-g1x(i)*g2z(i)
57 g3z(i)=g1x(i)*g2y(i)-g1y(i)*g2x(i)
58 END DO
59 ELSE
60 DO i=1,nel
61 g1x(i)=one
62 g1y(i)=zero
63 g1z(i)=zero
64 g2x(i)=zero
65 g2y(i)=one
66 g2z(i)=zero
67 g3x(i)=zero
68 g3y(i)=zero
69 g3z(i)=one
70 END DO
71 ENDIF
72C
73 RETURN
74 END SUBROUTINE storth3
75!||====================================================================
76!|| szordef3 ../starter/source/elements/solid/solidez/szorth3.F
77!||--- called by ------------------------------------------------------
78!|| srefsta3 ../starter/source/elements/solid/solide/srefsta3.f
79!||--- calls -----------------------------------------------------
80!|| sroto3 ../starter/source/elements/solid/solidez/szorth3.F
81!||====================================================================
82 SUBROUTINE szordef3(NEL,DXX,DYY,DZZ,D4,D5,D6,
83 . G1X,G1Y,G1Z,G2X,G2Y,G2Z,G3X,G3Y,G3Z)
84C-----------------------------------------------
85C I m p l i c i t T y p e s
86C-----------------------------------------------
87#include "implicit_f.inc"
88C-----------------------------------------------
89C G l o b a l P a r a m e t e r s
90C-----------------------------------------------
91#include "mvsiz_p.inc"
92C-----------------------------------------------
93C D u m m y A r g u m e n t s
94C-----------------------------------------------
95 INTEGER :: NEL
96C
98 . dxx(*),dyy(*),dzz(*),d4(*),d5(*),d6(*), g1x(*),g1y(*),g1z(*),
99 . g2x(*),g2y(*),g2z(*),g3x(*),g3y(*),g3z(*)
100C-----------------------------------------------
101C L o c a l V a r i a b l e s
102C-----------------------------------------------
103 INTEGER I
104C
105 my_real
106 . def(6,mvsiz),defn(6,mvsiz)
107C-----------------------------------------------
108 DO i=1,nel
109 def(1,i) = dxx(i)
110 def(2,i) = dyy(i)
111 def(3,i) = dzz(i)
112 def(4,i) = half*d4(i)
113 def(5,i) = half*d5(i)
114 def(6,i) = half*d6(i)
115 ENDDO
116 CALL sroto3(nel,def,defn,
117 . g1x,g1y,g1z,g2x,g2y,g2z,g3x,g3y,g3z)
118 DO i=1,nel
119 dxx(i) = defn(1,i)
120 dyy(i) = defn(2,i)
121 dzz(i) = defn(3,i)
122 d4(i) = two*defn(4,i)
123 d5(i) = two*defn(5,i)
124 d6(i) = two*defn(6,i)
125 ENDDO
126C
127 RETURN
128 END SUBROUTINE szordef3
129!||====================================================================
130!|| sroto3 ../starter/source/elements/solid/solidez/szorth3.f
131!||--- called by ------------------------------------------------------
132!|| szordef3 ../starter/source/elements/solid/solidez/szorth3.F
133!||====================================================================
134 SUBROUTINE sroto3(NEL,SIG,SIGN,
135 . G1X,G1Y,G1Z,G2X,G2Y,G2Z,G3X,G3Y,G3Z)
136C-----------------------------------------------
137C I m p l i c i t T y p e s
138C-----------------------------------------------
139#include "implicit_f.inc"
140C-----------------------------------------------
141C D u m m y A r g u m e n t s
142C-----------------------------------------------
143 INTEGER :: NEL
144C
145 my_real
146 . sig(6,*),sign(6,*), g1x(*),g1y(*),g1z(*),
147 . g2x(*),g2y(*),g2z(*),g3x(*),g3y(*),g3z(*)
148C-----------------------------------------------
149C L o c a l V a r i a b l e s
150C-----------------------------------------------
151 INTEGER I
152C
153 my_real
154 . sx,sy,sz
155C-----------------------------------------------
156 DO i=1,nel
157 sx = sig(1,i)*g1x(i)+sig(4,i)*g1y(i)+sig(6,i)*g1z(i)
158 sy = sig(4,i)*g1x(i)+sig(2,i)*g1y(i)+sig(5,i)*g1z(i)
159 sz = sig(6,i)*g1x(i)+sig(5,i)*g1y(i)+sig(3,i)*g1z(i)
160 sign(1,i) = sx*g1x(i)+sy*g1y(i)+sz*g1z(i)
161 sign(4,i) = sx*g2x(i)+sy*g2y(i)+sz*g2z(i)
162 sign(6,i) = sx*g3x(i)+sy*g3y(i)+sz*g3z(i)
163 sx = sig(1,i)*g2x(i)+sig(4,i)*g2y(i)+sig(6,i)*g2z(i)
164 sy = sig(4,i)*g2x(i)+sig(2,i)*g2y(i)+sig(5,i)*g2z(i)
165 sz = sig(6,i)*g2x(i)+sig(5,i)*g2y(i)+sig(3,i)*g2z(i)
166 sign(2,i) = sx*g2x(i)+sy*g2y(i)+sz*g2z(i)
167 sign(5,i) = sx*g3x(i)+sy*g3y(i)+sz*g3z(i)
168 sx = sig(1,i)*g3x(i)+sig(4,i)*g3y(i)+sig(6,i)*g3z(i)
169 sy = sig(4,i)*g3x(i)+sig(2,i)*g3y(i)+sig(5,i)*g3z(i)
170 sz = sig(6,i)*g3x(i)+sig(5,i)*g3y(i)+sig(3,i)*g3z(i)
171 sign(3,i) = sx*g3x(i)+sy*g3y(i)+sz*g3z(i)
172 ENDDO
173C
174 RETURN
175 END SUBROUTINE sroto3
#define my_real
Definition cppsort.cpp:32
subroutine srefsta3(elbuf_str, ixs, pm, geo, iparg, ipm, igeo, skew, x, xrefs, nel, iparts, ipart, bufmat, mat_param, npf, tf, nummat)
Definition srefsta3.F:49
program starter
Definition starter.F:39
subroutine storth3(isorth, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama)
Definition szorth3.F:30
subroutine sroto3(nel, sig, sign, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
Definition szorth3.F:136
subroutine szordef3(nel, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
Definition szorth3.F:84