OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c3coork3.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!|| c3coork3 ../engine/source/elements/sh3n/coque3n/c3coork3.F
25!||--- called by ------------------------------------------------------
26!|| c3ke3 ../engine/source/elements/sh3n/coque3n/c3ke3.F
27!||--- calls -----------------------------------------------------
28!|| clskew3 ../engine/source/elements/sh3n/coquedk/cdkcoor3.F
29!|| cortdir3 ../engine/source/elements/shell/coque/cortdir3.F
30!||--- uses -----------------------------------------------------
31!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
32!||====================================================================
33 SUBROUTINE c3coork3(JFT ,JLT ,X ,IXTG , OFFG,
34 2 GEO ,PID ,MAT ,NGL ,AREA ,
35 3 IREP ,NPT ,ISMSTR ,NLAY ,
36 3 ELBUF_STR,SMSTR,DIR_A ,DIR_B ,
37 4 XL2 ,XL3 ,YL3 ,
38 5 R11 ,R12 ,R13 ,R21 ,
39 6 R22 ,R23 ,R31 ,R32 ,R33 ,
40 7 K11 ,K12 ,K13 ,K22 ,K23 ,K33 ,
41 8 M11 ,M12 ,M13 ,M22 ,M23 ,M33 ,
42 9 MF11 ,MF12,MF13,MF22,MF23,MF33,
43 A FM12 ,FM13,FM23,OFF ,NEL)
44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE elbufdef_mod
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C G l o b a l P a r a m e t e r s
54C-----------------------------------------------
55#include "mvsiz_p.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "param_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER JFT, JLT ,IREP,NPT,ISMSTR,NLAY,NEL
64 INTEGER IXTG(NIXTG,*),PID(*),MAT(*),NGL(*)
65C REAL
66 my_real
67 . X(3,*),OFFG(*),AREA(*),
68 . GEO(NPROPG,*),XL2(*),XL3(*),YL3(*),
69 . R11(*),R12(*),R13(*),
70 . R21(*),R22(*),R23(*),
71 . R31(*),R32(*),R33(*),
72 . K11(9,*),K12(9,*),K13(9,*),
73 . k22(9,*),k23(9,*),k33(9,*),
74 . m11(9,*),m12(9,*),m13(9,*),
75 . m22(9,*),m23(9,*),m33(9,*),
76 . mf11(9,*),mf12(9,*),mf13(9,*),
77 . mf22(9,*),mf23(9,*),mf33(9,*),
78 . fm12(9,*),fm13(9,*),fm23(9,*),off(*),smstr(*),
79 . dir_a(nel,*),dir_b(nel,*)
80 TYPE(elbuf_struct_) :: ELBUF_STR
81C-----------------------------------------------
82C L o c a l V a r i a b l e s
83C-----------------------------------------------
84 INTEGER NC1, NC2, NC3,I,II(3),J,K, MAT_1
85C REAL
86 my_real
87 . X1(MVSIZ), Y1(MVSIZ), Z1(MVSIZ),DETA1(MVSIZ),
88 . X2(MVSIZ), Y2(MVSIZ), Z2(MVSIZ),
89 . X3(MVSIZ), Y3(MVSIZ), Z3(MVSIZ),
90 . rx(mvsiz), ry(mvsiz), rz(mvsiz),
91 . sx(mvsiz), sy(mvsiz), sz(mvsiz)
92C-----------------------------------------------
93 DO i=1,3
94 ii(i) = nel*(i-1)
95 ENDDO
96C
97 mat_1 = ixtg(1,jft)
98 DO i=jft,jlt
99 mat(i) = mat_1
100 nc1 = ixtg(2,i)
101 nc2 = ixtg(3,i)
102 nc3 = ixtg(4,i)
103 pid(i) = ixtg(5,i)
104 ngl(i) = ixtg(6,i)
105C----------------------------
106C COORDONNEES
107C----------------------------
108 x1(i)=x(1,nc1)
109 y1(i)=x(2,nc1)
110 z1(i)=x(3,nc1)
111 x2(i)=x(1,nc2)
112 y2(i)=x(2,nc2)
113 z2(i)=x(3,nc2)
114 x3(i)=x(1,nc3)
115 y3(i)=x(2,nc3)
116 z3(i)=x(3,nc3)
117 ENDDO
118C
119 DO i=jft,jlt
120 rx(i)=x2(i)-x1(i)
121 sx(i)=x3(i)-x1(i)
122 ry(i)=y2(i)-y1(i)
123 sy(i)=y3(i)-y1(i)
124 rz(i)=z2(i)-z1(i)
125 sz(i)=z3(i)-z1(i)
126 ENDDO
127C----------------------------
128C LOCAL SYSTEM
129C----------------------------
130 k = 2
131 CALL clskew3(jft,jlt,k,
132 . rx, ry, rz,
133 . sx, sy, sz,
134 . r11,r12,r13,r21,r22,r23,r31,r32,r33,deta1,offg )
135C----------------------------
136C CHANGE TO LOCAL SYSTEM
137C----------------------------
138 DO i=jft,jlt
139 area(i)=half*deta1(i)
140 xl2(i)=r11(i)*rx(i)+r21(i)*ry(i)+r31(i)*rz(i)
141 xl3(i)=r11(i)*sx(i)+r21(i)*sy(i)+r31(i)*sz(i)
142 yl3(i)=r12(i)*sx(i)+r22(i)*sy(i)+r32(i)*sz(i)
143 ENDDO
144C----------------------------
145C SMALL STRAIN
146C----------------------------
147 IF(ismstr==1.OR.ismstr==2)THEN
148 DO i=jft,jlt
149 IF(abs(offg(i))==2.)THEN
150 xl2(i)=smstr(ii(1)+i)
151 xl3(i)=smstr(ii(2)+i)
152 yl3(i)=smstr(ii(3)+i)
153 ELSE
154 smstr(ii(1)+i)=xl2(i)
155 smstr(ii(2)+i)=xl3(i)
156 smstr(ii(3)+i)=yl3(i)
157 ENDIF
158 ENDDO
159 ENDIF
160 IF(ismstr==1)THEN
161 DO i=jft,jlt
162 IF(offg(i) == one) offg(i)=two
163 ENDDO
164 ENDIF
165C----------------------------
166C ORTHOTROPY plus tard
167C----------------------------
168 IF (irep > 0) THEN
169 CALL cortdir3(elbuf_str,dir_a,dir_b ,jft ,jlt ,
170 . nlay ,irep ,rx ,ry ,rz ,
171 . sx ,sy ,sz ,r11 ,r21 ,
172 . r31 ,r12 ,r22 ,r32 ,nel )
173 ENDIF
174c
175 DO j=1,9
176 DO i=jft,jlt
177 k11(j,i)=zero
178 k12(j,i)=zero
179 k13(j,i)=zero
180 k22(j,i)=zero
181 k23(j,i)=zero
182 k33(j,i)=zero
183 m11(j,i)=zero
184 m12(j,i)=zero
185 m13(j,i)=zero
186 m22(j,i)=zero
187 m23(j,i)=zero
188 m33(j,i)=zero
189 ENDDO
190 ENDDO
191 DO i=jft,jlt
192 off(i)=offg(i)
193 ENDDO
194C
195 RETURN
196 END
subroutine c3coork3(jft, jlt, x, ixtg, offg, geo, pid, mat, ngl, area, irep, npt, ismstr, nlay, elbuf_str, smstr, dir_a, dir_b, xl2, xl3, yl3, r11, r12, r13, r21, r22, r23, r31, r32, r33, k11, k12, k13, k22, k23, k33, m11, m12, m13, m22, m23, m33, mf11, mf12, mf13, mf22, mf23, mf33, fm12, fm13, fm23, off, nel)
Definition c3coork3.F:44
subroutine clskew3(jft, jlt, irep, rx, ry, rz, sx, sy, sz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, det)
Definition clskew.F:34
subroutine cortdir3(elbuf_str, dir_a, dir_b, jft, jlt, nlay, irep, rx, ry, rz, sx, sy, sz, e1x, e1y, e1z, e2x, e2y, e2z, nel)
Definition cortdir3.F:45