OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cbafint_ply.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!|| cbafint_ply ../engine/source/properties/composite_options/stack/cbafint_ply.F
25!||--- called by ------------------------------------------------------
26!|| cbaforc3 ../engine/source/elements/shell/coqueba/cbaforc3.F
27!||====================================================================
28 SUBROUTINE cbafint_ply(JFT,JLT,NPT,NG,NPLAT,IPLAT,CDET,THKLY,TH12,
29 . VOL,FF0,BM,BC,TC,SIG_IPLY,VNI,AREA,
30 . VF,VFI,IXC)
31C--------------------------------------------------------------------------------------------------
32C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
33C CALCUL DES FORCES INTERNES AUX NOEUDS
34C ENTREES : NEL,MNT,NPT,NP,NIXC,IXC,HZ,OFF,
35C CDET,EPAIS,BUFCON,BM,,,BC
36C SORTIES : VF
37C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
38C--------------------------------------------------------------------------------------------------
39C-----------------------------------------------
40C I M P L I C I T T Y P E S
41C-----------------------------------------------
42#include "implicit_f.inc"
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C D U M M Y A R G U M E N T S
46C-----------------------------------------------
47 INTEGER JFT,JLT,NPT,NPLAT,IPLAT(*),NG,IXC(NIXC,*)
48 my_real
49c . FF(5,MVSIZ,NPT),CDET(*),VOL(MVSIZ,NPT),
50 . ff0(mvsiz,5,npt),cdet(*),vol(*),
51 . bm(mvsiz,36),bc(mvsiz,40),
52 . thkly(mvsiz,*),vf(mvsiz,12,npt),th12(*),
53 . tc(mvsiz,2,2),sig_iply(mvsiz,3,npt),
54 . area(mvsiz),vni(4,4),
55 . vfi(mvsiz,12,npt)
56C-----------------------------------------------
57C L O C A L V A R I A B L E S
58C-----------------------------------------------
59 INTEGER EP,I,J,JSUP,JINF,IPLY,K,NPLAT0
60 my_real
61 . c1,c2,bc1,bc3,bc5,bcx,bcy,fl1,fl2,fl3,
62 . ff(mvsiz,5,npt)
63
64C--------------------------------------------------------------------------------------------------$
65!! NPLAT0 = JLT
66 nplat0 = nplat
67 DO j=1,npt
68#include "vectorize.inc"
69 DO i=jft,nplat0
70 ep=iplat(i)
71 ff(ep,1,j)=ff0(ep,1,j)
72 ff(ep,2,j)=ff0(ep,2,j)
73 ff(ep,3,j)=ff0(ep,3,j)
74 ff(ep,5,j)=ff0(ep,4,j)
75 ff(ep,4,j)=ff0(ep,5,j)
76C
77cc C2=VOL(EP)/NPT
78!! C2=VOL(EP)
79 c2=thkly(ep,j)*cdet(ep)
80 c1=th12(ep)*cdet(ep)
81 bc1=bc(ep,1)*ff(ep,4,j)
82 bc3=bc(ep,3)*ff(ep,4,j)
83 bc5=bc(ep,5)*ff(ep,4,j)
84C----------NOEUD 1 ------------
85 vf(ep,1,j) = vf(ep,1,j) + c2*(bm(ep,1)*ff(ep,1,j))
86 vf(ep,2,j) = vf(ep,2,j) + c2*(bm(ep,5)*ff(ep,2,j))
87 vf(ep,3,j) = vf(ep,3,j) + c2*(bc1+bc(ep,2)*ff(ep,5,j))
88C integration complete du cisaillement
89cc VF(1,EP,J) = VF(1,EP,J) + C2*(BM(EP,5)*FF(3,EP,J))
90cc VF(2,EP,J) = VF(2,EP,J) + C2*(BM(EP,1)*FF(3,EP,J))
91
92C
93 vf(ep,7,j) = vf(ep,7,j) + c2*(bm(ep,3)*ff(ep,1,j))
94 vf(ep,8,j) = vf(ep,8,j) + c2*(bm(ep,7)*ff(ep,2,j))
95C integration complete du cisaillement
96cc VF(7,EP,J) = VF(7,EP,J) + C2*(BM(7,EP)*FF(3,EP,J))
97cc VF(8,EP,J) = VF(8,EP,J) + C2*(BM(3,EP)*FF(3,EP,J))
98C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
99 vf(ep,9,j) = vf(ep,9,j) + c2*(bc(ep,13)*ff(ep,4,j)
100 . + bc(ep,14)*ff(ep,5,j))
101C----------NOEUD 2 ------------
102 vf(ep,4,j) = vf(ep,4,j) + c2*(bm(ep,2)*ff(ep,1,j))
103 vf(ep,5,j) = vf(ep,5,j) + c2*(bm(ep,6)*ff(ep,2,j))
104 vf(ep,6,j) = vf(ep,6,j) + c2*(bc(ep,7)*ff(ep,4,j)
105 . + bc(ep,8)*ff(ep,5,j))
106C integration complete du cisaillement
107cc VF(4,EP,J) = VF(4,EP,J) + C2*(BM(EP,6)*FF(3,EP,J))
108cc VF(5,EP,J) = VF(5,EP,J) + C2*(BM(EP,2)*FF(3,EP,J))
109C
110 vf(ep,10,j) =-vf(ep,7,j)
111 vf(ep,11,j) =-vf(ep,8,j)
112 vf(ep,12,j) =-vf(ep,9,j)
113 ENDDO
114#include "vectorize.inc"
115 DO i=nplat0+1,jlt
116 ep=iplat(i)
117C
118 ff(ep,1,j)=ff0(ep,1,j)
119 ff(ep,2,j)=ff0(ep,2,j)
120 ff(ep,3,j)=ff0(ep,3,j)
121 ff(ep,5,j)=ff0(ep,4,j)
122 ff(ep,4,j)=ff0(ep,5,j)
123C
124!! C2=VOL(EP)
125 c2=thkly(ep,j)*cdet(ep)
126 c1=th12(ep)*cdet(ep)
127 bcx=tc(ep,1,1)*ff(ep,4,j)+tc(ep,1,2)*ff(ep,5,j)
128 bcy=tc(ep,2,1)*ff(ep,4,j)+tc(ep,2,2)*ff(ep,5,j)
129C J=1 K0=0 K1=0 K2=0
130 vf(ep,1,j) = vf(ep,1,j) + c2*(bm(ep,1)*ff(ep,1,j)+
131 1 bm(ep,2)*ff(ep,2,j)+
132 3 bc(ep,1)*bcx+
133 4 bc(ep,2)*bcy )
134c 5 +C1*(BMF(EP,1)*MM(1,EP)+
135c 6 BMF(EP,2)*MM(2,EP)+
136c 7 BMF(EP,3)*MM(3,EP))
137
138 vf(ep,2,j) = vf(ep,2,j )+ c2*(bm(ep,4)*ff(ep,1,j)+
139 2 bm(ep,5)*ff(ep,2,j)+
140 4 bc(ep,3)*bcx+
141 5 bc(ep,4)*bcy )
142c 6 +C1*(BMF(EP,4,EP)*MM(1,EP)+
143c 7 BMF(EP,5,EP)*MM(2,EP)+
144c 8 BMF(EP,6,EP)*MM(3,EP))
145
146C I1=3 I2=3
147 vf(ep,3,j)=vf(ep,3,j)+ c2*(bm(ep,7)*ff(ep,1,j)+
148 2 bm(ep,8)*ff(ep,2,j)+
149 4 bc(ep,5)*bcx+
150 5 bc(ep,6)*bcy )
151c 6 +C1*(BMF(EP,7)*MM(1,EP)+
152c 7 BMF(EP,8)*MM(2,EP)+
153c 8 BMF(EP,9)*MM(3,EP))
154C J=2 K0=2 K1=3 K2=5 I1=4 I2=6
155 vf(ep,4,j) = vf(ep,4,j)+c2*(bm(ep,10)*ff(ep,1,j)+
156 2 bm(ep,11)*ff(ep,2,j)+
157 4 bc(ep,11)*bcx+
158 5 bc(ep,12)*bcy )
159c 6 +C1*(BMF(EP,10)*MM(1,EP)+
160c 7 BMF(EP,11)*MM(2,EP)+
161c 8 BMF(EP,12)*MM(3,EP))
162
163C I1=5 I2=7
164 vf(ep,5,j)=vf(ep,5,j)+c2*(bm(ep,13)*ff(ep,1,j)+
165 2 bm(ep,14)*ff(ep,2,j)+
166 4 bc(ep,13)*bcx+
167 5 bc(ep,14)*bcy )
168c 6 +C1*(BMF(EP,13)*MM(1,EP)+
169c 7 BMF(EP,14)*MM(2,EP)+
170c 8 BMF(EP,15)*MM(3,EP))
171C I1=6 I2=8
172 vf(ep,6,j)=vf(ep,6,j)+c2*(bm(ep,16)*ff(ep,1,j)+
173 2 bm(ep,17)*ff(ep,2,j)+
174 4 bc(ep,15)*bcx+
175 5 bc(ep,16)*bcy )
176c 6 +C1*(BMF(EP,16)*MM(1,EP)+
177c 7 BMF(EP,17)*MM(2,EP)+
178c 8 BMF(EP,18)*MM(3,EP))
179C J=3 K0=4 K1=6 K2=10 I1=7 I2=11
180 vf(ep,7,j)=vf(ep,7,j)+c2*(bm(ep,19)*ff(ep,1,j)+
181 2 bm(ep,20)*ff(ep,2,j)+
182 4 bc(ep,21)*bcx+
183 5 bc(ep,22)*bcy )
184c 6 +C1*(BMF(EP,19)*MM(1,EP)+
185c 7 BMF(EP,20)*MM(2,EP)+
186c 8 BMF(EP,21)*MM(3,EP))
187C I1=8 I2=12
188 vf(ep,8,j)=vf(ep,8,j)+c2*(bm(ep,22)*ff(ep,1,j)+
189 2 bm(ep,23)*ff(ep,2,j)+
190 4 bc(ep,23)*bcx+
191 5 bc(ep,24)*bcy )
192c 6 +C1*(BMF(EP,22)*MM(1,EP)+
193c 7 BMF(EP,23)*MM(2,EP)+
194c 8 BMF(EP,24)*MM(3,EP))
195C I1=9 I2=13
196 vf(ep,9,j)=vf(ep,9,j)+c2*(bm(ep,25)*ff(ep,1,j)+
197 2 bm(ep,26)*ff(ep,2,j)+
198 4 bc(ep,25)*bcx+
199 5 bc(ep,26)*bcy )
200cc 6 +C1*(BMF(EP,25)*MM(1,EP)+
201c 7 BMF(EP,26)*MM(2,EP)+
202c 8 BMF(EP,27)*MM(3,EP))
203C J=4 K0=6 K1=9 K2=15 I=1 I1=10 I2=16
204 vf(ep,10,j)=vf(ep,10,j)+c2*(bm(ep,28)*ff(ep,1,j)+
205 2 bm(ep,29)*ff(ep,2,j)+
206 4 bc(ep,31)*bcx+
207 5 bc(ep,32)*bcy )
208c 6 +C1*(BMF(EP,28)*MM(1,EP)+
209c 7 BMF(EP,29)*MM(2,EP)+
210c 8 BMF(EP,30)*MM(3,EP))
211C I1=11 I2=17
212 vf(ep,11,j)=vf(ep,11,j)+c2*(bm(ep,31)*ff(ep,1,j)+
213 2 bm(ep,32)*ff(ep,2,j)+
214 4 bc(ep,33)*bcx+
215 5 bc(ep,34)*bcy )
216c 6 +C1*(BMF(EP,31)*MM(1,EP)+
217c 7 BMF(EP,32)*MM(2,EP)+
218c 8 BMF(EP,33)*MM(3,EP))
219C I1=12 I2=18
220 vf(ep,12,j)=vf(ep,12,j)+c2*(bm(ep,34)*ff(ep,1,j)+
221 2 bm(ep,35)*ff(ep,2,j)+
222 4 bc(ep,35)*bcx+
223 5 bc(ep,36)*bcy )
224c 6 +C1*(BMF(EP,34)*MM(1,EP)+
225c 7 BMF(EP,35)*MM(2,EP)+
226c 8 BMF(EP,36)*MM(3,EP))
227C
228 ENDDO
229 ENDDO
230C
231C interface
232 DO iply = 1 , npt - 1
233 jinf = iply
234 jsup = iply + 1
235 DO ep=jft,jlt
236C
237 fl1 = cdet(ep)*sig_iply(ep,2,iply)
238 fl2 = cdet(ep)*sig_iply(ep,1,iply)
239 fl3 = cdet(ep)*sig_iply(ep,3,iply)
240C----------NOEUD 1 ------------
241 vfi(ep,1,jsup) = vfi(ep,1,jsup) + fl1*vni(1,ng)
242 vfi(ep,2,jsup) = vfi(ep,2,jsup) + fl2*vni(1,ng)
243 vfi(ep,3,jsup) = vfi(ep,3,jsup) + fl3*vni(1,ng)
244C ----------NOEUD 2 ------------
245 vfi(ep,4,jsup) = vfi(ep,4,jsup) + fl1*vni(2,ng)
246 vfi(ep,5,jsup) = vfi(ep,5,jsup) + fl2*vni(2,ng)
247 vfi(ep,6,jsup) = vfi(ep,6,jsup) + fl3*vni(2,ng)
248C----------NOEUD 3 ------------
249 vfi(ep,7,jsup) = vfi(ep,7,jsup) + fl1*vni(3,ng)
250 vfi(ep,8,jsup) = vfi(ep,8,jsup) + fl2*vni(3,ng)
251 vfi(ep,9,jsup) = vfi(ep,9,jsup) + fl3*vni(3,ng)
252C----------NOEUD 4 ------------
253 vfi(ep,10,jsup) = vfi(ep,10,jsup) + fl1*vni(4,ng)
254 vfi(ep,11,jsup) = vfi(ep,11,jsup) + fl2*vni(4,ng)
255 vfi(ep,12,jsup) = vfi(ep,12,jsup) + fl3*vni(4,ng)
256cc -----------ply inf
257C----------NOEUD 1 ------------
258 vfi(ep,1,jinf) = vfi(ep,1,jinf) - fl1*vni(1,ng)
259 vfi(ep,2,jinf) = vfi(ep,2,jinf) - fl2*vni(1,ng)
260 vfi(ep,3,jinf) = vfi(ep,3,jinf) - fl3*vni(1,ng)
261C ----------NOEUD 2 ------------
262 vfi(ep,4,jinf) = vfi(ep,4,jinf) - fl1*vni(2,ng)
263 vfi(ep,5,jinf) = vfi(ep,5,jinf) - fl2*vni(2,ng)
264 vfi(ep,6,jinf) = vfi(ep,6,jinf) - fl3*vni(2,ng)
265C----------NOEUD 3 ------------
266 vfi(ep,7,jinf) = vfi(ep,7,jinf) - fl1*vni(3,ng)
267 vfi(ep,8,jinf) = vfi(ep,8,jinf) - fl2*vni(3,ng)
268 vfi(ep,9,jinf) = vfi(ep,9,jinf) - fl3*vni(3,ng)
269C----------NOEUD 4 ------------
270 vfi(ep,10,jinf) = vfi(ep,10,jinf) - fl1*vni(4,ng)
271 vfi(ep,11,jinf) = vfi(ep,11,jinf) - fl2*vni(4,ng)
272 vfi(ep,12,jinf) = vfi(ep,12,jinf) - fl3*vni(4,ng)
273 ENDDO
274 ENDDO
275 RETURN
276 END
subroutine cbafint_ply(jft, jlt, npt, ng, nplat, iplat, cdet, thkly, th12, vol, ff0, bm, bc, tc, sig_iply, vni, area, vf, vfi, ixc)
Definition cbafint_ply.F:31
subroutine area(d1, x, x2, y, y2, eint, stif0)