OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rdam24.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!|| rdam24 ../engine/source/materials/mat/mat024/rdam24.F
25!||--- called by ------------------------------------------------------
26!|| elas24 ../engine/source/materials/mat/mat024/elas24.F
27!||====================================================================
28 SUBROUTINE rdam24(NEL ,NBDAMA,DAMAI ,ANG ,DEPS1 ,
29 . DEPS2 ,DEPS3 ,DEPS4 ,DEPS5 ,DEPS6 )
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 NBDAMA,NEL,DAMAI(NEL)
38 my_real, DIMENSION(NEL) , INTENT(INOUT) :: deps1,deps2,deps3,
39 . deps4,deps5,deps6
40 my_real, DIMENSION(NEL,6) , INTENT(IN) :: ang
41C-----------------------------------------------
42C L o c a l V a r i a b l e s
43C-----------------------------------------------
44 INTEGER I,K
45 my_real, DIMENSION(NEL) :: s11,s12,s13,s21,s22,s23,s31,s32,s33,
46 . a11,a12,a13,a21,a22,a23,a31,a32,a33
47C=======================================================================
48 DO k=1,nbdama
49 i = damai(k)
50 s11(i)=ang(i,1)
51 s21(i)=ang(i,2)
52 s31(i)=ang(i,3)
53 s12(i)=ang(i,4)
54 s22(i)=ang(i,5)
55 s32(i)=ang(i,6)
56 s13(i)= s21(i)*s32(i)-s31(i)*s22(i)
57 s23(i)= s31(i)*s12(i)-s11(i)*s32(i)
58 s33(i)= s11(i)*s22(i)-s21(i)*s12(i)
59 ENDDO
60C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61C TRANSFORME INCREMENTS DE DEFORMATION
62C DANS LE REPERE DES DIRECTIONS DE DOMMAGE
63C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64 DO k=1,nbdama
65 i= damai(k)
66 deps4(i)=half*deps4(i)
67 deps5(i)=half*deps5(i)
68 deps6(i)=half*deps6(i)
69 a11(i)=deps1(i)*s11(i)+deps4(i)*s21(i)+deps6(i)*s31(i)
70 a12(i)=deps1(i)*s12(i)+deps4(i)*s22(i)+deps6(i)*s32(i)
71 a13(i)=deps1(i)*s13(i)+deps4(i)*s23(i)+deps6(i)*s33(i)
72 a21(i)=deps4(i)*s11(i)+deps2(i)*s21(i)+deps5(i)*s31(i)
73 a22(i)=deps4(i)*s12(i)+deps2(i)*s22(i)+deps5(i)*s32(i)
74 a23(i)=deps4(i)*s13(i)+deps2(i)*s23(i)+deps5(i)*s33(i)
75 a31(i)=deps6(i)*s11(i)+deps5(i)*s21(i)+deps3(i)*s31(i)
76 a32(i)=deps6(i)*s12(i)+deps5(i)*s22(i)+deps3(i)*s32(i)
77 a33(i)=deps6(i)*s13(i)+deps5(i)*s23(i)+deps3(i)*s33(i)
78 ENDDO
79 DO k = 1,nbdama
80 i = damai(k)
81 deps1(i) = s11(i)*a11(i)+s21(i)*a21(i)+s31(i)*a31(i)
82 deps2(i) = s12(i)*a12(i)+s22(i)*a22(i)+s32(i)*a32(i)
83 deps3(i) = s13(i)*a13(i)+s23(i)*a23(i)+s33(i)*a33(i)
84 deps4(i) = s11(i)*a12(i)+s21(i)*a22(i)+s31(i)*a32(i)
85 deps5(i) = s12(i)*a13(i)+s22(i)*a23(i)+s32(i)*a33(i)
86 deps6(i) = s11(i)*a13(i)+s21(i)*a23(i)+s31(i)*a33(i)
87 deps4(i) = two*deps4(i)
88 deps5(i) = two*deps5(i)
89 deps6(i) = two*deps6(i)
90 ENDDO
91 RETURN
92 END
#define my_real
Definition cppsort.cpp:32
subroutine rdam24(nel, nbdama, damai, ang, deps1, deps2, deps3, deps4, deps5, deps6)
Definition rdam24.F:30