OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cpxpy3.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!|| cpxpy3 ../engine/source/elements/shell/coque/cpxpy3.F
25!||--- called by ------------------------------------------------------
26!|| cforc3 ../engine/source/elements/shell/coque/cforc3.F
27!|| cforc3_crk ../engine/source/elements/xfem/cforc3_crk.F
28!||--- uses -----------------------------------------------------
29!|| element_mod ../common_source/modules/elements/element_mod.F90
30!||====================================================================
31 SUBROUTINE cpxpy3(JFT ,JLT ,PM ,STI ,SMSTR,
32 2 PX1 ,PX2 ,PY1 ,PY2 ,STIR,
33 3 IXC ,AREA,X2 ,X3 ,X4 ,
34 4 Y2 ,Y3 ,Y4 ,Z2 ,THK0,
35 5 MAT ,NEL )
36 use element_mod , only : nixc
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "param_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER MAT(MVSIZ), IXC(NIXC,*), JFT, JLT,NEL
53C REAL
54 my_real
55 . PM(NPROPM,*), STI(*), STIR(*),SMSTR(*),
56 . px1(*), px2(*), py1(*), py2(*),
57 . x2(mvsiz), x3(mvsiz), x4(mvsiz),area(mvsiz),
58 . y2(mvsiz), y3(mvsiz), y4(mvsiz), z2(mvsiz),thk0(mvsiz)
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I, II(4), MX
63C REAL
64 my_real
65 . YOUNG ,
66 . pxx, al2
67C=======================================================================
68 mx = mat(jft)
69 young=pm(20,mx)
70C
71 DO i=1,4
72 ii(i) = nel*(i-1)
73 ENDDO
74C
75 DO i=jft,jlt
76 z2(i) = zero
77 px1(i) = smstr(ii(1)+i)
78 px2(i) = smstr(ii(2)+i)
79 py1(i) = smstr(ii(3)+i)
80 py2(i) = smstr(ii(4)+i)
81 x2(i) =-two*py1(i)
82 y2(i) = zero
83 x3(i) =-two*py2(i)
84 y3(i) = two*px2(i)
85 x4(i) = zero
86 y4(i) =-two*px1(i)
87 z2(i) = zero
88 area(i)= two*(py2(i)*px1(i)-py1(i)*px2(i))
89 ENDDO
90C
91 DO i=jft,jlt
92 pxx = max(px1(i)**2+py1(i)**2,px2(i)**2+py2(i)**2)
93 sti(i) = young * pxx * thk0(i) / area(i)
94 stir(i)= zero
95 ENDDO
96C
97 DO i=jft,jlt
98 IF (ixc(4,i) == ixc(5,i)) THEN
99 al2= (py1(i)+py2(i))**2
100 al2= min(al2, px1(i)**2+py1(i)**2 )
101 al2= four * min(al2, px2(i)**2+py2(i)**2 )
102 sti(i) = half * area(i) * thk0(i) * young / al2
103 ENDIF
104 ENDDO
105C-----------
106 RETURN
107 END
subroutine cpxpy3(jft, jlt, pm, sti, smstr, px1, px2, py1, py2, stir, ixc, area, x2, x3, x4, y2, y3, y4, z2, thk0, mat, nel)
Definition cpxpy3.F:36
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21