OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
czforc3_crk.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!|| czforc3_crk ../engine/source/elements/xfem/czforc3_crk.F
25!||--- called by ------------------------------------------------------
26!|| forintc ../engine/source/elements/forintc.F
27!||--- calls -----------------------------------------------------
28!|| cbilan ../engine/source/elements/shell/coque/cbilan.F
29!|| ccoor3z_crk ../engine/source/elements/xfem/ccoor3z_crk.F
30!|| cmain3 ../engine/source/materials/mat_share/cmain3.F
31!|| cncoef3b ../engine/source/elements/sh3n/coquedk/cncoef3.F
32!|| cncoefort ../engine/source/elements/sh3n/coquedk/cncoef3.F
33!|| cndt3 ../engine/source/elements/sh3n/coquedk/cndt3.F
34!|| cupdtn3_crk ../engine/source/elements/xfem/xfemfsky.F
35!|| czcorc1 ../engine/source/elements/shell/coquez/czcorc.F
36!|| czdef ../engine/source/elements/shell/coquez/czdef.F
37!|| czdefrz ../engine/source/elements/shell/coquez/czdef.F
38!|| czfintce ../engine/source/elements/shell/coquez/czfintce.F
39!|| czfintcrz ../engine/source/elements/shell/coquez/czfintce.F
40!|| czfintn1 ../engine/source/elements/shell/coquez/czfintn.F
41!|| czfintn_or ../engine/source/elements/shell/coquez/czfintn.F
42!|| czfintnm ../engine/source/elements/shell/coquez/czfintn.F
43!|| czfintnrz_or ../engine/source/elements/shell/coquez/czfintn.F
44!|| czproj1 ../engine/source/elements/shell/coquez/czproj.F
45!|| czstra3 ../engine/source/elements/shell/coquez/czstra3.F
46!|| startime ../engine/source/system/timer_mod.F90
47!|| stoptime ../engine/source/system/timer_mod.F90
48!|| tempcg ../engine/source/materials/mat_share/tempcg.f
49!|| thermc ../engine/source/materials/mat_share/thermc.F
50!||--- uses -----------------------------------------------------
51!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.f
52!|| drape_mod ../engine/share/modules/drape_mod.F
53!|| dt_mod ../engine/source/modules/dt_mod.f
54!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
55!|| failwave_mod ../common_source/modules/failwave_mod.F
56!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
57!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
58!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
59!|| sensor_mod ../common_source/modules/sensor_mod.F90
60!|| stack_mod ../engine/share/modules/stack_mod.F
61!|| table_mod ../engine/share/modules/table_mod.F
62!|| timer_mod ../engine/source/system/timer_mod.F90
63!||====================================================================
64 SUBROUTINE czforc3_crk(TIMERS, XFEM_STR ,
65 1 JFT ,JLT ,NFT ,ITYPTST,
66 2 IPARI ,MTN ,IPRI ,ITHK ,NELTST ,
67 3 ISTRAIN,IPLA ,TT ,DT1 ,DT2T ,
68 4 PM ,GEO ,PARTSAV,IXC ,GROUP_PARAM,
69 5 BUFMAT ,TF ,NPF ,IADC ,FAILWAVE,
70 6 X ,D ,DR ,V ,VR ,
71 7 F ,M ,STIFN ,STIFR ,FSKY ,
72 8 TANI ,OFFSET ,EANI ,INDXOF ,
73 9 IPARTC ,THKE ,NVC ,IOFC ,IHBE ,
74 A F11 ,F12 ,F13 ,F14 ,F21 ,
75 B F22 ,F23 ,F24 ,F31 ,F32 ,
76 C F33 ,F34 ,M11 ,M12 ,M13 ,
77 D M14 ,M21 ,M22 ,M23 ,M24 ,
78 E M31 ,M32 ,M33 ,M34 ,
79 F KFTS ,FZERO ,ISMSTR ,MAT_ELEM ,
80 I IGEO ,IPM ,IFAILURE,ITASK , JTHE ,
81 J TEMP ,FTHE ,FTHESKY ,IEXPAN,GRESAV ,
82 K GRTH ,IGRTH ,MSC ,DMELC ,JSMS ,
83 L TABLE ,IPARG ,IXFEM ,INOD_CRK,IEL_CRK,
84 M IADC_CRK,ELCUTC,CRKSKY,SENSORS,IXEL ,
85 N ISUBSTACK,UXINT_MEAN,UYINT_MEAN,UZINT_MEAN,NLEVXF,
86 O NODEDGE,CRKEDGE, STACK ,DRAPE_SH4N,NLOC_DMG,
87 P INDX_DRAPE, IGRE ,DT, NCYCLE,SNPC, STF ,
88 P GLOB_THERM ,IDEL7NOK ,USERL_AVAIL,
89 Q MAXFUNC ,SBUFMAT)
90C-----------------------------------------------
91C M o d u l e s
92C-----------------------------------------------
93 USE timer_mod
94 USE table_mod
96 USE stack_mod
97 USE failwave_mod
98 USE mat_elem_mod
99 USE drape_mod
100 USE nlocal_reg_mod
101 USE sensor_mod
102 USE elbufdef_mod
103 USE dt_mod
104 use glob_therm_mod
105C-----------------------------------------------
106C I M P L I C I T T Y P E S
107C-----------------------------------------------
108#include "implicit_f.inc"
109C-----------------------------------------------
110C G L O B A L P A R A M E T E R S
111C-----------------------------------------------
112#include "param_c.inc"
113#include "mvsiz_p.inc"
114C-----------------------------------------------
115C C O M M O N B L O C K S
116C-----------------------------------------------
117#include "com_xfem1.inc"
118#include "scr14_c.inc"
119#include "parit_c.inc"
120#include "timeri_c.inc"
121#include "comlock.inc"
122#include "com04_c.inc"
123C-----------------------------------------------
124C D U M M Y A R G U M E N T S
125C-----------------------------------------------
126 TYPE(timer_), INTENT(INOUT) :: TIMERS
127 INTEGER,INTENT(IN) :: USERL_AVAIL ! Flag for User libraries availability
128 INTEGER,INTENT(IN) :: MAXFUNC ! Maximum number of functions
129 INTEGER,INTENT(INOUT) :: IDEL7NOK ! Element deletion flag for IDEL flag in contact interfaces
130 INTEGER,INTENT(IN) :: SBUFMAT ! Size of BUFMAT
131 INTEGER,INTENT(IN) :: STF ! Size of TF
132 INTEGER,INTENT(IN) :: SNPC ! Size of NPF
133 INTEGER JFT ,JLT,NFT,IPARI,MTN,IPRI,ITHK,NELTST,
134 . ITYPTST,ISTRAIN,IPLA,OFFSET,NVC,JSMS,IOFC,IHBE,
135 . KFTS,ISMSTR,IFAILURE,JTHE,IXEL,ISUBSTACK,NLEVXF
136 INTEGER IXC(NIXC,*),IADC(4,*),IPARTC(*),NPF(*),IGEO(NPROPGI,*),
137 . IPM(NPROPMI,*),INDXOF(MVSIZ),ITASK,IEXPAN,GRTH(*),IGRTH(*),
138 . IPARG(*),IXFEM,INOD_CRK(*),IEL_CRK(*),IADC_CRK(4,*),
139 . ELCUTC(2,*),NODEDGE(2,*),INDX_DRAPE(SCDRAPE)
140 INTEGER, INTENT(IN) :: IGRE, NCYCLE
141C REAL OU REAL*8
142 my_real
143 . F11(MVSIZ),F12(MVSIZ),F13(MVSIZ),F14(MVSIZ),
144 . F21(MVSIZ),F22(MVSIZ),F23(MVSIZ),F24(MVSIZ),
145 . F31(MVSIZ),F32(MVSIZ),F33(MVSIZ),F34(MVSIZ),
146 . M11(MVSIZ),M12(MVSIZ),M13(MVSIZ),M14(MVSIZ),
147 . M21(MVSIZ),M22(MVSIZ),M23(MVSIZ),M24(MVSIZ),
148 . M31(MVSIZ),M32(MVSIZ),M33(MVSIZ),M34(MVSIZ),
149 . TF(*),PM(NPROPM,*),GEO(NPROPG,*),PARTSAV(*),
150 . BUFMAT(*),X(3,*),D(*),DR(*),V(3,*),VR(3,*),
151 . f(3,*),m(3,*),stifn(*), stifr(*),fsky(8,*),tani(6,*),
152 . eani(*),thke(*),fzero(3,4,*),temp(*),fthe(*),
153 . fthesky(*),gresav(*),msc(*), dmelc(*),
154 . uxint_mean(nlevxf,mvsiz),
155 . uyint_mean(nlevxf,mvsiz),uzint_mean(nlevxf,mvsiz)
156 my_real
157 . tt,dt1,dt2t
158 TARGET :: bufmat
159 TYPE(ttable) TABLE(*)
160 TYPE (ELBUF_STRUCT_), TARGET :: XFEM_STR
161 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
162 TYPE (XFEM_SKY_) , DIMENSION(*) :: CRKSKY
163 TYPE (STACK_PLY) :: STACK
164 TYPE (FAILWAVE_STR_) :: FAILWAVE
165 TYPE (GROUP_PARAM_) :: GROUP_PARAM
166 TYPE (DRAPE_) , DIMENSION(NUMELC_DRAPE) :: DRAPE_SH4N
167 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
168 TYPE (NLOCAL_STR_) :: NLOC_DMG
169 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
170 TYPE (DT_), INTENT(IN) :: DT
171 type (glob_therm_) ,intent(inout) :: glob_therm
172C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
173C L O C A L V A R I A B L E S
174C--------------------------------
175 LOGICAL PLAT(MVSIZ)
176 INTEGER
177 . I,J,NEL,MX,NNOD,NPG,IBID,ISROT,IXLAY,NXLAY,NLAYER,NPTT,
178 . IR,IS,IT,IPT,NG,L_DIRA,L_DIRB,J1,J2,IXFEM2,IPTHK,
179 . IORTH,ILEV,IGMAT,IGTYP,IREP,IMAT,
180 . ACTIFXFEM, SEDRAPE,NUMEL_DRAPE
181 INTEGER MAT(MVSIZ),PID(MVSIZ),NGL(MVSIZ),FWAVE(MVSIZ)
182 PARAMETER (NNOD = 4)
183 my_real
184 . rh0(mvsiz),ll(mvsiz),vl13(mvsiz,3),vl24(mvsiz,3),vlhi(mvsiz,3),
185 . rlxyz(mvsiz,8),x13(mvsiz),x24(mvsiz),y13(mvsiz),y24(mvsiz),
186 . mx13(mvsiz),mx23(mvsiz),mx34(mvsiz),my13(mvsiz),my23(mvsiz),
187 . my34(mvsiz),z1(mvsiz),z2(mvsiz)
188 my_real
189 . vq(mvsiz,9),vdef(mvsiz,8),off(mvsiz),dhg(mvsiz,6),
190 . area(mvsiz),vqn(mvsiz,12),l13(mvsiz),l24(mvsiz),
191 . zcfac(mvsiz,2),a_i(mvsiz),thk02(mvsiz)
192 my_real
193 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),exz(mvsiz),eyz(mvsiz),
194 . kxx(mvsiz),kyy(mvsiz),kxy(mvsiz),sigy(mvsiz),
195 . dt1c(mvsiz),ssp(mvsiz),viscmx(mvsiz),rho(mvsiz) ,
196 . nu(mvsiz),g(mvsiz),a11(mvsiz),a12(mvsiz),vol0(mvsiz),
197 . thk0(mvsiz),sti(mvsiz),stir(mvsiz),shf(mvsiz) ,
198 . vf(mvsiz,12),vm(mvsiz,8),gs(mvsiz),fac1(mvsiz),
199 . alpe(mvsiz),ym(mvsiz),facn(mvsiz,2),lxyz(mvsiz,8),
200 . dd(mvsiz,6),db(mvsiz,12),amu(mvsiz),gsr(mvsiz),
201 . a11sr(mvsiz),a12sr(mvsiz),nusr(mvsiz),shfsr(mvsiz),
202 . px2(mvsiz),py1(mvsiz),py2(mvsiz),die(mvsiz),tempel(mvsiz),
203 . them(mvsiz,4),r11(mvsiz),r12(mvsiz),r13(mvsiz),
204 . r21(mvsiz),r22(mvsiz),r23(mvsiz),r31(mvsiz),
205 . r32(mvsiz),r33(mvsiz),rlz(mvsiz,4),vhgzk(mvsiz,5),
206 . vhgze(mvsiz,5),vrlz(mvsiz),bm0rz(mvsiz,4,4),bmkrz(mvsiz,4,4),
207 . bmerz(mvsiz,4,4),vmz(mvsiz,4),krz(mvsiz),diz(mvsiz,3)
208 my_real
209 . x1g(mvsiz),x2g(mvsiz),x3g(mvsiz),x4g(mvsiz),
210 . y1g(mvsiz),y2g(mvsiz),y3g(mvsiz),y4g(mvsiz),
211 . z1g(mvsiz),z2g(mvsiz),z3g(mvsiz),z4g(mvsiz),
212 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
213 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),
214 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
215 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
216 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
217 . vrx1(mvsiz),vrx2(mvsiz),vrx3(mvsiz),vrx4(mvsiz),
218 . vry1(mvsiz),vry2(mvsiz),vry3(mvsiz),vry4(mvsiz),
219 . vrz1(mvsiz),vrz2(mvsiz),vrz3(mvsiz),vrz4(mvsiz),
220 . ux1(mvsiz),ux2(mvsiz),ux3(mvsiz),ux4(mvsiz),
221 . uy1(mvsiz),uy2(mvsiz),uy3(mvsiz),uy4(mvsiz),a11r(mvsiz),
222 . thke0(mvsiz),xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),
223 . yl2(mvsiz),yl3(mvsiz),yl4(mvsiz),fac58(mvsiz,2)
224 my_real bid,thkr
225 !
226 my_real, DIMENSION(MVSIZ) :: zoffset
227C---
228 INTEGER, ALLOCATABLE, DIMENSION(:) :: ELCRKINI
229 my_real,
230 . ALLOCATABLE, DIMENSION(:) :: DIRA,DIRB,DIR1_CRK,DIR2_CRK
231 my_real,
232 . DIMENSION(:) ,POINTER :: DIR_A,DIR_B,UVAR
233 TARGET :: dira,dirb
234! variables for heat transfer
235 my_real, dimension(mvsiz) :: fheat
236!
237C---
238 TYPE(buf_lay_) ,POINTER :: BUFLY
239 TYPE(G_BUFEL_) ,POINTER :: GBUF
240 TYPE(L_BUFEL_) ,POINTER :: LBUF
241 my_real
242 . HM(MVSIZ,6), HF(MVSIZ,6), HC(MVSIZ,2),HMFOR(MVSIZ,6)
243 my_real,
244 . DIMENSION(:) ,POINTER :: OFFG,THKG,STRAG,FORG,MOMG,
245 . EINTG,EPSDG,TEMPG,EINTTH,HOURGG
246 DOUBLE PRECISION,
247 . DIMENSION(:) ,POINTER :: SMSTRG
248 my_real,
249 . DIMENSION(:,:), ALLOCATABLE :: varnl
250 INTEGER NPTTOT
251 INTEGER SDIR_A ! Size of DIR_A
252 INTEGER SDIR_B ! Size of DIR_B
253C=======================================================================
254 nel = jlt-jft+1
255 bid = zero
256 ibid = 0
257 npg = 0
258 ng = 1
259 ir = 1
260 is = 1
261 it = 1
262 sedrape = scdrape
263 numel_drape = numelc_drape
264 npttot = 1
265 ALLOCATE(varnl(nel,1))
266 varnl = zero
267C -----will put it in starter
268 IF (ismst r>= 10) ismstr=4
269C
270 DO i=jft,jlt
271 mat(i) = ixc(1,i)
272 pid(i) = ixc(6,i)
273 ngl(i) = ixc(7,i)
274 ENDDO
275C
276 DO i=jft,jlt
277 fac1(i) = geo(17,pid(i))
278 ENDDO
279C
280 isrot = iparg(41)
281 igtyp = igeo(11,pid(1))
282 igmat = igeo(98,pid(1))
283 irep = iparg(35)
284 actifxfem = iparg(70)
285 imat = ixc(1,jft)
286C-----------------------------------------
287 gbuf => xfem_str%GBUF
288C
289 nxlay = xfem_str%NLAY
290 nlayer = 1 ! only one current xfem layer passes to the cmain3 & mulawc
291C-----------------------------------------
292 ixfem2 = 1 ! flag pour CZCORC1 et BILAN
293C
294 ALLOCATE(elcrkini(nxlay*nel))
295 ALLOCATE(dir1_crk(nxlay*nel))
296 ALLOCATE(dir2_crk(nxlay*nel))
297 elcrkini = 0
298 dir1_crk = zero
299 dir2_crk = zero
300C
301 l_dira = xfem_str%BUFLY(1)%LY_DIRA
302 l_dirb = xfem_str%BUFLY(1)%LY_DIRB
303C
304 ALLOCATE(dira(nxlay*nel*l_dira))
305 ALLOCATE(dirb(nxlay*nel*l_dirb))
306 dira = zero
307 dirb = zero
308 sdir_a = nxlay*nel*l_dira
309 sdir_b = nxlay*nel*l_dirb
310 dir_a => dira(1:nxlay*nel*l_dira)
311 dir_b => dirb(1:nxlay*nel*l_dirb)
312 uvar => xfem_str%BUFLY(1)%MAT(ir,is,it)%VAR
313c-------------------------------------------------
314c Loop over all (Xfem) layers
315c-------------------------------------------------
316 DO ixlay = 1,nxlay
317 nptt = xfem_str%BUFLY(ixlay)%NPTT
318 IF (l_dira == 0) THEN
319 dira = zero
320 ELSEIF (irep == 0) THEN
321 j1 = 1+(ixlay-1)*l_dira*nel
322 j2 = ixlay*l_dira*nel
323 dira(j1:j2) = xfem_str%BUFLY(ixlay)%DIRA(1:nel*l_dira)
324 ENDIF
325C
326 DO i=jft,jlt
327 sigy(i) = ep30
328 zcfac(i,1) = one
329 zcfac(i,2) = one
330 alpe(i) = one
331 ENDDO
332C-----------------------------------------
333C CALCULS PRELIMINAIRES GLOBAL-->LOCAL
334C-----------------------------------------
335 ilev = nxel*(ixlay-1) + ixel
336C---
337C
338 IF (igtyp == 1 .or. igtyp == 9) THEN
339 DO i=jft,jlt
340 thke0(i) = thke(i)
341 ENDDO
342 ELSEIF (igtyp == 51 .OR. igtyp == 52) THEN
343 ipthk = 1 + nxlay
344 thkr = stack%GEO(ipthk+ixlay,isubstack)
345 DO i=jft,jlt
346 thke0(i) = thke(i) * thkr ! layer thickness (real)
347 ENDDO
348 ELSE ! IGTYP == 11...
349 ipthk = 300
350 thkr = geo(ipthk+ixlay,pid(1))
351 DO i=jft,jlt
352 thke0(i) = thke(i) * thkr
353 ENDDO
354 ENDIF
355c
356 IF (nxlay > 1) THEN
357 lbuf => xfem_str%BUFLY(ixlay)%LBUF(ir,is,it)
358 bufly => xfem_str%BUFLY(ixlay)
359 offg => lbuf%OFF
360 smstrg => lbuf%SMSTR
361 thkg => lbuf%THK ! layer thickness, not integration pt !
362 strag => lbuf%STRA
363 forg => lbuf%FOR
364 momg => lbuf%MOM
365 eintg => lbuf%EINT
366 epsdg => lbuf%EPSD
367 tempg => lbuf%TEMP
368 eintth => lbuf%EINTTH
369 hourgg => bufly%HOURG
370 ELSEIF (nxlay == 1) THEN
371 offg => gbuf%OFF
372 smstrg => gbuf%SMSTR
373 thkg => gbuf%THK
374 strag => gbuf%STRA
375 forg => gbuf%FOR
376 momg => gbuf%MOM
377 eintg => gbuf%EINT
378 epsdg => gbuf%EPSD
379 tempg => gbuf%TEMP
380 eintth => gbuf%EINTTH
381 hourgg => gbuf%HOURG
382 ENDIF
383c
384C ! calcul coords + vit des elements fantoms au lieu de std
385 CALL ccoor3z_crk(jft ,jlt ,nft ,iel_crk,iadc_crk,
386 2 vl1 ,vl2 ,vl3 ,vl4 ,vrl1 ,
387 3 vrl2 ,vrl3 ,vrl4 ,x1g ,x2g ,
388 4 x3g ,x4g ,y1g ,y2g ,y3g ,
389 5 y4g ,z1g ,z2g ,z3g ,z4g ,
390 6 vx1 ,vx2 ,vx3 ,vx4 ,vy1 ,
391 7 vy2 ,vy3 ,vy4 ,vz1 ,vz2 ,
392 8 vz3 ,vz4 ,vrx1 ,vrx2 ,vrx3 ,
393 9 vrx4 ,vry1 ,vry2 ,vry3 ,vry4 ,
394 a vrz1 ,vrz2 ,vrz3 ,vrz4 ,ilev ,
395 b offg )
396C
397 CALL czcorc1(numnod ,numelc ,xfem_str,
398 1 jft ,jlt ,x ,v ,vr ,
399 2 ixc ,pm ,plat ,area ,
400 3 a_i ,vl13 ,vl24 ,vlhi ,rlxyz ,
401 4 vqn ,vq ,ll ,l13 ,l24 ,
402 5 x13 ,x24 ,y13 ,y24 ,mx13 ,
403 6 mx23 ,mx34 ,my13 ,my23 ,my34 ,
404 7 z1 ,lxyz ,dd ,db ,smstrg ,
405 9 irep ,nptt ,nxlay ,ismstr ,
406 a dir_a ,dir_b ,offg ,rlxyz ,lxyz ,
407 b facn ,py1 ,px2 ,py2 ,r11 ,
408 c r12 ,r13 ,r21 ,r22 ,r23 ,
409 d r31 ,r32 ,r33 ,rlz ,isrot ,
410 e ixfem2 ,vx1 ,vx2 ,vx3 ,vx4 ,
411 f vy1 ,vy2 ,vy3 ,vy4 ,vz1 ,
412 g vz2 ,vz3 ,vz4 ,vrx1 ,vrx2 ,
413 h vrx3 ,vrx4 ,vry1 ,vry2 ,vry3 ,
414 i vry4 ,vrz1 ,vrz2 ,vrz3 ,vrz4 ,
415 j x1g ,x2g ,x3g ,x4g ,y1g ,
416 k y2g ,y3g ,y4g ,z1g ,z2g ,
417 l z3g ,z4g ,thke0 ,diz ,ux1 ,
418 m ux2 ,ux3 ,ux4 ,uy1 ,uy2 ,
419 n uy3 ,uy4 ,xl2 ,xl3 ,xl4 ,
420 o yl2 ,yl3 ,yl4 ,vl1 ,vl2 ,
421 p vl3 ,vl4 ,nel ,z2 )
422C
423 CALL cncoef3b(jft ,jlt ,pm ,mat ,geo ,
424 2 pid ,area ,shf ,thk0 ,
425 3 thk02 ,nu ,g ,ym ,
426 4 a11 ,a12 ,thkg ,thke0 ,ssp ,
427 5 rho ,vol0 ,gs ,mtn ,ithk ,
428 6 nptt ,dt1c ,dt1 ,ihbe ,amu ,
429 7 gsr ,a11sr ,a12sr ,nusr ,shfsr ,
430 8 krz ,igeo ,a11r ,isubstack, stack%PM,
431 9 mat_elem%MAT_PARAM(imat)%UPARAM ,dira ,dirb ,
432 a uvar ,fac58 ,nel ,zoffset)
433C
434 CALL cncoefort(jft ,jlt ,pm ,mat ,geo ,
435 1 pid ,mtn ,nptt ,hm ,hf ,
436 2 hc ,hmfor ,iorth ,dir_a ,igeo ,
437 3 isubstack,stack,xfem_str ,nxlay ,thkg ,
438 4 drape_sh4n ,nft ,nel ,indx_drape , thke,
439 5 sedrape,numel_drape , mat_elem)
440C----------------------------------
441C CALCUL VITESSE DE DEFORMATION
442C----------------------------------
443 CALL czdef(jft ,jlt ,area ,a_i ,vl13 ,vl24 ,
444 2 vlhi ,rlxyz,vdef ,dhg ,x13 ,
445 3 x24 ,y13 ,y24 ,mx13 ,mx23 ,mx34 ,
446 4 my13 ,my23 ,my34 ,z1 ,dt1 ,off ,
447 5 offg ,rlxyz)
448 IF (isrot > 0) THEN
449 CALL czdefrz(jft ,jlt ,area ,a_i ,rlz ,
450 1 vdef ,vhgzk,vhgze,x13 ,x24 ,
451 2 y13 ,y24 ,mx13 ,mx23,mx34 ,
452 3 my13 ,my23 ,my34 ,z1 ,dhg ,
453 4 bm0rz,bmkrz,bmerz,vl13,vl24 ,
454 5 vrlz )
455 ENDIF
456C----------------------------------
457C CALCUL DES DEFORMATIONS
458C----------------------------------
459 CALL czstra3(jft ,jlt ,nft, vdef,strag ,
460 2 exx ,eyy ,exy, exz ,eyz ,
461 3 kxx ,kyy ,kxy, dt1c,tani ,
462 4 iepsdot,istrain,ux1 ,ux2 ,ux3 ,
463 5 ux4 ,uy1 ,uy2 ,uy3 ,uy4 ,
464 6 y24 ,px2 ,py1 ,py2 ,area ,
465 7 ismstr ,mtn ,bid ,bid ,bid ,
466 8 nel )
467C-----------------
468C CONTRAINTES
469C-----------------
470 DO i = jft,jlt
471 tempel(i) = zero
472 ENDDO
473 IF (jthe /= 0 ) CALL tempcg(numnod, nel ,ixc ,temp ,tempel)
474C-----------------------------
475 IF ((itask==0).AND.(imon_mat==1)) CALL startime(timers,35)
476C-----------------------------
477 CALL cmain3(timers,
478 1 xfem_str ,jft ,jlt ,nft ,iparg ,
479 2 nel ,mtn ,ipla ,ithk ,group_param,
480 3 pm ,geo ,npf ,tf ,bufmat ,
481 4 ssp ,rho ,viscmx ,dt1c ,sigy ,
482 5 area ,exx ,eyy ,exy ,exz ,
483 6 eyz ,kxx ,kyy ,kxy ,nu ,
484 7 off ,thk0 ,mat ,pid ,mat_elem,
485 8 forg ,momg ,strag ,failwave ,fwave ,
486 9 thkg ,eintg ,iofc ,
487 a g ,a11 ,a12 ,vol0 ,indxof ,
488 b ngl ,zcfac ,shf ,gs ,epsdg ,
489 c kfts ,ihbe ,alpe ,
490 d dir_a ,dir_b ,igeo ,
491 e ipm ,ifailure ,npg ,fheat ,
492 f tempel ,die ,jthe ,iexpan ,tempg ,
493 g ibid ,bid ,
494 h bid ,bid ,bid ,bid ,bid ,
495 i bid ,bid ,bid ,r11 ,r12 ,
496 j r13 ,r21 ,r22 ,r23 ,r31 ,
497 k r32 ,r33 ,ibid ,table ,ixfem ,
498 l bid ,sensors ,bid ,elcrkini,
499 m dir1_crk ,dir2_crk ,ll ,glob_therm%IDT_THERM ,glob_therm%THEACCFACT,
500 n ismstr ,ir ,is ,nlayer ,nptt ,
501 o ixlay ,ixel ,isubstack ,stack ,
502 p bid ,itask ,drape_sh4n ,varnl ,nloc_dmg,
503 r indx_drape, thke ,sedrape ,numel_drape,dt ,
504 q ncycle ,snpc ,stf ,nxlaymax ,idel7nok ,
505 s userl_avail ,maxfunc ,npttot ,sbufmat ,sdir_a ,
506 t sdir_b ,gbuf%FOR_G)
507C-----------------------------
508 IF ((itask==0).AND.(imon_mat==1)) CALL stoptime(timers,35)
509C--------------------------
510C BILANS PAR MATERIAU
511C--------------------------
512 IF (ipri == 1)
513 1 CALL cbilan(
514 1 jft, jlt, pm, v,
515 2 ixc, thkg, eintg, partsav,
516 3 area, mat, ipartc, bid,
517 4 bid, bid, bid, bid,
518 5 bid, ibid, off, nft,
519 6 gresav, grth, igrth, vl1,
520 7 vl2, vl3, vl4, vrl1,
521 8 vrl2, vrl3, vrl4, x1g,
522 9 x2g, x3g, x4g, y1g,
523 a y2g, y3g, y4g, z1g,
524 b z2g, z3g, z4g, ixfem2,
525 c iexpan, eintth, itask, gbuf%VOL,
526 d actifxfem,igre,sensors,nel,gbuf%G_WPLA,
527 e gbuf%WPLA )
528C
529 CALL cndt3(
530 1 jft ,jlt ,off , dt2t ,amu ,
531 2 neltst ,ityptst,sti , stir ,offg ,
532 3 ssp ,viscmx ,rho , vol0 ,thk0 ,thk02,
533 4 a11 ,ll ,alpe , ngl ,ismstr,
534 5 iofc ,nnod ,area , g ,shf ,
535 6 msc ,dmelc ,jsms , bid ,igtyp ,
536 7 igmat ,a11r ,gbuf%G_DT, gbuf%DT,mtn ,
537 8 pm ,mat(jft),nel ,zoffset)
538 CALL czfintce(jft ,jlt ,thk0 ,thk02,a_i ,x13 ,
539 2 x24 ,y13 ,y24 ,z1 ,mx23 ,mx13 ,
540 3 mx34 ,my13 ,my23 ,my34 ,forg ,momg ,
541 4 vf ,vm ,nel )
542 IF (isrot > 0) THEN
543 CALL czfintcrz(jft ,jlt ,thk0 ,vol0 ,area ,x13 ,
544 2 x24 ,y13 ,y24 ,z1 ,mx23 ,mx13 ,
545 3 mx34 ,my13 ,my23 ,my34 ,forg ,hourgg,
546 4 vf ,vmz ,bm0rz,krz ,vrlz ,dt1c ,
547 5 eintg ,off ,nel )
548 CALL czfintnrz_or(
549 1 jft ,jlt ,thk0 ,thk02 ,a_i ,dhg ,
550 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
551 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,hourgg ,
552 4 forg ,momg ,vf ,vm ,zcfac,a11 ,
553 5 a12 ,g ,gs ,sigy ,off ,fac1 ,
554 6 rho ,area ,dt1 ,eintg ,amu ,vlhi ,
555 7 nptt ,ipartc ,partsav,kfts ,gsr ,
556 8 a11sr ,a12sr ,nusr ,shfsr ,bmkrz,bmerz ,
557 9 vhgzk ,vhgze ,krz ,vmz ,iorth,hm ,
558 a hf ,hc ,hmfor ,mtn ,nel )
559 ELSE
560 IF (iorth == 0) THEN
561 CALL czfintn1(jft ,jlt ,thk0 ,thk02,a_i ,dhg ,
562 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
563 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,hourgg,
564 4 forg ,momg ,vf ,vm ,zcfac,a11 ,
565 5 a12 ,g ,shf ,sigy ,off ,fac1 ,
566 6 rho ,area ,dt1 ,eintg,amu ,vlhi ,
567 7 nptt ,ipartc ,partsav,kfts ,gsr ,nel ,
568 8 a11sr ,a12sr ,nusr ,shfsr,mtn ,fac58 )
569 ELSE
570 CALL czfintn_or(jft ,jlt ,thk0 ,thk02,a_i ,dhg ,
571 2 x13 ,x24 ,y13 ,y24 ,z1 ,mx23 ,
572 3 mx13 ,mx34 ,my13 ,my23 ,my34 ,hourgg ,
573 4 forg ,momg ,vf ,vm ,zcfac ,a11 ,
574 5 a12 ,g ,gs ,sigy ,off ,fac1 ,
575 6 rho ,area , dt1,eintg,amu ,vlhi ,
576 7 nptt ,ipartc,partsav,kfts ,gsr ,
577 8 a11sr,a12sr ,nusr,shfsr ,iorth ,hm ,
578 9 hf ,hc ,hmfor,mtn ,nel)
579 ENDIF ! IF (IORTH == 0)
580 ENDIF ! (ISROT > 0) THEN
581C
582 IF (nptt == 1)
583 1 CALL czfintnm(jft ,jlt ,thk0 ,a_i ,dhg ,
584 2 x13 ,x24 ,y13 ,y24 ,vf ,
585 3 g ,rho ,area ,amu ,dt1 ,
586 4 off ,ipartc,partsav,kfts )
587 CALL czproj1(
588 1 jft ,jlt ,vqn ,vq ,vf ,
589 2 vm ,plat ,
590 3 f11 ,f12 ,f13 ,f14 ,f21 ,
591 4 f22 ,f23 ,f24 ,f31 ,f32 ,
592 5 f33 ,f34 ,m11 ,m12 ,m13 ,
593 6 m14 ,m21 ,m22 ,m23 ,m24 ,
594 7 m31 ,m32 ,m33 ,m34 ,fzero,
595 8 z1 ,lxyz ,dd ,db ,lxyz ,
596 9 isrot ,diz ,vmz )
597C-------------------------
598c Thermique des coques
599C--------------------------
600C
601 IF (jthe /= 0) THEN
602 IF (mat_elem%MAT_PARAM(mat(1))%HEAT_FLAG == 1) THEN
603 CALL thermc(jft ,jlt ,pm ,mat ,thk0 ,ixc ,
604 . y24 ,px2 ,py1 ,py2 ,area ,dt1c ,
605 . temp ,tempel ,fheat ,them ,glob_therm%THEACCFACT)
606 ELSE
607 CALL thermc(jft ,jlt ,pm ,mat ,thk0 ,ixc ,
608 . y24 ,px2 ,py1 ,py2 ,area ,dt1c ,
609 . temp ,tempel ,die ,them ,glob_therm%THEACCFACT)
610 ENDIF
611 ENDIF
612C
613C--------------------------
614C ASSEMBLAGE des forces dans les adresses sky des noeuds phantomes
615C--------------------------
616 IF (iparit == 1)
617 . CALL cupdtn3_crk(
618 . jft ,jlt ,nft ,ixc ,off ,iadc ,
619 . f11 ,f21 ,f31 ,f12 ,f22 ,f32 ,
620 . f13 ,f23 ,f33 ,f14 ,f24 ,f34 ,
621 . m11 ,m21 ,m31 ,m12 ,m22 ,m32 ,
622 . m13 ,m23 ,m33 ,m14 ,m24 ,m34 ,
623 . sti ,stir ,fsky ,elcutc,iadc_crk,iel_crk,
624 . ilev ,inod_crk,facn ,offg ,eintg,partsav,
625 . ipartc,ixlay ,crksky)
626C-------------------------
627 ENDDO ! DO IXLAY=1,NXLAY
628C-------------------------
629 IF (ALLOCATED(dira)) DEALLOCATE(dira)
630 IF (ALLOCATED(dirb)) DEALLOCATE(dirb)
631 IF (ALLOCATED(elcrkini)) DEALLOCATE(elcrkini)
632 IF (ALLOCATED(dir1_crk)) DEALLOCATE(dir1_crk)
633 IF (ALLOCATED(dir2_crk)) DEALLOCATE(dir2_crk)
634 IF (ALLOCATED(varnl)) DEALLOCATE(varnl)
635C-------------------------
636 RETURN
637 END
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 ccoor3z_crk(jft, jlt, nft, iel_crk, iadc_crk, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, vrx1, vrx2, vrx3, vrx4, vry1, vry2, vry3, vry4, vrz1, vrz2, vrz3, vrz4, ilev, offg)
Definition ccoor3z_crk.F:41
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 cncoef3b(jft, jlt, pm, mat, geo, pid, area, shf, thk0, thk02, nu, g, ym, a11, a12, thk, thke, ssp, rho, volg, gs, mtn, ithk, npt, dt1c, dt1, ihbe, amu, gsr, a11sr, a12sr, nusr, shfsr, krz, igeo, a11r, isubstack, pm_stack, uparam, dira, dirb, uvar, fac58, nel, zoffset)
Definition cncoef3.F:39
subroutine cncoefort(jft, jlt, pm, mat, geo, pid, mtn, npt, hm, hf, hc, hmfor, iorth, dir, igeo, isubstack, stack, elbuf_str, nlay, thk, drape, nft, nel, indx_drape, thke, sedrape, numel_drape, mat_elem)
Definition cncoef3.F:522
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 czcorc1(numnod, numelc, elbuf_str, jft, jlt, x, v, vr, ixc, pm, plat, area, area_i, v13, v24, vhi, rlxyz, vqn, vq, ll, l13, l24, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, corel, di, db, smstr, irep, npt, nlay, ismstr, dir_a, dir_b, offg, rlxyzv, corelv, facn, py1, px2, py2, r11, r12, r13, r21, r22, r23, r31, r32, r33, rlz, idril, ixfem, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, vrx1, vrx2, vrx3, vrx4, vry1, vry2, vry3, vry4, vrz1, vrz2, vrz3, vrz4, x1g, x2g, x3g, x4g, y1g, y2g, y3g, y4g, z1g, z2g, z3g, z4g, thk, diz, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, xl2, xl3, xl4, yl2, yl3, yl4, vl1, vl2, vl3, vl4, nel, z2)
Definition czcorc.F:61
subroutine czdef(jft, jlt, area, aa, v13, v24, vhi, rlxyz, vdef, vhg, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, dt1, off, offg, rlxyzv)
Definition czdef.F:34
subroutine czdefrz(jft, jlt, area, aa, rlz, vdef, vhgzk, vhgze, x13, x24, y13, y24, mx13, mx23, mx34, my13, my23, my34, z1, vhg, bm0rz, bmkrz, bmerz, v13, v24, vrlz)
Definition czdef.F:217
subroutine czfintce(jft, jlt, thk, c1, a_i, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vstre, mstre, vf, vm, nel)
Definition czfintce.F:33
subroutine czfintcrz(jft, jlt, thk, vol, area, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vstre, vsrz, vf, vmz, bm0rz, krz, vrlz, dt1c, eint, off, nel)
Definition czfintce.F:115
subroutine czfintn1(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, shf, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, nel, a11sr, a12sr, nusr, shfsr, mtn, fac58)
Definition czfintn.F:37
subroutine czfintn_or(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, gs, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, a11sr, a12sr, nusr, shfsr, iorth, hm, hf, hc, hmfor, mtn, nel)
Definition czfintn.F:1023
subroutine czfintnm(jft, jlt, thk, aa, vhg, x13, x24, y13, y24, vf, g, rho, area, amu, dt1, off, ipartc, evis, kfts)
Definition czfintn.F:506
subroutine czfintnrz_or(jft, jlt, thk, c1, aa, vhg, x13, x24, y13, y24, z1, mx23, mx13, mx34, my13, my23, my34, vglas, vstre, mstre, vf, vm, fac, a11, a12, g, gs, sigy, off, fac1, rho, area, dt1, eint, amu, vhi, npt, ipartc, evis, kfts, gsr, a11sr, a12sr, nusr, shfsr, bmkrz, bmerz, vhgzk, vhgze, krz, vmz, iorth, hm, hf, hc, hmfor, mtn, nel)
Definition czfintn.F:1462
subroutine czforc3_crk(timers, xfem_str, jft, jlt, nft, ityptst, ipari, mtn, ipri, ithk, neltst, istrain, ipla, tt, dt1, dt2t, pm, geo, partsav, ixc, group_param, bufmat, tf, npf, iadc, failwave, 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, fzero, ismstr, mat_elem, igeo, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, gresav, grth, igrth, msc, dmelc, jsms, table, iparg, ixfem, inod_crk, iel_crk, iadc_crk, elcutc, crksky, sensors, ixel, isubstack, uxint_mean, uyint_mean, uzint_mean, nlevxf, nodedge, crkedge, stack, drape_sh4n, nloc_dmg, indx_drape, igre, dt, ncycle, snpc, stf, glob_therm, idel7nok, userl_avail, maxfunc, sbufmat)
Definition czforc3_crk.F:90
subroutine czproj1(jft, jlt, vqn, vq, vf, vm, plat, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, fzero, z1, corel, di, db, corelv, idril, diz, vmz)
Definition czproj.F:42
subroutine czstra3(jft, jlt, nft, vdef, gstr, exx, eyy, exy, exz, eyz, kxx, kyy, kxy, dt1c, epsdot, iepsdot, istrain, ux1, ux2, ux3, ux4, uy1, uy2, uy3, uy4, px1, px2, py1, py2, area, ismstr, mtn, wxy, f_def, gstrw, nel)
Definition czstra3.F:37
subroutine area(d1, x, x2, y, y2, eint, stif0)
integer numelc_drape
Definition drape_mod.F:92
subroutine startime(event, itask)
Definition timer.F:93
subroutine stoptime(event, itask)
Definition timer.F:135
subroutine tempcg(numnod, nel, ixc, temp, tempel)
Definition tempcg.F:32
subroutine thermc(jft, jlt, pm, mat, thk, ixc, px1, px2, py1, py2, area, dt1c, tempnc, tempel, die, fphi, theaccfact)
Definition thermc.F:34
subroutine cupdtn3_crk(jft, jlt, nft, ixc, off, iadc, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, m11, m21, m31, m12, m22, m32, m13, m23, m33, m14, m24, m34, sti, stir, fsky, elcutc, iadc_crk, iel_crk, ilev, inod_crk, fac, offg, eint, partsav, ipartc, ilay, crksky)
Definition xfemfsky.F:278