OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cbaforc3.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!|| cbaforc3 ../engine/source/elements/shell/coqueba/cbaforc3.F
25!||--- called by ------------------------------------------------------
26!|| forintc ../engine/source/elements/forintc.F
27!||--- calls -----------------------------------------------------
28!|| cbacoor ../engine/source/elements/shell/coqueba/cbacoor.f
29!|| cbacoorpinch ../engine/source/elements/shell/coqueba/cbacoorpinch.F
30!|| cbacoort ../engine/source/elements/shell/coqueba/cbacoor.F
31!|| cbadef ../engine/source/elements/shell/coqueba/cbadef.F
32!|| cbadef1 ../engine/source/elements/shell/coqueba/cbadef.F
33!|| cbadef_ply ../engine/source/properties/composite_options/stack/cbadef_ply.F
34!|| cbadefpinch ../engine/source/elements/shell/coqueba/cbadefpinch.F
35!|| cbadefrz ../engine/source/elements/shell/coqueba/cbadef.F
36!|| cbadefsh ../engine/source/elements/shell/coqueba/cbadef.F
37!|| cbadefsh_ply ../engine/source/properties/composite_options/stack/cbadef_ply.F
38!|| cbadeft ../engine/source/elements/shell/coqueba/cbadef.F
39!|| cbadeft1 ../engine/source/elements/shell/coqueba/cbadef.F
40!|| cbadeftw ../engine/source/elements/shell/coqueba/cbadef.F
41!|| cbaderirz ../engine/source/elements/shell/coqueba/cbadef.F
42!|| cbaderirzt ../engine/source/elements/shell/coqueba/cbadef.F
43!|| cbaderit1 ../engine/source/elements/shell/coqueba/cbadef.F
44!|| cbaener ../engine/source/elements/shell/coqueba/cbaener.f
45!|| cbaeners ../engine/source/elements/shell/coqueba/cbaener.F
46!|| cbafint_ply ../engine/source/properties/composite_options/stack/cbafint_ply.f
47!|| cbafint_reg ../engine/source/elements/shell/coqueba/cbafint_reg.F
48!|| cbaforct ../engine/source/elements/shell/coqueba/cbafori.F
49!|| cbafori ../engine/source/elements/shell/coqueba/cbafori.F
50!|| cbafori1 ../engine/source/elements/shell/coqueba/cbafori.F
51!|| cbaforipinch ../engine/source/elements/shell/coqueba/cbaforipinch.F
52!|| cbaforrz ../engine/source/elements/shell/coqueba/cbafori.F
53!|| cbal58warp ../engine/source/elements/shell/coqueba/cbawarpoff.F
54!|| cbapinchproj ../engine/source/elements/shell/coqueba/cbapinchproj.F
55!|| cbapinchthk ../engine/source/elements/shell/coqueba/cbapinchthk.F
56!|| cbaproj ../engine/source/elements/shell/coqueba/cbaproj.F
57!|| cbaproj_ply ../engine/source/properties/composite_options/stack/cbaproj_ply.F
58!|| cbastra3 ../engine/source/elements/shell/coqueba/cbastra3.F
59!|| cbastra3pinch ../engine/source/elements/shell/coqueba/cbastra3pinch.F
60!|| cbatempel ../engine/source/elements/shell/coqueba/cbatempel.F
61!|| cbatherm ../engine/source/elements/shell/coqueba/cbatherm.F
62!|| cbavarnl ../engine/source/elements/shell/coqueba/cbavarnl.F
63!|| cbavisc ../engine/source/elements/shell/coqueba/cbavisc.f
64!|| cbavisnp1 ../engine/source/elements/shell/coqueba/cbavisc.F
65!|| cbavit_ply ../engine/source/properties/composite_options/stack/cbavit_ply.f
66!|| cbilan ../engine/source/elements/shell/coque/cbilan.F
67!|| cmain3 ../engine/source/materials/mat_share/cmain3.F
68!|| cmain3pinch ../engine/source/elements/shell/coqueba/cmain3pinch.F
69!|| cncoef3 ../engine/source/elements/sh3n/coquedk/cncoef3.F
70!|| cndt3 ../engine/source/elements/sh3n/coquedk/cndt3.F
71!|| cndt3pinch ../engine/source/elements/shell/coqueba/cndt3pinch.F
72!|| cndt_ply ../engine/source/properties/composite_options/stack/cndt_ply.F
73!|| cupdt3f ../engine/source/elements/shell/coque/cupdt3.F
74!|| cupdt_ply ../engine/source/properties/composite_options/stack/cupdt_ply.F
75!|| cupdtn3 ../engine/source/elements/shell/coque/cupdtn3.F
76!|| cupdtn3p ../engine/source/elements/shell/coque/cupdtn3.F
77!|| cupdtn3pinch ../engine/source/elements/shell/coqueba/cupdtn3pinch.F
78!|| dtcba_reg ../engine/source/elements/shell/coqueba/dtcba_reg.F
79!|| dttherm ../engine/source/time_step/dttherm.F90
80!|| set_failwave_sh4n ../engine/source/materials/fail/failwave/upd_failwave_sh4n.f
81!|| startime ../engine/source/system/timer_mod.F90
82!|| stoptime ../engine/source/system/timer_mod.F90
83!||--- uses -----------------------------------------------------
84!|| drape_mod ../engine/share/modules/drape_mod.F
85!|| dt_mod ../engine/source/modules/dt_mod.F
86!|| dttherm_mod ../engine/source/time_step/dttherm.F90
87!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
88!|| failwave_mod ../common_source/modules/failwave_mod.F
89!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
90!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
91!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
92!|| pinch_local_mod ../engine/share/modules/pinch_local_mod.F
93!|| sensor_mod ../common_source/modules/sensor_mod.F90
94!|| stack_mod ../engine/share/modules/stack_mod.F
95!|| table_mod ../engine/share/modules/table_mod.F
96!|| timer_mod ../engine/source/system/timer_mod.F90
97!||====================================================================
98 SUBROUTINE cbaforc3(TIMERS,
99 1 ELBUF_STR, JFT, JLT, NFT,
100 2 NPT, IPARI, MTN, IPRI,
101 3 ITHK, NELTST, ITYPTST, ITAB,
102 4 MAT_ELEM, ISTRAIN, IPLA, TT,
103 5 DT1, DT2T, PM, GEO,
104 6 PARTSAV, IXC, FAILWAVE, BUFMAT,
105 7 TF, NPF, IADC, X,
106 8 D, DR, V, VR,
107 9 F, M, STIFN, STIFR,
108 A FSKY, TANI, OFFSET, EANI,
109 B INDXOF, IPARTC, THKE, NVC,
110 C IOFC, IHBE, F11, F12,
111 D F13, F14, F21, F22,
112 E F23, F24, F31, F32,
113 F F33, F34, M11, M12,
114 G M13, M14, M21, M22,
115 H M23, M24, M31, M32,
116 I M33, M34, KFTS, ISMSTR,
117 J IGEO, GROUP_PARAM, IPM, IFAILURE,
118 K ITASK, JTHE, TEMP, FTHE,
119 L FTHESKY, IEXPAN, ISHPLYXFEM, MS,
120 M IN, MS_PLY, ZI_PLY, INOD_PXFEM,
121 N IEL_PXFEM, IADC_PXFEM, GRESAV, GRTH,
122 O IGRTH, MSC, DMELC, JSMS,
123 P TABLE, IPARG, SENSORS, MSZ2,
124 Q CONDN, CONDNSKY, ISUBSTACK, STACK,
125 R DRAPE_SH4N, NEL, NLOC_DMG, VPINCH,
126 S FPINCH, STIFPINCH, INDX_DRAPE, IGRE,
127 T JTUR, DT , NCYCLE, SNPC,
128 Y STF , GLOB_THERM , NXLAYMAX, IDEL7NOK,
129 U USERL_AVAIL, MAXFUNC, SBUFMAT)
130C-----------------------------------------------
131C M o d u l e s
132C-----------------------------------------------
133 USE timer_mod
134 USE table_mod
135 USE stack_mod
136 USE failwave_mod
137 USE mat_elem_mod
138 USE nlocal_reg_mod
140 USE drape_mod
141 USE sensor_mod
142 USE elbufdef_mod
143 USE dt_mod
144 use glob_therm_mod
145 use dttherm_mod
146C-----------------------------------------------
147C I M P L I C I T T Y P E S
148C-----------------------------------------------
149#include "implicit_f.inc"
150C-----------------------------------------------
151C G L O B A L P A R A M E T E R S
152C-----------------------------------------------
153#include "mvsiz_p.inc"
154C-----------------------------------------------
155C C O M M O N B L O C K S
156C-----------------------------------------------
157#include "scr14_c.inc"
158#include "scr18_c.inc"
159#include "parit_c.inc"
160#include "param_c.inc"
161#include "timeri_c.inc"
162#include "com04_c.inc"
163C-----------------------------------------------
164C D U M M Y A R G U M E N T S
165C-----------------------------------------------
166 TYPE(timer_), INTENT(INOUT) :: TIMERS
167 INTEGER,INTENT(IN) :: USERL_AVAIL ! Flag for User libraries availability
168 INTEGER,INTENT(IN) :: MAXFUNC ! Maximum number of functions
169 INTEGER,INTENT(INOUT) :: IDEL7NOK ! Element deletion flag for IDEL flag in contact interfaces
170 INTEGER,INTENT(IN) :: SBUFMAT ! size of bufmat
171 INTEGER,INTENT(IN) :: STF ! size of STF
172 INTEGER,INTENT(IN) :: SNPC ! size of NPC
173 INTEGER, INTENT(IN) :: NXLAYMAX
174 INTEGER, INTENT(IN) :: IGRE,JTUR,NCYCLE
175 INTEGER JFT,JLT,NFT,NPT,MTN,IPRI,ITHK,NELTST,
176 . ityptst ,istrain,ipla ,offset,nvc,
177 . iofc ,ihbe ,kfts,ismstr,ifailure,
178 . iexpan, ishplyxfem,itask,jthe,ibid,jsms,isubstack,nel
179 INTEGER IXC(NIXC,*), IADC(4,*), IPARTC(*), NPF(*),IGEO(NPROPGI,*),
180 . IPM(*),INDXOF(MVSIZ),INOD_PXFEM(*),IEL_PXFEM(*),ITAB(*),
181 . IADC_PXFEM(4,*),GRTH(*),IGRTH(*),IPARG(*),IPARI(NPARI,*),
182 . INDX_DRAPE(SCDRAPE)
183C REAL OU REAL*8
184 my_real
185 . F11(MVSIZ), F12(MVSIZ), F13(MVSIZ), F14(MVSIZ),
186 . F21(MVSIZ), F22(MVSIZ), F23(MVSIZ), F24(MVSIZ),
187 . F31(MVSIZ), F32(MVSIZ), F33(MVSIZ), F34(MVSIZ),
188 . M11(MVSIZ), M12(MVSIZ), M13(MVSIZ), M14(MVSIZ),
189 . M21(MVSIZ), M22(MVSIZ), M23(MVSIZ), M24(MVSIZ),
190 . M31(MVSIZ), M32(MVSIZ), M33(MVSIZ), M34(MVSIZ),
191 . TF(*), PM(NPROPM,*),GEO(NPROPG,*),PARTSAV(*),
192 . BUFMAT(*), X(3,*), D(*), DR(*),
193 . V(3,*),VR(3,*),F(3,*),M(3,*),STIFN(*),
194 . STIFR(*),FSKY(*),TANI(6,*),EANI(*),THKE(*),TEMP(*),
195 . FTHE(*),FTHESKY(*),IN(*),MS(*),MS_PLY(*), ZI_PLY(*),
196 . GRESAV(*), MSC(*), DMELC(*),MSZ2(*),
197 . condn(*),condnsky(*),
198 . fpinch(3,*),stifpinch(*),vpinch(3,*)
199 my_real
200 . tt, dt1, dt2t
201 TYPE(ttable) TABLE(*)
202 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
203 TYPE (STACK_PLY) :: STACK
204 TYPE (FAILWAVE_STR_) :: FAILWAVE
205 TYPE (GROUP_PARAM_) :: GROUP_PARAM
206 TYPE (NLOCAL_STR_), TARGET :: NLOC_DMG
207 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE)
208 TYPE (MAT_ELEM_),INTENT(INOUT) :: MAT_ELEM
209 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
210 TYPE (DT_) ,INTENT(IN) :: DT
211 type (glob_therm_) ,intent(inout) :: glob_therm
212C-----------------------------------------------
213C L O C A L V A R I A B L E S
214C-----------------------------------------------
215 INTEGER
216 . I,II,J,JJ,JG,IR,IS,IT,IPT,NPTR,NPTS,NPTT,NLAY,MX,
217 . NPLAT,IDRIL,LENE,LENF,LENM,LENS,NNOD,N1,N2,N3,N4,
218 . NG,NPG,PT1,PT2,PT3,PT4,PTF,PTM,PTE,PTS,L_DIRA,L_DIRB,
219 . IPPID,JPID,IPTHK,IPPOS,IPMAT,IPMAT_IPLY,MATLY,IFAILWAVE,
220 . J1,J2,IIGEO,IADI ,IADR,IPANG,IGTYP,IGMAT,ILAY,NPTTOT,IREP,KK(5),K,
221 . LENFPINCH,LENMPINCH,LENEPINCHXZ,LENEPINCHYZ,LENEPINCHZZ,
222 . PTFP,PTMP,PTEPXZ,PTEPYZ,PTEPZZ,MT,NPINCH,IDRAPE,ACTIFXFEM,
223 . SEDRAPE,NUMEL_DRAPE
224 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),MAT_IPLY(MVSIZ,NPT),
225 . IPLAT(MVSIZ),ISTACK(MVSIZ,NPT),FWAVE_EL(NEL)
226 PARAMETER (NPG = 4)
227 parameter (nnod = 4)
228 my_real
229 . rxyz(mvsiz,2*nnod),
230 . vcore(mvsiz,3*nnod),vxyz(mvsiz,3*nnod),off(mvsiz),
231 . vqn(mvsiz,9*nnod),vqg(mvsiz,9*nnod),vnrm(mvsiz,3*nnod),
232 . bm(mvsiz,9*nnod),bmf(mvsiz,9*nnod),bf(mvsiz,6*nnod),
233 . bc(mvsiz,10*nnod),vq(mvsiz,9),vjfi(mvsiz,6,4),
234 . tc(mvsiz,4),jac(mvsiz,npg),hx(mvsiz,npg),hy(mvsiz,npg),
235 . veta(4,npg),vksi(4,npg),vf(mvsiz,12),vm(mvsiz,8),
236 . vastn(mvsiz,4*nnod),area(mvsiz),
237 . lc(mvsiz),vdef(mvsiz,8),cdet(mvsiz),thk2(mvsiz),
238 . exx(mvsiz) ,eyy(mvsiz) ,exy(mvsiz) ,exz(mvsiz) ,eyz(mvsiz),
239 . kxx(mvsiz) ,kyy(mvsiz) ,kxy(mvsiz) ,sigy(mvsiz),
240 . dt1c(mvsiz),ssp(mvsiz) ,viscmx(mvsiz),rho(mvsiz) ,
241 . nu(mvsiz) ,g(mvsiz) ,a11(mvsiz) ,a12(mvsiz) ,vol0(mvsiz),
242 . thk0(mvsiz),sti(mvsiz) ,stir(mvsiz) ,shf(mvsiz) ,
243 . gs(mvsiz) ,alpe(mvsiz),ym(mvsiz) ,bid,zcfac(mvsiz,2),
244 . x13(mvsiz) ,y13(mvsiz), x24(mvsiz) ,amu(mvsiz),
245 . dd(mvsiz,6),volg(mvsiz),y24(mvsiz),facn(mvsiz,2),die(mvsiz),
246 . tempel(mvsiz),them(mvsiz,4),
247 . zl(mvsiz),ply_f(mvsiz,5, npt), ply_vxyz(mvsiz,3*nnod,npt),
248 . fly11(mvsiz, npt), fly21(mvsiz, npt), fly31(mvsiz, npt),
249 . fly12(mvsiz, npt), fly22(mvsiz, npt), fly32(mvsiz, npt),
250 . fly13(mvsiz, npt), fly23(mvsiz, npt), fly33(mvsiz, npt),
251 . fly14(mvsiz, npt), fly24(mvsiz, npt), fly34(mvsiz, npt),
252 . ply_exx(mvsiz,npt), ply_eyy(mvsiz,npt), ply_exy(mvsiz,npt),
253 . ply_ezx(mvsiz,npt), ply_eyz(mvsiz,npt), ply_fn(mvsiz,12,npt),
254 . thkly(mvsiz,npt),vol0_ly(mvsiz,npt),posly(mvsiz,npt),
255 . del_ply(mvsiz,12,npt),th_iply(mvsiz,npt),
256 . sig_iply(mvsiz,3,npt),vni(4,4),
257 . vfi(mvsiz,12,npt),delg_ply(mvsiz,3,npt),amom(mvsiz,3,4),
258 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
259 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
260 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
261 . a11_ply(mvsiz,npt),a11_iply(mvsiz,npt),sti_ply(mvsiz,npt),
262 . offi(mvsiz,npt),rlz(mvsiz,nnod),vrlz(mvsiz),
263 . bm0rz(mvsiz,4,nnod),bmkrz(mvsiz,4,nnod),bmerz(mvsiz,4,nnod),
264 . bmrz(mvsiz,3,nnod),brz(mvsiz,4,nnod),krz(mvsiz),
265 . vmz(mvsiz,nnod),ux1(mvsiz),ux2(mvsiz),ux3(mvsiz),ux4(mvsiz),
266 . uy1(mvsiz),uy2(mvsiz),uy3(mvsiz),uy4(mvsiz),
267 . conde(mvsiz),a11r(mvsiz),
268 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
269 . xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),yl2(mvsiz),yl3(mvsiz),yl4(mvsiz),
270 . vdefpinch(mvsiz,3), vpinchxyz(mvsiz,nnod), bcp(mvsiz,2*nnod),
271 . bp(mvsiz,nnod), tnpg(mvsiz,nnod,npg), vfpinch(mvsiz,4), facp(mvsiz),
272 . e, anu, a11pinch, fp(mvsiz,3,4),
273 . vpincht1(mvsiz,nnod),vpincht2(mvsiz,nnod),dbetadxy(mvsiz,3),
274 . bpinchdamp(mvsiz,8),vfpinchdampx(mvsiz,4),vfpinchdampy(mvsiz,4),
275 . ezzavg(mvsiz),areapinch(mvsiz),zla(mvsiz)
276 INTEGER
277 . NPLATT,PTW ,LENW,PTT,IPOUT,IMAT
278 INTEGER IPLATT(MVSIZ)
279 my_real
280 . VCORET(MVSIZ,3*NNOD),BMT(MVSIZ,9*NNOD),VQGT(MVSIZ,9*NNOD),
281 . VJFIT(MVSIZ,6,4),JACT(MVSIZ,NPG),HXT(MVSIZ,NPG),HYT(MVSIZ,NPG),
282 . AREAT(MVSIZ),X13T(MVSIZ) ,Y13T(MVSIZ), X24T(MVSIZ),Y24T(MVSIZ),
283 . BM0RZT(MVSIZ,4,NNOD),BMKRZT(MVSIZ,4,NNOD),BMERZT(MVSIZ,4,NNOD),
284 . BMRZT(MVSIZ,4,NNOD),F_DEF(MVSIZ,8,NPG),
285 . X1G(MVSIZ), X2G(MVSIZ), X3G(MVSIZ), X4G(MVSIZ),
286 . Y1G(MVSIZ), Y2G(MVSIZ), Y3G(MVSIZ), Y4G(MVSIZ),
287 . Z1G(MVSIZ), Z2G(MVSIZ), Z3G(MVSIZ), Z4G(MVSIZ),
288 . VRL1(MVSIZ,3),VRL2(MVSIZ,3),VRL3(MVSIZ,3),VRL4(MVSIZ,3),
289 . UXYZ(MVSIZ,12),AXYZ(MVSIZ,4),WXY(MVSIZ),XLCORE(MVSIZ,2*(NNOD-1))
290 my_real , DIMENSION(NEL) :: ZOFFSET
291! variables for heat transfer
292 my_real, dimension(mvsiz) :: fheat
293 my_real, dimension(mvsiz) :: epsd_pg,epsd_glob
294 my_real :: dtinv,asrate,eps_m2,eps_k2
295!
296C-----------------------------------------------
297 INTEGER, DIMENSION(NEL) :: OFFLY
298 my_real, DIMENSION(:) ,POINTER :: DIR_A, DIR_B,CRKDIR,DADV
299 my_real, ALLOCATABLE, DIMENSION(:) :: DIR1_CRK,DIR2_CRK,DIRA,DIRB
300 my_real
301 . EZZPG(MVSIZ,4)
302 TARGET :: DIRA,DIRB
303 INTEGER :: NDDL, NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
304 . INLOC
305 my_real,
306 . DIMENSION(:,:), ALLOCATABLE :: VAR_REG
307C-------------------------------------
308 TYPE(buf_lay_) ,POINTER :: BUFLY
309 TYPE(l_bufel_) ,POINTER :: LBUF1,LBUF2,LBUF3,LBUF4
310 TYPE(g_bufel_) ,POINTER :: GBUF
311 TYPE(L_BUFEL_) ,POINTER :: LBUF
312 TYPE(L_BUFEL_DIR_) ,POINTER :: LBUF_DIR
313 TYPE(PINCH_LOCAL_STRUCT_) :: PINCH_LOCAL
314 INTEGER SDIR_A ! Size of DIR_A
315 INTEGER SDIR_B ! Size of DIR_B
316C=======================================================================
317C INITIALISATION
318C--------------------------
319 ISTACK = 0
320 gbuf => elbuf_str%GBUF
321 idrape = elbuf_str%IDRAPE
322 ibid = 0
323 bid = zero
324 idril = iparg(41)
325 irep = iparg(35)
326 inloc = iparg(78)
327 actifxfem = iparg(70)
328 npinch= iparg(90)
329 sedrape = scdrape
330 numel_drape = numelc_drape
331 tempel(:) = zero
332 fheat(: ) = zero
333 imat = mat(1)
334
335C
336 nlay = elbuf_str%NLAY
337 nptr = elbuf_str%NPTR
338 npts = elbuf_str%NPTS
339cc NPT = MAX(NLAY,NPTT) --> set to = IPARG(6) , keeping it original
340!
341 DO j=1,5
342 kk(j) = nel*(j-1)
343 ENDDO
344!
345C to allow for NPT = 0 (global LAW_3
346 DO i=jft,jlt
347 mat(i) = ixc(1,i)
348 pid(i) = ixc(6,i)
349 ngl(i) = ixc(7,i)
350 ENDDO
351C
352 npttot = 0
353 DO ilay=1,nlay
354 npttot = npttot + elbuf_str%BUFLY(ilay)%NPTT
355 ENDDO
356 IF (npt == 0) npttot = npt ! compatibility with global integration
357C
358!-------------------------------------------
359! Tableau pour la variable non-locale
360 nddl = npttot
361 ALLOCATE(var_reg(nel,nddl))
362!-------------------------------------------
363C
364c--------------------------------------------
365c Front wave
366c--------------------------------------------
367 ifailwave = iparg(79)
368 IF (ifailwave > 0) THEN
369 fwave_el(:) = zero
370 offly(:) = elbuf_str%BUFLY(1)%OFF(:)
371 DO i=2,nlay
372 DO j=1,nel
373 offly(j) = max(offly(j), elbuf_str%BUFLY(i)%OFF(j))
374 ENDDO
375 ENDDO
376 dadv => gbuf%DMG
377 CALL set_failwave_sh4n(failwave ,fwave_el ,dadv ,
378 . nel ,ixc ,itab ,ngl ,offly )
379 ENDIF
380c-------------------------------------
381 l_dira = elbuf_str%BUFLY(1)%LY_DIRA
382 l_dirb = elbuf_str%BUFLY(1)%LY_DIRB
383 igtyp = igeo(11,pid(1))
384 IF(idrape > 0 .AND. (igtyp == 51 .OR. igtyp == 52)) THEN
385 ALLOCATE(dira(npttot*nel*l_dira))
386 ALLOCATE(dirb(npttot*nel*l_dirb))
387 dira = zero
388 dirb = zero
389 IF (l_dira == 0) THEN
390 CONTINUE
391 ELSEIF (irep == 0) THEN
392 npttot = 0
393 DO ilay=1,nlay
394 nptt = elbuf_str%BUFLY(ilay)%NPTT
395 DO it=1,nptt
396 j = npttot + it
397 lbuf_dir => elbuf_str%BUFLY(ilay)%LBUF_DIR(it)
398 j1 = 1+(j-1)*l_dira*nel
399 j2 = j*l_dira*nel
400 dira(j1:j2) = lbuf_dir%DIRA(1:nel*l_dira)
401 ENDDO
402 npttot = npttot + nptt
403 ENDDO
404 ENDIF
405 sdir_a = npttot*nel*l_dira
406 sdir_b = npttot*nel*l_dirb
407 dir_a => dira(1:npttot*nel*l_dira)
408 dir_b => dirb(1:npttot*nel*l_dirb)
409 ELSE ! idrape
410 sdir_a=nlay*nel*l_dira
411 sdir_b=nlay*nel*l_dirb
412 ALLOCATE(dira(nlay*nel*l_dira))
413 ALLOCATE(dirb(nlay*nel*l_dirb))
414 dira=zero
415 dirb=zero
416 IF (l_dira == 0) THEN
417 CONTINUE
418 ELSEIF (irep == 0) THEN
419 DO j=1,nlay
420 j1 = 1+(j-1)*l_dira*nel
421 j2 = j*l_dira*nel
422 dira(j1:j2) = elbuf_str%BUFLY(j)%DIRA(1:nel*l_dira)
423 ENDDO
424 ENDIF
425 sdir_a=nlay*nel*l_dira
426 sdir_b=nlay*nel*l_dirb
427 dir_a => dira(1:nlay*nel*l_dira)
428 dir_b => dirb(1:nlay*nel*l_dirb)
429 ENDIF ! IDRAPE
430c-------------------------------------
431 ALLOCATE(dir1_crk(0))
432 ALLOCATE(dir2_crk(0))
433c-------------------------------------
434 DO i=jft,jlt
435 DO j=1,8
436 vm(i,j) = zero
437 ENDDO
438 DO j=1,12
439 vf(i,j) = zero
440 ENDDO
441 DO j=1,4
442 vfpinch(i,j) = zero
443 ezzpg(i,j) = zero
444 vfpinchdampx(i,j) = zero
445 vfpinchdampy(i,j) = zero
446 ENDDO
447 alpe(i) = one
448 a11r(i) = zero
449 ENDDO
450C
451c CALL CMATBUF3(IGTYP,MTN,NPT,NEL,NBM_S,IPM,MAT,
452c . IGEO, PID,ISUBSTACK)
453 igtyp = igeo(11,ixc(6,1))
454 igmat = igeo(98 ,ixc(6,1))
455C
456C initiallisation pour la thermique ---
457 DO i=jft,jlt
458 them(i,1) = zero
459 them(i,2) = zero
460 them(i,3) = zero
461 them(i,4) = zero
462 ENDDO
463C
464 IF(npinch > 0) THEN
465 ALLOCATE(pinch_local%EPINCHXZ(mvsiz))
466 ALLOCATE(pinch_local%EPINCHYZ(mvsiz))
467 ALLOCATE(pinch_local%EPINCHZZ(mvsiz))
468 ENDIF
469C
470C--------------------------
471C CALCULS PRELIMINAIRES
472C--------------------------
473 CALL cbacoor(elbuf_str ,jft,jlt,x,v,
474 . vr,ixc,pm,gbuf%OFF,lc,
475 1 area,vxyz, rxyz,vcore,jac,hx,hy,vksi,veta,
476 2 vqn,vqg,vq,vjfi,vnrm,vastn,nplat,iplat,
477 3 x13 ,x24 ,y13,y24,off, dd,nlay,
478 4 irep,npttot,ismstr,nel ,idril ,
479 5 gbuf%SMSTR,dir_a,dir_b,facn,zl,
480 6 r11 ,r12 ,r13 ,r21 ,r22 ,r23 ,
481 7 r31 ,r32 ,r33 ,inod_pxfem ,rlz ,
482 8 thke ,ishplyxfem ,ux1 ,ux2 ,ux3 ,
483 9 ux4 ,uy1 ,uy2 ,uy3 ,uy4 ,
484 a vl1 ,vl2 ,vl3 ,vl4 ,xl2 ,
485 b xl3 ,xl4 ,yl2 ,yl3 ,yl4 ,xlcore,npinch)
486C
487 CALL cncoef3(jft ,jlt ,pm ,mat ,geo ,
488 2 pid ,off ,area ,shf ,thk0 ,
489 3 thk2 ,nu ,g ,ym ,
490 4 a11 ,a12 ,gbuf%THK,thke ,ssp ,
491 5 rho ,volg ,gs ,mtn ,ithk ,
492 6 npttot ,dt1c ,dt1 ,ihbe ,amu ,
493 7 krz ,igeo ,a11r ,isubstack, stack%PM,
494 8 nel ,zoffset)
495C
496 IF(npinch > 0) THEN
497 CALL cbacoorpinch(
498 1 tnpg ,vpinchxyz ,vpinch ,
499 2 vq ,vqn ,ixc ,jft ,jlt ,
500 3 nplat ,iplat ,gbuf%THK ,dt1c ,
501 4 facp ,lc ,
502 5 vpincht1,vpincht2)
503
504 DO i=jft,jlt
505 ezzavg(i) = fourth*(vpinchxyz(i,1)+vpinchxyz(i,2)+vpinchxyz(i,3)+vpinchxyz(i,4))*dt1c(i)
506 areapinch(i) = area(i)
507 ENDDO
508 ENDIF
509C
510 IF(ishplyxfem > 0) THEN
511 DO j=1,npt
512 DO i=jft,jlt
513 ply_fn(i,1:12,j) = zero
514 vfi(i,1:12,j) = zero
515 offi(i,j) = one
516 ENDDO
517 ENDDO
518 ippid = 2
519 ipmat = ippid + npt
520 ipmat_iply = ipmat + npt
521 ipang = 1
522 ipthk = ipang + npt
523 ippos = ipthk + npt
524 DO j=1,npt
525 DO i=jft,jlt
526 thkly(i,j) = stack%GEO(ipthk + j ,isubstack)*thk0(i)
527 matly = stack%IGEO(ipmat + j ,isubstack)
528 jpid = stack%IGEO(ippid + j, isubstack)
529 istack(i,j) = igeo(102 ,jpid)
530 posly(i,j) = stack%GEO(ippos + j ,isubstack)*thk0(i)
531 a11_ply(i,j) = pm(24,matly)
532 ENDDO
533 ENDDO
534 DO j=1,npt -1
535 DO i=jft,jlt
536 th_iply(i,j) = half*(thkly(i,j) + thkly(i,j +1 ))
537 mat_iply(i,j) = stack%IGEO(ipmat_iply + j ,isubstack)
538 ENDDO
539 ENDDO
540C
541 CALL cbavit_ply(jft,jlt,ixc,gbuf%OFF,off,nplat,iplat,npt,
542 1 vcore,dd,zl,vq , ply_vxyz,x13 ,x24 ,
543 2 y13,y24,area ,inod_pxfem ,del_ply,vni,istack,vr)
544
545 ENDIF
546C
547 IF (idril > 0) THEN
548 CALL cbaderirz(jft ,jlt ,area ,x13 ,x24 ,
549 2 y13 ,y24 ,bm0rz,bmkrz,bmerz,
550 3 vcore,nplat,iplat,ismstr)
551 DO i=jft,jlt
552 DO j=1,4
553 vmz(i,j) = zero
554 ENDDO
555 END DO
556 ELSE
557C-------------assumed membrane shear strain-----------------
558 CALL cbadefsh(jft,jlt,x13,x24,y13,y24,bm,vdef,vxyz,nplat,iplat)
559 CALL cbaeners(jft ,jlt ,off ,area ,thk0,
560 . vdef ,gbuf%FOR ,gbuf%EINT ,dt1 ,nel )
561 END IF !(IDRIL > 0) THEN
562C
563 IF(ishplyxfem > 0)
564 . CALL cbadefsh_ply(jft,jlt,npt,nplat,iplat,x13,x24,y13,y24,
565 . ply_vxyz,dt1c ,ply_exy)
566C-----------------------------------------------
567 lenf = nel*gbuf%G_FORPG/npg
568 lenm = nel*gbuf%G_MOMPG/npg
569C
570 IF (npinch > 0) THEN
571 lenfpinch = nel*gbuf%G_FORPGPINCH/npg
572 lenmpinch = nel*gbuf%G_MOMPGPINCH/npg
573 lenepinchxz = nel*gbuf%G_EPGPINCHXZ/npg
574 lenepinchyz = nel*gbuf%G_EPGPINCHYZ/npg
575 lenepinchzz = nel*gbuf%G_EPGPINCHZZ/npg
576 ENDIF
577C
578 lens = nel*gbuf%G_STRPG/npg
579 lenw = nel*gbuf%G_STRWPG/npg
580!-------------------------------------------------------------------
581 IF (ismstr == 10 ) THEN
582!
583 CALL cbacoort(elbuf_str,jft,jlt,x,v,
584 . vr,dr,ixc,pm,gbuf%OFF,areat,
585 1 uxyz, axyz,vcoret,jact,hxt,
586 2 hyt,vq,vqgt,vjfit,nplatt,iplatt,
587 3 x13t ,x24t ,y13t,y24t,npttot ,
588 4 gbuf%SMSTR , idril ,xlcore,zl,vqn,nel)
589C
590 IF (idril > 0) THEN
591 CALL cbaderirz(jft ,jlt ,areat,x13t,x24t ,
592 2 y13t ,y24t ,bm0rzt,bmkrzt,bmerzt,
593 3 vcoret,nplatt,iplatt,ismstr)
594C------ assumed membrane shear strain---(no assumed shear for Ismstr=10-
595 END IF !(IDRIL > 0)
596!
597! Gauss points
598 DO is = 1,npts
599 DO ir = 1,nptr
600 ng = nptr*(is-1) + ir
601 ptf = (ng-1)*lenf+1
602 ptm = (ng-1)*lenm+1
603 pts = (ng-1)*lens+1
604c
605 DO i=jft,jlt
606 cdet(i) = jact(i,ng)
607 vol0(i) = thk0(i)*cdet(i)
608 ENDDO
609C-----------------------------------------------
610C DEFORMATIONS, MATRICE [B]
611C-----------------------------------------------
612 IF (idril > 0) THEN
613 CALL cbaderirzt(jft,jlt,ng,bm0rzt,bmkrzt,bmerzt,bmrzt)
614 END IF !(IDRIL > 0) THEN
615C------- no warped element w/ NPT=1
616 IF (npttot == 1) THEN
617 CALL cbadeft1(jft,jlt,ng,vcoret,uxyz,f_def(1,1,ng),
618 1 hxt,hyt,bmt,nplatt,iplatt,idril,
619 2 bmrzt,axyz,wxy )
620 ELSE
621 CALL cbaderit1(jft,jlt,ng,vcoret,vqgt,vjfit,
622 2 hxt,hyt,veta,vksi,bmt,nplatt,iplatt,
623 3 idril)
624 CALL cbadeft(jft,jlt,uxyz,axyz,f_def(1,1,ng),
625 2 bmt,nplatt,iplatt,idril,bmrzt )
626 END IF ! NPT == 1
627C
628 ENDDO ! NPTR
629 ENDDO ! NPTS
630 END IF ! ismstr == 10
631C-----------------------------------------------
632 IF (npttot == 1 .AND. mtn==58) THEN
633 zla(jft:jlt)= zl(jft:jlt)*zl(jft:jlt)/area(jft:jlt)
634 CALL cbal58warp(elbuf_str,nel,x,ixc,r13,r23,r33,gbuf%OFF,zla )
635 END IF
636!---------------------------------------------------------------------
637 ! Loop over Gauss points
638!---------------------------------------------------------------------
639 epsd_glob(1:nel) = zero
640
641 DO is = 1,npts
642 DO ir = 1,nptr
643 ng = nptr*(is-1) + ir
644 ptf = (ng-1)*lenf+1
645 ptm = (ng-1)*lenm+1
646 pts = (ng-1)*lens+1
647 ptw = (ng-1)*lenw+1
648 ptt = (ng-1)*nel + 1
649c-------- can extent the off later
650 DO i=jft,jlt
651 cdet(i) = jac(i,ng)
652 vol0(i) = thk0(i)*cdet(i)
653 ENDDO
654 IF(ishplyxfem > 0) THEN
655 DO j=1,npt
656 DO i=jft,jlt
657 offi(i,j) = one
658 ENDDO
659 ENDDO
660 ENDIF
661C-----------------------------------------------
662C DEFORMATIONS, MATRICE [B]
663C-----------------------------------------------
664 IF (npttot == 1) THEN
665 CALL cbadef1(jft,jlt,ng,vcore,vxyz,vdef,
666 1 hx,hy,bm,nplat,iplat,idril)
667C----
668 ELSE
669 CALL cbadef(jft,jlt,ng,vcore,area,cdet,vqn,vqg,vjfi,
670 1 vxyz,rxyz,vdef,vnrm,vastn,
671 2 hx,hy,veta,vksi,bm,bmf,bf,bc,tc,nplat,iplat,
672 3 idril,brz )
673 IF (ismstr == 10 )
674 1 CALL cbadeftw(jft,jlt,vxyz,rxyz,
675 2 bm,bmf,bf,nplat,iplat,
676 3 wxy )
677 END IF ! NPT == 1
678 IF (idril > 0) THEN
679 CALL cbadefrz(jft ,jlt ,area ,rlz ,vdef ,
680 1 vxyz ,bm0rz,bmkrz,bmerz ,vrlz ,
681 2 bmrz ,brz ,bm ,nplat ,iplat,
682 3 ng )
683 END IF
684C
685 IF (npinch > 0) THEN
686 CALL cbadefpinch(
687 1 jft ,jlt ,ng ,vqg ,vdef ,
688 2 veta ,vksi ,tc ,nplat ,iplat ,
689 3 bcp ,bp ,vpinchxyz ,vdefpinch ,tnpg,
690 4 dbetadxy ,vpincht1 ,vpincht2 ,bpinchdamp)
691 ENDIF
692C
693C----------------------------------
694C CALCUL DES DEFORMATIONS
695C----------------------------------
696 CALL cbastra3(gbuf%STRA,gbuf%STRPG(pts),
697 1 jft, jlt, nft, npg,vdef,
698 2 exx, eyy, exy, exz, eyz,
699 3 kxx, kyy, kxy, dt1c, tani,
700 4 iepsdot, istrain,ux1 ,ux2 ,ux3 ,
701 6 ux4 ,uy1 ,uy2 ,uy3 ,uy4 ,
702 7 x13, x24, y13, y24, bm ,
703 8 ismstr ,mtn ,nplat,iplat,idril,
704 9 wxy ,f_def(1,1,ng),gbuf%STRWPG(ptw),nel)
705C
706 IF (idril == 0) THEN
707 CALL cbaener(gbuf%FORPG(ptf),gbuf%EINT,jft ,jlt ,off ,
708 . vol0 ,exy ,nel )
709 ENDIF
710!
711 IF (ishplyxfem > 0 ) THEN
712 DO j=1,npt
713 jg = (ng - 1)*3
714 DO i=jft,jlt
715 delg_ply(i,1,j) = del_ply(i,1 + jg ,j)
716 delg_ply(i,2,j) = del_ply(i,2 + jg ,j)
717 delg_ply(i,3,j) = del_ply(i,3 + jg ,j)
718 ENDDO
719 ENDDO
720C
721 CALL cbadef_ply(jft,jlt,ng,npt,nplat,iplat, vqg,
722 . ply_vxyz,veta,vksi,bm,bc,tc,dt1c,
723 . ply_exx, ply_eyy, ply_eyz, ply_ezx )
724 ENDIF
725C
726 IF(npinch > 0) THEN
727C
728 ng = nptr*(is-1) + ir
729 ptfp = (ng-1)*lenfpinch + 1
730 ptmp = (ng-1)*lenmpinch + 1
731 ptepxz = (ng-1)*lenepinchxz + 1
732 ptepyz = (ng-1)*lenepinchyz + 1
733 ptepzz = (ng-1)*lenepinchzz + 1
734C
735 CALL cbastra3pinch(
736 1 jft ,jlt ,nplat ,iplat ,
737 2 vdefpinch ,pinch_local%EPINCHXZ ,
738 3 pinch_local%EPINCHYZ ,pinch_local%EPINCHZZ,
739 4 dt1c ,ng ,ezzpg ,
740 5 gbuf%EPGPINCHXZ(ptepxz),
741 6 gbuf%EPGPINCHYZ(ptepyz),
742 7 gbuf%EPGPINCHZZ(ptepzz) )
743C
744 ENDIF
745!-------------------------------------------------------------------------------
746! global element strain rate (shell energy equivalent) - by Gauss points
747!-----------------------------------------------------------
748! e = 1/t integ[1/2 e (eps_m + k z)^2 dz ]
749! e = 1/2 e eps_eq^2
750! eps_eq = sqrt[ eps_m^2 + 1/12 k^2t^2 ]
751!-------------------------------------------------------------------------------
752 dtinv = dt1 / max(dt1**2,em20) ! inverse of dt
753#include "vectorize.inc"
754 do i = 1,nel
755 eps_k2 = (kxx(i)**2+kyy(i)**2+kxx(i)*kyy(i)+fourth*kxy(i)**2)
756 . * one_over_9*gbuf%thk(i)**2
757 eps_m2 = four_over_3*(exx(i)**2+eyy(i)**2+exx(i)*eyy(i) + fourth*exy(i)**2)
758 epsd_pg(i) = sqrt(eps_k2 + eps_m2)*dtinv
759 epsd_glob(i) = epsd_glob(i) + epsd_pg(i) / npg
760 end do
761!-------------------------------------------------------------------------------
762 IF (jthe > 0 ) THEN
763 CALL cbatempel(jft ,jlt ,ng ,ixc ,temp ,tempel)
764 ENDIF
765C-----------------------------------------------------------------------
766 IF (inloc>0) THEN
767 CALL cbavarnl(jft ,jlt ,ng ,ixc ,nloc_dmg ,
768 . var_reg ,nddl ,nc1 ,nc2 ,nc3 ,
769 . nc4 ,nel )
770 ENDIF
771C-----------------
772C CONTRAINTES
773C-----------------
774 IF ((itask==0).AND.(imon_mat == 1)) CALL startime(timers,35)
775C-----------------
776 IF (npinch > 0) THEN
777 CALL cmain3pinch(
778 1 elbuf_str ,jft ,jlt ,nft ,iparg ,
779 2 nel ,mtn ,ipla ,ithk ,group_param,
780 3 pm ,geo ,npf ,tf ,bufmat ,
781 4 ssp ,rho ,viscmx ,dt1c ,sigy ,
782 5 cdet ,exx ,eyy ,exy ,exz ,
783 6 eyz ,kxx ,kyy ,kxy ,nu ,
784 7 off ,thk0 ,mat ,pid ,
785 8 gbuf%FORPG(ptf),gbuf%MOMPG(ptm) ,gbuf%STRPG(pts),failwave,fwave_el,
786 9 gbuf%THK ,gbuf%EINT ,iofc ,
787 a g ,a11 ,a12 ,vol0 ,indxof ,
788 b ngl ,zcfac ,shf ,gs ,epsd_pg ,
789 c kfts ,ihbe ,alpe ,
790 d dir_a ,dir_b ,igeo ,
791 e ipm ,ifailure ,npg ,
792 f tempel ,die ,jthe ,iexpan ,gbuf%TEMPG(ptt) ,
793 g ishplyxfem,ply_exx ,
794 h ply_eyy ,ply_exy ,ply_ezx ,ply_eyz ,ply_f ,
795 i delg_ply ,th_iply ,sig_iply ,r11 ,r12 ,
796 j r13 ,r21 ,r22 ,r23 ,r31 ,
797 k r32 ,r33 ,ng ,table ,ibid ,
798 l offi ,a11_iply ,ibid ,
799 m dir1_crk ,dir2_crk ,lc ,
800 n ismstr ,ir ,is ,nlay ,npt ,
801 o ibid ,ibid ,isubstack ,stack ,
802 p f_def(1,1,ng),itask ,drape_sh4n ,var_reg(1,1),
803 q pinch_local , gbuf%FORPGPINCH(ptfp), gbuf%MOMPGPINCH(ptmp),ezzavg ,
804 r areapinch )
805 ELSE
806 CALL cmain3(timers,
807 1 elbuf_str ,jft ,jlt ,nft ,iparg ,
808 2 nel ,mtn ,ipla ,ithk ,group_param,
809 3 pm ,geo ,npf ,tf ,bufmat ,
810 4 ssp ,rho ,viscmx ,dt1c ,sigy ,
811 5 cdet ,exx ,eyy ,exy ,exz ,
812 6 eyz ,kxx ,kyy ,kxy ,nu ,
813 7 off ,thk0 ,mat ,pid ,mat_elem ,
814 8 gbuf%FORPG(ptf),gbuf%MOMPG(ptm) ,gbuf%STRPG(pts),failwave,fwave_el,
815 9 gbuf%THK ,gbuf%EINT ,iofc ,
816 a g ,a11 ,a12 ,vol0 ,indxof ,
817 b ngl ,zcfac ,shf ,gs ,epsd_pg ,
818 c kfts ,ihbe ,alpe ,
819 d dir_a ,dir_b ,igeo ,
820 e ipm ,ifailure ,npg ,fheat ,
821 f tempel ,die ,jthe ,iexpan ,gbuf%TEMPG(ptt) ,
822 g ishplyxfem,ply_exx ,
823 h ply_eyy ,ply_exy ,ply_ezx ,ply_eyz ,ply_f ,
824 i delg_ply ,th_iply ,sig_iply ,r11 ,r12 ,
825 j r13 ,r21 ,r22 ,r23 ,r31 ,
826 k r32 ,r33 ,ng ,table ,ibid ,
827 l offi ,sensors ,a11_iply ,ibid ,
828 m dir1_crk ,dir2_crk ,lc ,glob_therm%IDT_THERM ,glob_therm%THEACCFACT,
829 n ismstr ,ir ,is ,nlay ,npt ,
830 o ibid ,ibid ,isubstack ,stack ,
831 p f_def(1,1,ng),itask ,drape_sh4n,var_reg(1,1),nloc_dmg ,
832 r indx_drape ,thke ,sedrape ,numel_drape ,dt ,
833 q ncycle ,snpc ,stf ,nxlaymax, idel7nok ,
834 s userl_avail ,maxfunc ,npttot ,sbufmat, sdir_a ,
835 t sdir_b ,gbuf%FORPG_G(ptf))
836 ENDIF
837C-----------------
838 IF ((itask==0).AND.(imon_mat == 1)) CALL stoptime(timers,35)
839C
840 IF (idril == 0) THEN
841 CALL cbaener(gbuf%FORPG(ptf),gbuf%EINT,jft ,jlt ,off ,
842 . vol0 ,exy ,nel )
843 ENDIF
844C----------------------------------------------------------------------------
845C THICKNESS CORRECTION
846C----------------------------
847 IF(npinch == 0) THEN
848 IF (ithk > 0) THEN
849 DO i=jft,jlt
850 gbuf%THK(i) = gbuf%THK(i) - three_over_4*(gbuf%THK(i)-thk0(i))
851 thk0(i) = gbuf%THK(i)
852 ENDDO
853 ENDIF
854 ENDIF
855C----------------------------------------------------------------------------
856C FORCES VISCOCITE
857C----------------------------
858 CALL cbavisc(jft ,jlt ,vdef ,amu ,off ,
859 2 shf ,nu ,rho ,ssp ,cdet,
860 3 thk0 ,gbuf%FORPG(ptf),gbuf%MOMPG(ptm),npttot,mtn ,
861 4 ipartc ,partsav ,dt1 ,nel )
862C----------------------------------------------------------------------------
863C FORCES INTERNES
864C----------------------------
865 IF (npttot == 1) THEN
866 CALL cbafori1(jft ,jlt ,gbuf%FORPG(ptf),bm ,vf ,
867 . nplat ,iplat ,vol0 ,nel )
868 ELSE
869 CALL cbafori(jft ,jlt ,ng ,cdet ,thk0,
870 2 thk2 ,gbuf%FORPG(ptf),gbuf%MOMPG(ptm),nel ,bm ,
871 3 bmf ,bf ,bc ,tc ,vf ,
872 4 vm ,nplat ,iplat ,vol0 )
873 END IF !(NPT == 1) THEN
874C
875 IF (idril > 0) THEN
876 CALL cbaforrz(jft ,jlt ,vol0 ,gbuf%FORPG(ptf),gbuf%HOURG,
877 2 vf ,vmz ,bm ,bmrz ,brz ,
878 3 krz ,vrlz ,gbuf%EINT,off ,dt1c ,
879 4 nplat,iplat,ng ,nel)
880 END IF
881C
882 IF (ishplyxfem > 0)
883 . CALL cbafint_ply(jft,jlt,npt,ng,nplat,iplat,cdet,thkly,thk2,
884 1 vol0, ply_f,bm,bc,tc,sig_iply,vni,area,
885 2 ply_fn ,vfi,ixc)
886
887 IF (npinch > 0) THEN
888 CALL cbaforipinch(
889 1 jft ,jlt ,ng ,nel ,nplat ,iplat ,
890 2 cdet ,thk0 ,thk2 ,vol0 ,
891 3 gbuf%FORPGPINCH(ptfp) , gbuf%MOMPGPINCH(ptmp),
892 4 bcp ,bp ,vfpinch ,dbetadxy,
893 5 rho ,lc ,ssp ,bpinchdamp,
894 6 vfpinchdampx ,vfpinchdampy)
895 ENDIF
896C-------------------------
897c Thermal Analysis
898C--------------------------
899C
900 IF (jthe /= 0) THEN
901 IF (mat_elem%MAT_PARAM(mat(1))%HEAT_FLAG == 1) THEN
902 CALL cbatherm(jft ,jlt ,pm(1,mat(1)) ,thk0 ,ixc ,
903 . bm ,area ,dt1c(1) ,temp ,tempel,fheat ,
904 . nplat ,iplat,them ,glob_therm%THEACCFACT)
905 ELSE
906 CALL cbatherm(jft ,jlt ,pm(1,mat(1)) ,thk0 ,ixc ,
907 . bm ,area ,dt1c(1) ,temp ,tempel,die ,
908 . nplat ,iplat,them ,glob_therm%THEACCFACT)
909 END IF
910 ENDIF
911c-------------------------
912c Virtual internal forces of regularized non local ddl
913c--------------------------
914 IF (inloc > 0) THEN
915 CALL cbafint_reg(
916 1 nloc_dmg, var_reg(1,1), thk0, nel,
917 2 gbuf%OFF, area, nc1, nc2,
918 3 nc3, nc4, elbuf_str%NLOC(ir,is), ixc(1,jft),
919 4 nddl, itask, ng, jft,
920 5 jlt, x13, y13, x24,
921 6 y24, dt2t, gbuf%THK_I, gbuf%AREA,
922 7 nft)
923 ENDIF
924 ENDDO ! NPTR
925 ENDDO ! NPTS
926C---------------------------------------
927C-----FIN DE BOUCLE DE 4 POINTS DE GAUSS
928!-------------------------------------------------------------------------------
929! global element strain rate filtering for output
930
931 asrate = one ! to be changed for default value
932 gbuf%epsd(1:nel) = asrate * epsd_glob(1:nel) + (one - asrate) * gbuf%epsd(1:nel)
933!-------------------------------------------------------------------------------
934C
935 IF (npinch > 0) THEN
936 CALL cbapinchthk(
937 1 jft ,jlt ,nplat ,iplat ,
938 2 dt1c ,gbuf%THK ,thk0 ,ezzpg)
939 ENDIF
940C
941C----
942C---------------------------------------
943C POST-TRAITEMENT - valeurs moyennes
944C---------------------------------------
945C---
946C = FOR, MOM =
947C---
948 pt1 = 0
949 pt2 = pt1 + lenf
950 pt3 = pt2 + lenf
951 pt4 = pt3 + lenf
952 DO i=jft,jlt
953 DO j=1,5
954 gbuf%FOR(kk(j)+i) = fourth*(gbuf%FORPG(pt1+kk(j)+i)
955 . + gbuf%FORPG(pt2+kk(j)+i)
956 . + gbuf%FORPG(pt3+kk(j)+i)
957 . + gbuf%FORPG(pt4+kk(j)+i))
958 ENDDO
959 ENDDO
960!
961 pt2 = pt1 + lenm
962 pt3 = pt2 + lenm
963 pt4 = pt3 + lenm
964 DO i=jft,jlt
965 DO j=1,3
966 gbuf%MOM(kk(j)+i) = fourth*(gbuf%MOMPG(pt1+kk(j)+i)
967 . + gbuf%MOMPG(pt2+kk(j)+i)
968 . + gbuf%MOMPG(pt3+kk(j)+i)
969 . + gbuf%MOMPG(pt4+kk(j)+i))
970 ENDDO
971 ENDDO
972c------------------------------
973C membrane shear traitement
974 IF (idril == 0) THEN
975 CALL cbaforct(jft ,jlt ,volg ,x13 ,x24 ,
976 2 y13 ,y24 ,gbuf%FOR,vf ,nplat,
977 3 iplat ,off ,nel )
978C
979 CALL cbaeners(jft ,jlt ,off ,area ,thk0,
980 . vdef ,gbuf%FOR ,gbuf%EINT ,dt1 ,nel )
981 END IF
982C
983 IF (npttot == 1) THEN
984 CALL cbavisnp1(jft, jlt,vxyz,rxyz,vcore,
985 2 amu, off,rho ,ssp ,area,thk0 ,
986 3 g ,dt1 ,vf ,
987 4 ipartc,partsav,kfts)
988 ENDIF
989C----------------------------
990C TRANSFORME FORCES LOCALES AUX GLOBALES
991C----------------------------
992 CALL cbaproj(
993 1 jft ,jlt ,vqn ,vq ,vf ,
994 2 vm ,nplat ,iplat ,
995 3 f11 ,f12 ,f13 ,f14 ,f21 ,
996 4 f22 ,f23 ,f24 ,f31 ,f32 ,
997 5 f33 ,f34 ,m11 ,m12 ,m13 ,
998 6 m14 ,m21 ,m22 ,m23 ,m24 ,
999 7 m31 ,m32 ,m33 ,m34 ,vcore ,
1000 8 dd ,vmz ,idril ,off )
1001 IF( ishplyxfem > 0 ) CALL cbaproj_ply(
1002 1 jft ,jlt ,npt ,nplat ,iplat ,vqn,
1003 2 vq ,ply_fn ,vfi ,vcore ,dd ,
1004 6 fly11 ,fly12 ,fly13 ,fly14 ,fly21 ,
1005 7 fly22 ,fly23 ,fly24 ,fly31 ,fly32 ,
1006 8 fly33 ,fly34 ,off)
1007 IF (npinch > 0) THEN
1008 CALL cbapinchproj(
1009 1 jft ,jlt ,vqn ,vq ,vfpinch,
1010 2 nplat ,iplat ,fp ,vcore ,dd ,thk0,
1011 3 vfpinchdampx,vfpinchdampy)
1012 ENDIF
1013C--------------------------
1014C BILANS PAR MATERIAU
1015C--------------------------
1016 ipout=2
1017 IF(ipri == 1)
1018 1 CALL cbilan(
1019 1 jft, jlt, pm, v,
1020 2 ixc, gbuf%THK, gbuf%EINT, partsav,
1021 3 area, mat, ipartc, x,
1022 4 vr, bid, bid, bid,
1023 5 thk2, ipout, off, nft,
1024 6 gresav, grth, igrth, vl1,
1025 7 vl2, vl3, vl4, vrl1,
1026 8 vrl2, vrl3, vrl4, x1g,
1027 9 x2g, x3g, x4g, y1g,
1028 a y2g, y3g, y4g, z1g,
1029 b z2g, z3g, z4g, ibid,
1030 c iexpan, gbuf%EINTTH,itask, gbuf%VOL,
1031 d actifxfem, igre, sensors, nel,
1032 e gbuf%G_WPLA, gbuf%WPLA )
1033C----------------------------
1034C CALCUL DT
1035C----------------------------
1036 IF(npinch > 0) THEN
1037C
1038 IF(mtn == 1) THEN
1039 mx = mat(jft)
1040 e = pm(20,mx)
1041 anu = pm(21,mx)
1042 a11pinch = e / (one-two*anu)
1043 ELSEIF(mtn == 91) THEN
1044 mx = mat(jft)
1045 e = pm(20,mx)
1046 anu = pm(21,mx)
1047 a11pinch = e / (one-two*anu)
1048 ENDIF
1049C
1050 CALL cndt3pinch(
1051 1 jft ,jlt ,off , dt2t ,amu ,
1052 2 neltst ,ityptst,sti , stir ,gbuf%OFF,
1053 3 ssp ,viscmx ,rho , volg ,thk0,thk2,
1054 4 a11 ,lc ,alpe , ngl ,ismstr,
1055 5 iofc ,nnod ,area , g ,shf ,
1056 6 msc ,dmelc ,jsms , bid ,igtyp ,
1057 7 igmat ,a11r ,gbuf%G_DT, gbuf%DT, a11pinch)
1058C
1059 ELSE
1060C
1061 CALL cndt3(
1062 1 jft ,jlt ,off , dt2t ,amu ,
1063 2 neltst ,ityptst,sti , stir ,gbuf%OFF,
1064 3 ssp ,viscmx ,rho , volg ,thk0,thk2,
1065 4 a11 ,lc ,alpe , ngl ,ismstr,
1066 5 iofc ,nnod ,area , g ,shf ,
1067 6 msc ,dmelc ,jsms , bid ,igtyp ,
1068 7 igmat ,a11r ,gbuf%G_DT, gbuf%DT,mtn ,
1069 8 pm ,mat(jft) , nel ,zoffset)
1070C
1071 ENDIF
1072C--------------------------
1073C THERMAL TIME STEP
1074C--------------------------
1075 IF (jthe > 0.AND. glob_therm%IDT_THERM == 1)THEN
1076 call dttherm(nel ,pm(1,mat(1)) ,npropm ,glob_therm ,
1077 . jtur ,tempel ,vol0 ,rho ,
1078 . lc ,off ,conde ,gbuf%re ,gbuf%rk )
1079 ENDIF
1080C
1081 IF(ishplyxfem > 0) THEN
1082 CALL cndt_ply(
1083 . jft ,jlt ,npt,off , lc ,area ,thkly,
1084 . th_iply ,a11_ply ,a11_iply,sti_ply , offi,viscmx)
1085 ENDIF
1086C--------------------------
1087C NON-LOCAL TIME STEP
1088C--------------------------
1089 IF (inloc > 0) THEN
1090 CALL dtcba_reg(nloc_dmg,thk0 ,nel ,gbuf%OFF,
1091 . lc ,ixc(1,jft) ,nddl ,dt2t )
1092 ENDIF
1093C--------------------------
1094C ASSEMBLE
1095C--------------------------
1096 IF(iparit == 3)THEN
1097 CALL cupdt3f(jft ,jlt ,f ,m ,nvc ,
1098 2 gbuf%OFF,off ,sti ,stir,stifn,
1099 3 stifr ,ixc ,pm ,area ,gbuf%THK,
1100 4 f11 ,f12 ,f13 ,f14 ,f21 ,
1101 5 f22 ,f23 ,f24 ,f31 ,f32 ,
1102 6 f33 ,f34 ,m11 ,m12 ,m13 ,
1103 7 m14 ,m21 ,m22 ,m23 ,m24 ,
1104 8 m31 ,m32 ,m33 ,m34 ,gbuf%EINT,
1105 9 partsav,mat ,ipartc,glob_therm%NODADT_THERM)
1106 ELSEIF(iparit == 0)THEN
1107 CALL cupdtn3(jft ,jlt ,f ,m ,nvc ,
1108 2 gbuf%OFF,off ,sti ,stir,stifn,
1109 3 stifr ,ixc ,pm ,area ,gbuf%THK,
1110 4 f11 ,f12 ,f13 ,f14 ,f21 ,
1111 5 f22 ,f23 ,f24 ,f31 ,f32 ,
1112 6 f33 ,f34 ,m11 ,m12 ,m13 ,
1113 7 m14 ,m21 ,m22 ,m23 ,m24 ,
1114 8 m31 ,m32 ,m33 ,m34 ,gbuf%EINT,
1115 a partsav,mat ,ipartc ,facn ,jthe,
1116 b them , fthe ,condn ,conde,glob_therm%NODADT_THERM)
1117C
1118 IF(npinch > 0) THEN
1119 CALL cupdtn3pinch(
1120 1 jft ,jlt ,nvc ,ixc ,
1121 2 fp ,fpinch ,sti ,stifpinch ,facp )
1122 ENDIF
1123C
1124 ELSE
1125 CALL cupdtn3p(jft ,jlt ,gbuf%OFF,off ,sti,
1126 2 stir ,fsky ,fsky ,iadc ,
1127 4 f11 ,f12 ,f13 ,f14 ,f21,
1128 5 f22 ,f23 ,f24 ,f31 ,f32,
1129 6 f33 ,f34 ,m11 ,m12 ,m13,
1130 7 m14 ,m21 ,m22 ,m23 ,m24,
1131 8 m31 ,m32 ,m33 ,m34 ,ixc,
1132 a gbuf%EINT,partsav,mat,ipartc,pm ,
1133 b area ,gbuf%THK,facn ,jthe,them ,
1134 c fthesky,condnsky,conde,glob_therm%NODADT_THERM )
1135 ENDIF
1136C
1137 IF(ishplyxfem > 0) THEN
1138 CALL cupdt_ply(
1139 1 jft, jlt, nvc, gbuf%OFF,
1140 2 off, iadc_pxfem,iel_pxfem, inod_pxfem,
1141 3 ixc, ms, in, ms_ply,
1142 4 zi_ply, istack, posly, fly11,
1143 5 fly12, fly13, fly14, fly21,
1144 6 fly22, fly23, fly24, fly31,
1145 7 fly32, fly33, fly34, facn,
1146 8 sti_ply, msz2, nft, npt)
1147 ENDIF
1148C------------
1149 IF (ALLOCATED(dirb)) DEALLOCATE(dirb)
1150 IF (ALLOCATED(dira)) DEALLOCATE(dira)
1151 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1152C
1153 IF(npinch > 0) THEN
1154 DEALLOCATE(pinch_local%EPINCHXZ)
1155 DEALLOCATE(pinch_local%EPINCHYZ)
1156 DEALLOCATE(pinch_local%EPINCHZZ)
1157 ENDIF
1158C
1159C------------
1160 RETURN
1161 END
subroutine cbacoor(elbuf_str, jft, jlt, x, v, vr, ixc, pm, offg, ll, area, vxyz, rxyz, vcore, jac, hx, hy, vksi, veta, vqn, vqg, vq, vjfi, vnrm, vastn, nplat, iplat, x13_t, x24_t, y13_t, y24_t, off, di, nlay, irep, npt, ismstr, nel, isrot, smstr, dir_a, dir_b, facn, zl1, r11, r12, r13, r21, r22, r23, r31, r32, r33, inod, rlz, thk, iplycxfem, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, vl1, vl2, vl3, vl4, xl2, xl3, xl4, yl2, yl3, yl4, xlcor, npinch)
Definition cbacoor.F:47
subroutine cbacoort(elbuf_str, jft, jlt, x, v, vr, dr, ixc, pm, offg, area, vxyz, rlz, vcore, jac, hx, hy, vq, vqg, vjfi, nplat, iplat, x13_t, x24_t, y13_t, y24_t, npt, smstr, isrot, xlcor, zl, vqn, nel)
Definition cbacoor.F:1180
subroutine cbacoorpinch(tnpg, vpinchxyz, vpinch, vq, vqn, ixc, jft, jlt, nplat, iplat, thk, dt1c, facp, lc, vpincht1, vpincht2)
subroutine cbadefrz(jft, jlt, area, rlz, vdef, vxyz, bm0rz, bmkrz, bmerz, vrlz, bmrz, brz, bm, nplat, iplat, ng)
Definition cbadef.F:870
subroutine cbaderirz(jft, jlt, area, x13, x24, y13, y24, bm0rz, bmkrz, bmerz, vcore, nplat, iplat, ismstr)
Definition cbadef.F:802
subroutine cbadeft1(jft, jlt, ng, vcore, vxyz, vdef, hx, hy, bm, nplat, iplat, isrot, bmrz, rxyz, wxy)
Definition cbadef.F:1455
subroutine cbaderirzt(jft, jlt, ng, bm0rz, bmkrz, bmerz, bmrz)
Definition cbadef.F:1731
subroutine cbadeftw(jft, jlt, vxyz, rxyz, bm, bmf, bf, nplat, iplat, wxy)
Definition cbadef.F:1787
subroutine cbadef1(jft, jlt, ng, vcore, vxyz, vdef, hx, hy, bm, nplat, iplat, isrot)
Definition cbadef.F:1222
subroutine cbadef(jft, jlt, ng, vcore, area, cdet, vqn, vq, vjfi, vxyz, rxyz, vdef, vnrm, vastn, hx, hy, veta, vksi, bm, bmf, bf, bc, tc, nplat, iplat, isrot, brz)
Definition cbadef.F:32
subroutine cbadefsh(jft, jlt, x13, x24, y13, y24, bm, vdef, vxyz, nplat, iplat)
Definition cbadef.F:747
subroutine cbaderit1(jft, jlt, ng, vcore, vq, vjfi, hx, hy, veta, vksi, bm, nplat, iplat, isrot)
Definition cbadef.F:1546
subroutine cbadeft(jft, jlt, vxyz, rlz, vdef, bm, nplat, iplat, isrot, bmrz)
Definition cbadef.F:1293
subroutine cbadefsh_ply(jft, jlt, npt, nplat, iplat, x13, x24, y13, y24, vxyz, dt1c, exy)
Definition cbadef_ply.F:260
subroutine cbadef_ply(jft, jlt, ng, npt, nplat, iplat, vq, vxyz, veta, vksi, bm, bc, tc, dt1c, exx, eyy, eyz, ezx)
Definition cbadef_ply.F:31
subroutine cbadefpinch(jft, jlt, ng, vqg, vdef, veta, vksi, tc, nplat, iplat, bcp, bp, vpinchxyz, vdefpinch, tnpg, dbetadxy, vpincht1, vpincht2, bpinchdamp)
Definition cbadefpinch.F:33
subroutine cbaeners(jft, jlt, off, area, thk0, def, forpg, eint, dt, nel)
Definition cbaener.F:60
subroutine cbaener(forpg, eint, jft, jlt, off, vol, exy, nel)
Definition cbaener.F:30
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 cbafint_reg(nloc_dmg, var_reg, thk, nel, off, area, nc1, nc2, nc3, nc4, bufnl, imat, nddl, itask, ng, jft, jlt, x13, y13, x24, y24, dt2t, thk0, area0, nft)
Definition cbafint_reg.F:39
subroutine cbaforc3(timers, elbuf_str, jft, jlt, nft, npt, ipari, mtn, ipri, ithk, neltst, ityptst, itab, mat_elem, istrain, ipla, tt, dt1, dt2t, pm, geo, partsav, ixc, failwave, bufmat, tf, npf, iadc, x, d, dr, v, vr, f, m, stifn, stifr, fsky, tani, offset, eani, indxof, ipartc, thke, nvc, iofc, ihbe, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, kfts, ismstr, igeo, group_param, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, ishplyxfem, ms, in, ms_ply, zi_ply, inod_pxfem, iel_pxfem, iadc_pxfem, gresav, grth, igrth, msc, dmelc, jsms, table, iparg, sensors, msz2, condn, condnsky, isubstack, stack, drape_sh4n, nel, nloc_dmg, vpinch, fpinch, stifpinch, indx_drape, igre, jtur, dt, ncycle, snpc, stf, glob_therm, nxlaymax, idel7nok, userl_avail, maxfunc, sbufmat)
Definition cbaforc3.F:130
subroutine cbafori1(jft, jlt, ff, bm, vf, nplat, iplat, vol, nel)
Definition cbafori.F:458
subroutine cbaforct(jft, jlt, vol, x13, x24, y13, y24, vstre, vf, nplat, iplat, off, nel)
Definition cbafori.F:284
subroutine cbaforrz(jft, jlt, vol, ff, vsrz, vf, vmz, bm, bmrz, brz, krz, vrlz, eint, off, dt1c, nplat, iplat, ng, nel)
Definition cbafori.F:361
subroutine cbafori(jft, jlt, ng, cdet, thk0, th12, ff0, mm0, nel, bm, bmf, bf, bc, tc, vf, vm, nplat, iplat, vol)
Definition cbafori.F:32
subroutine cbaforipinch(jft, jlt, ng, nel, nplat, iplat, cdet, thk0, th12, vol, ff, mm, bcp, bp, vfpinch, dbetadxy, rho, lc, ssp, bpinchdamp, vfpinchdampx, vfpinchdampy)
subroutine cbapinchproj(jft, jlt, vqn, vq, vfpinch, nplat, iplat, fp, corel, di, thk0, vfpinchdampx, vfpinchdampy)
subroutine cbapinchthk(jft, jlt, nplat, iplat, dt1c, thk, thk0, ezzpg)
Definition cbapinchthk.F:33
subroutine cbaproj(jft, jlt, vqn, vq, vf, vm, nplat, iplat, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, corel, di, vmz, isrot, off)
Definition cbaproj.F:37
subroutine cbaproj_ply(jft, jlt, npt, nplat, iplat, vqn, vq, vf, vfi, corel, di, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, off)
Definition cbaproj_ply.F:34
subroutine cbastra3(gstr, gstrpg, jft, jlt, nft, npg, vdef, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, dt1c, epsdot, iepsdot, istrain, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, x13, x24, y13, y24, bm, ismstr, mtn, nplat, iplat, isrot, wxy, f_def, gstrwpg, nel)
Definition cbastra3.F:37
subroutine cbastra3pinch(jft, jlt, nplat, iplat, vdefpinch, epinchxz, epinchyz, ezz, dt1c, ng, ezzpg, epgpinchxz, epgpinchyz, epgpinchzz)
subroutine cbatempel(jft, jlt, ng, ixc, temp, tempel)
Definition cbatempel.F:30
subroutine cbatherm(jft, jlt, pm, thk, ixc, bm, area, dtime, tempnc, tel, dheat, nplat, iplat, fphi, theaccfact)
Definition cbatherm.F:31
subroutine cbavarnl(jft, jlt, ng, ixc, nloc_dmg, varnl, nddl, nc1, nc2, nc3, nc4, nel)
Definition cbavarnl.F:33
subroutine cbavisnp1(jft, jlt, vxyz, rxyz, vcore, amu, off, rho, ssp, area, thk, g, dt1, vf, ipartc, evis, kfts)
Definition cbavisc.F:104
subroutine cbavisc(jft, jlt, vdef, amu, off, shf, nu, rho, ssp, area, thk, for, mom, npt, mtn, ipartc, evis, dt1, nel)
Definition cbavisc.F:34
subroutine cbavit_ply(jft, jlt, ixc, offg, off, nplat, iplat, npt, vcore, di, zl, vq, vxyz, x13_t, x24_t, y13_t, y24_t, area, inod, del_ply, vni, istack, vr)
Definition cbavit_ply.F:34
subroutine cbal58warp(elbuf_str, nel, x, ixc, e3x, e3y, e3z, offg, zllc2)
Definition cbawarpoff.F:34
subroutine cbilan(jft, jlt, pm, v, ixc, thk, eint, partsav, area, mat, ipartc, x, vr, vol0, vol00, thk0, thk02, ifla, off, nft1, gresav, grth, igrth, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, x1g, x2g, x3g, x4g, y1g, y2g, y3g, y4g, z1g, z2g, z3g, z4g, ixfem, iexpan, eintth, itask, gvol, actifxfem, igre, sensors, nel, g_wpla, wpla)
Definition cbilan.F:52
subroutine cmain3(timers, elbuf_str, jft, jlt, nft, iparg, nel, mtn, ipla, ithk, group_param, pm, geo, npf, tf, bufmat, ssp, rho, viscmx, dt1c, sigy, area, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, nu, off, thk0, mat, pid, mat_elem, for, mom, gstr, failwave, fwave_el, thk, eint, iofc, g, a11, a12, vol0, indxdel, ngl, zcfac, shf, gs, epsd_pg, kfts, jhbe, alpe, dir_a, dir_b, igeo, ipm, ifailure, npg, fheat, tempel, die, jthe, iexpan, tempel0, ishplyxfem, ply_exx, ply_eyy, ply_exy, ply_exz, ply_eyz, ply_f, del_ply, th_iply, sig_iply, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, ng, table, ixfem, offi, sensors, a11_iply, elcrkini, dir1_crk, dir2_crk, aldt, idt_therm, theaccfact, ismstr, ir, is, nlay, npt, ixlay, ixel, isubstack, stack, f_def, itask, drape, varnl, nloc_dmg, indx_drape, thke, sedrape, numel_drape, dt, ncycle, snpc, stf, nxlaymax, idel7nok, userl_avail, maxfunc, varnl_npttot, sbufmat, sdir_a, sdir_b, for_g)
Definition cmain3.F:87
subroutine cmain3pinch(elbuf_str, jft, jlt, nft, iparg, nel, mtn, ipla, ithk, group_param, pm, geo, npf, tf, bufmat, ssp, rho, viscmx, dt1c, sigy, area, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, nu, off, thk0, mat, pid, for, mom, gstr, failwave, fwave_el, thk, eint, iofc, g, a11, a12, vol0, indxdel, ngl, zcfac, shf, gs, epsp, kfts, jhbe, alpe, dir_a, dir_b, igeo, ipm, ifailure, npg, tempel, die, jthe, iexpan, tempel0, ishplyxfem, ply_exx, ply_eyy, ply_exy, ply_exz, ply_eyz, ply_f, del_ply, th_iply, sig_iply, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, ng, table, ixfem, offi, a11_iply, elcrkini, dir1_crk, dir2_crk, aldt, ismstr, ir, is, nlay, npt, ixlay, ixel, isubstack, stack, f_def, itask, drape, varnl, pinch_local, forp, momp, ezzavg, areapinch)
Definition cmain3pinch.F:68
subroutine cncoef3(jft, jlt, pm, mat, geo, pid, off, area, shf, thk0, thk02, nu, g, ym, a11, a12, thk, thke, ssp, rho, volg, gs, mtn, ithk, npt, dt1c, dt1, ihbe, amu, krz, igeo, a11r, isubstack, pm_stack, nel, zoffset)
Definition cncoef3.F:303
subroutine cndt3(jft, jlt, off, dt2t, amu, neltst, ityptst, sti, stir, offg, ssp, viscmx, rho, vol0, thk0, thk02, a1, aldt, alpe, ngl, ismstr, iofc, nne, area, g, shf, msc, dmelc, jsms, ptg, igtyp, igmat, a11r, g_dt, dtel, mtn, pm, imat, nel, zoffset)
Definition cndt3.F:42
subroutine cndt3pinch(jft, jlt, off, dt2t, amu, neltst, ityptst, sti, stir, offg, ssp, viscmx, rho, vol0, thk0, thk02, a1, aldt, alpe, ngl, ismstr, iofc, nne, area, g, shf, msc, dmelc, jsms, ptg, igtyp, igmat, a11r, g_dt, dtel, a11pinch)
Definition cndt3pinch.F:35
subroutine cndt_ply(jft, jlt, npt, off, aldt, area, thk, thk_iply, a1, a1_iply, sti, offi, viscmx)
Definition cndt_ply.F:30
subroutine cupdt3f(jft, jlt, i8f, i8m, nvc, offg, off, sti, stir, i8stifn, i8stifr, ixc, pm, area, thk, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, eint, partsav, mat, ipartc, nodadt_therm)
Definition cupdt3.F:41
subroutine cupdt_ply(jft, jlt, nvc, offg, off, iadc, iel, inod, ixc, ms, in, ms_ply, zi_ply, istack, posly, fly11, fly12, fly13, fly14, fly21, fly22, fly23, fly24, fly31, fly32, fly33, fly34, fac, sti, msz2, nft, npt)
Definition cupdt_ply.F:39
subroutine cupdtn3p(jft, jlt, offg, off, sti, stir, fsky, fskyv, iadc, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, ixc, eint, partsav, mat, ipartc, pm, area, thk, fac, jthe, them, fthesky, condnsky, conde, nodadt_therm)
Definition cupdtn3.F:493
subroutine cupdtn3(jft, jlt, f, m, nvc, offg, off, sti, stir, stifn, stifr, ixc, pm, area, thk, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, eint, partsav, mat, ipartc, fac, jthe, them, fthe, condn, conde, nodadt_therm)
Definition cupdtn3.F:39
subroutine cupdtn3pinch(jft, jlt, nvc, ixc, fp, fpinch, sti, stifpinch, facp)
subroutine dtcba_reg(nloc_dmg, thk, nel, off, le, imat, nddl, dt2t)
Definition dtcba_reg.F:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define max(a, b)
Definition macros.h:21
subroutine startime(event, itask)
Definition timer.F:93
subroutine stoptime(event, itask)
Definition timer.F:135
subroutine set_failwave_sh4n(failwave, fwave_el, dadv, nel, ixc, itab, ngl, offly)