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