OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
udam24.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!|| udam24 ../engine/source/materials/mat/mat024/udam24.F
25!||--- called by ------------------------------------------------------
26!|| m24anim ../engine/source/materials/mat/mat024/m24anim.F
27!||====================================================================
28 SUBROUTINE udam24(SIG,ANG,NEL)
29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C D u m m y A r g u m e n t s
35C-----------------------------------------------
36 INTEGER NEL
37 my_real sig(nel,6), ang(nel,6)
38C-----------------------------------------------
39C L o c a l V a r i a b l e s
40C-----------------------------------------------
41 INTEGER I
42 my_real anga
43 my_real s11(nel), s12(nel), s13(nel), s21(nel), s22(nel), s23(nel), s31(nel),
44 . s32(nel), s33(nel), a11(nel), a12(nel), a13(nel), a21(nel), a22(nel),
45 . a23(nel), a31(nel), a32(nel), a33(nel)
46C=======================================================================
47 anga = zero
48 DO i = 1,nel
49 anga = anga + abs(ang(i,1)-one) + abs(ang(i,5)-one)
50 ENDDO
51 IF (anga <= em3) RETURN
52C
53 DO i = 1,nel
54 s11(i) = ang(i,1)
55 s21(i) = ang(i,2)
56 s31(i) = ang(i,3)
57 s12(i) = ang(i,4)
58 s22(i) = ang(i,5)
59 s32(i) = ang(i,6)
60 s13(i) = s21(i)*s32(i)-s31(i)*s22(i)
61 s23(i) = s31(i)*s12(i)-s11(i)*s32(i)
62 s33(i) = s11(i)*s22(i)-s21(i)*s12(i)
63 ENDDO
64C . . . . . . . . . . . . . . . . . .
65C ROTATION INVERSE DES CONTRAINTES
66C . . . . . . . . . . . . . . . . . .
67 DO i = 1,nel
68 a11(i)=sig(i,1)*s11(i)+sig(i,4)*s12(i)+sig(i,6)*s13(i)
69 a12(i)=sig(i,1)*s21(i)+sig(i,4)*s22(i)+sig(i,6)*s23(i)
70 a13(i)=sig(i,1)*s31(i)+sig(i,4)*s32(i)+sig(i,6)*s33(i)
71 a21(i)=sig(i,4)*s11(i)+sig(i,2)*s12(i)+sig(i,5)*s13(i)
72 a22(i)=sig(i,4)*s21(i)+sig(i,2)*s22(i)+sig(i,5)*s23(i)
73 a23(i)=sig(i,4)*s31(i)+sig(i,2)*s32(i)+sig(i,5)*s33(i)
74 a31(i)=sig(i,6)*s11(i)+sig(i,5)*s12(i)+sig(i,3)*s13(i)
75 a32(i)=sig(i,6)*s21(i)+sig(i,5)*s22(i)+sig(i,3)*s23(i)
76 a33(i)=sig(i,6)*s31(i)+sig(i,5)*s32(i)+sig(i,3)*s33(i)
77 ENDDO
78c
79 DO i = 1,nel
80 sig(i,1)=s11(i)*a11(i)+s12(i)*a21(i)+s13(i)*a31(i)
81 sig(i,2)=s21(i)*a12(i)+s22(i)*a22(i)+s23(i)*a32(i)
82 sig(i,3)=s31(i)*a13(i)+s32(i)*a23(i)+s33(i)*a33(i)
83 sig(i,4)=s11(i)*a12(i)+s12(i)*a22(i)+s13(i)*a32(i)
84 sig(i,5)=s21(i)*a13(i)+s22(i)*a23(i)+s23(i)*a33(i)
85 sig(i,6)=s11(i)*a13(i)+s12(i)*a23(i)+s13(i)*a33(i)
86 ENDDO
87c-----------
88 RETURN
89 END
90
91
92!||====================================================================
93!|| udam24n ../engine/source/materials/mat/mat024/udam24.F
94!||--- called by ------------------------------------------------------
95!|| conc24 ../engine/source/materials/mat/mat024/conc24.F
96!||====================================================================
97 SUBROUTINE udam24n(SIG,ANG,NBDAMA,DAMAI,NEL)
98C-----------------------------------------------
99C I m p l i c i t T y p e s
100C-----------------------------------------------
101#include "implicit_f.inc"
102C-----------------------------------------------
103C D u m m y A r g u m e n t s
104C-----------------------------------------------
105 INTEGER NBDAMA,NEL
106 INTEGER DAMAI(NEL)
107 my_real sig(nel,6), ang(nel,6)
108C-----------------------------------------------
109C L o c a l V a r i a b l e s
110C-----------------------------------------------
111 INTEGER I,K
112 my_real anga,
113 . s11(nel), s12(nel), s13(nel), s21(nel), s22(nel), s23(nel), s31(nel),
114 . s32(nel), s33(nel), a11(nel), a12(nel), a13(nel), a21(nel), a22(nel),
115 . a23(nel), a31(nel), a32(nel), a33(nel)
116C=======================================================================
117 DO k=1,nbdama
118 i = damai(k)
119 s11(i)=ang(i,1)
120 s21(i)=ang(i,2)
121 s31(i)=ang(i,3)
122 s12(i)=ang(i,4)
123 s22(i)=ang(i,5)
124 s32(i)=ang(i,6)
125 s13(i)=s21(i)*s32(i)-s31(i)*s22(i)
126 s23(i)=s31(i)*s12(i)-s11(i)*s32(i)
127 s33(i)=s11(i)*s22(i)-s21(i)*s12(i)
128 ENDDO
129C . . . . . . . . . . . . . . . . . .
130C ROTATION INVERSE DES CONTRAINTES
131C . . . . . . . . . . . . . . . . . .
132 DO k=1,nbdama
133 i = damai(k)
134 a11(i)=sig(i,1)*s11(i)+sig(i,4)*s12(i)+sig(i,6)*s13(i)
135 a12(i)=sig(i,1)*s21(i)+sig(i,4)*s22(i)+sig(i,6)*s23(i)
136 a13(i)=sig(i,1)*s31(i)+sig(i,4)*s32(i)+sig(i,6)*s33(i)
137 a21(i)=sig(i,4)*s11(i)+sig(i,2)*s12(i)+sig(i,5)*s13(i)
138 a22(i)=sig(i,4)*s21(i)+sig(i,2)*s22(i)+sig(i,5)*s23(i)
139 a23(i)=sig(i,4)*s31(i)+sig(i,2)*s32(i)+sig(i,5)*s33(i)
140 a31(i)=sig(i,6)*s11(i)+sig(i,5)*s12(i)+sig(i,3)*s13(i)
141 a32(i)=sig(i,6)*s21(i)+sig(i,5)*s22(i)+sig(i,3)*s23(i)
142 a33(i)=sig(i,6)*s31(i)+sig(i,5)*s32(i)+sig(i,3)*s33(i)
143 ENDDO
144c
145 DO k=1,nbdama
146 i = damai(k)
147 sig(i,1)=s11(i)*a11(i)+s12(i)*a21(i)+s13(i)*a31(i)
148 sig(i,2)=s21(i)*a12(i)+s22(i)*a22(i)+s23(i)*a32(i)
149 sig(i,3)=s31(i)*a13(i)+s32(i)*a23(i)+s33(i)*a33(i)
150 sig(i,4)=s11(i)*a12(i)+s12(i)*a22(i)+s13(i)*a32(i)
151 sig(i,5)=s21(i)*a13(i)+s22(i)*a23(i)+s23(i)*a33(i)
152 sig(i,6)=s11(i)*a13(i)+s12(i)*a23(i)+s13(i)*a33(i)
153 ENDDO
154c-----------
155 RETURN
156 END
#define my_real
Definition cppsort.cpp:32
subroutine udam24(sig, ang, nel)
Definition udam24.F:29
subroutine udam24n(sig, ang, nbdama, damai, nel)
Definition udam24.F:98