OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
carm24.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!|| carm24 ../engine/source/materials/mat/mat024/carm24.F
25!||--- called by ------------------------------------------------------
26!|| conc24 ../engine/source/materials/mat/mat024/conc24.F
27!||====================================================================
28 SUBROUTINE carm24(NEL ,YMS ,Y0S ,ETS ,EPXA ,SIGA ,
29 . DEPS1,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 NEL
38 my_real, INTENT(IN) :: yms,y0s,ets
39 my_real, DIMENSION(NEL,3) ,INTENT(INOUT) :: siga,epxa
40 my_real, DIMENSION(NEL), INTENT(IN) :: deps1,deps2,deps3,
41 . deps4,deps5,deps6
42C-----------------------------------------------
43C L o c a l V a r i a b l e s
44C-----------------------------------------------
45 INTEGER I
46 my_real hs
47 my_real, DIMENSION(NEL) :: s01,s02,s03,s1,s2,s3,
48 . de1,de2,de3,scle1,scle2,scle3,scal1,scal2,scal3
49C=======================================================================
50 hs = yms*ets / max(yms-ets,em20)
51c
52 DO i = 1,nel
53 s1(i) = siga(i,1)+yms*deps1(i)
54 s2(i) = siga(i,2)+yms*deps2(i)
55 s3(i) = siga(i,3)+yms*deps3(i)
56 s01(i) = y0s+hs*abs(epxa(i,1))
57 s02(i) = y0s+hs*abs(epxa(i,2))
58 s03(i) = y0s+hs*abs(epxa(i,3))
59 scle1(i) = half+sign(half,abs(s1(i))-s01(i) )
60 scle2(i) = half+sign(half,abs(s2(i))-s02(i) )
61 scle3(i) = half+sign(half,abs(s3(i))-s03(i) )
62 ENDDO
63 DO i = 1,nel
64 s01(i) = sign(s01(i),s1(i))
65 s02(i) = sign(s02(i),s2(i))
66 s03(i) = sign(s03(i),s3(i))
67 scal1(i) = abs(s1(i)-s01(i))/max(abs(yms*deps1(i)),em20)
68 scal2(i) = abs(s2(i)-s02(i))/max(abs(yms*deps2(i)),em20)
69 scal3(i) = abs(s3(i)-s03(i))/max(abs(yms*deps3(i)),em20)
70 de1(i) = scle1(i)*scal1(i)*(one-ets/(yms+em10))*deps1(i)
71 de2(i) = scle2(i)*scal2(i)*(one-ets/(yms+em10))*deps2(i)
72 de3(i) = scle3(i)*scal3(i)*(one-ets/(yms+em10))*deps3(i)
73 epxa(i,1) = epxa(i,1)+de1(i)
74 epxa(i,2) = epxa(i,2)+de2(i)
75 epxa(i,3) = epxa(i,3)+de3(i)
76 ENDDO
77 DO i = 1,nel
78 s01(i) = s01(i)+hs*de1(i)
79 s02(i) = s02(i)+hs*de2(i)
80 s03(i) = s03(i)+hs*de3(i)
81 siga(i,1) = (one-scle1(i))*s1(i)+scle1(i)*s01(i)
82 siga(i,2) = (one-scle2(i))*s2(i)+scle2(i)*s02(i)
83 siga(i,3) = (one-scle3(i))*s3(i)+scle3(i)*s03(i)
84 ENDDO
85c--------------
86 RETURN
87 END
subroutine carm24(nel, yms, y0s, ets, epxa, siga, deps1, deps2, deps3, deps4, deps5, deps6)
Definition carm24.F:30
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21