OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c3init3.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!|| c3init3 ../starter/source/elements/sh3n/coque3n/c3init3.f
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| c1buf3 ../starter/source/elements/shell/coque/c1buf3.F
30!|| c3coori ../starter/source/elements/sh3n/coque3n/c3coori.F
31!|| c3derii ../starter/source/elements/sh3n/coque3n/c3derii.F
32!|| c3eps11_ini ../starter/source/elements/sh3n/coque3n/c3init3.F
33!|| c3epschk ../starter/source/elements/sh3n/coque3n/c3init3.f
34!|| c3epsini ../starter/source/elements/sh3n/coque3n/c3epsini.F
35!|| c3evec3 ../starter/source/elements/sh3n/coque3n/c3evec3.F
36!|| c3inmas ../starter/source/elements/sh3n/coque3n/c3inmas.F
37!|| c3veok3 ../starter/source/elements/sh3n/coque3n/c3veok3.F
38!|| cbufxfe ../starter/source/elements/xfem/cbufxfe.F
39!|| cdkevec3 ../starter/source/elements/sh3n/coquedk/cdkevec3.F
40!|| cfailini ../starter/source/elements/shell/coque/cfailini.F
41!|| cm27in3 ../starter/source/materials/mat/mat027/cm27in3.F
42!|| cm35in3 ../starter/source/materials/mat/mat035/cm35in3.f
43!|| cm58in3 ../starter/source/materials/mat/mat058/cm58in3.F
44!|| cmatini ../starter/source/materials/mat_share/cmatini.F
45!|| corth3 ../starter/source/elements/shell/coque/corth3.F
46!|| corthdir ../starter/source/elements/shell/coque/corthdir.F
47!|| corthini ../starter/source/elements/shell/coque/corthini.F
48!|| csigini ../starter/source/elements/shell/coque/csigini.F
49!|| cuserini ../starter/source/elements/shell/coque/cuserini.F
50!|| fail_windshield_init ../starter/source/materials/fail/windshield_alter/fail_windshield_init.F
51!|| fractal_dmg_init ../starter/source/materials/fail/fractal/fractal_dmg_init.F90
52!|| fretitl2 ../starter/source/starter/freform.F
53!|| initemp_shell ../starter/source/materials/therm/initemp_shell.F90
54!|| law158_init ../starter/source/materials/mat/mat158/law158_init.F
55!|| layini1 ../starter/source/elements/shell/coqueba/layini1.F
56!|| thickini ../starter/source/elements/shell/coqueba/thickini.F
57!||--- uses -----------------------------------------------------
58!|| drape_mod ../starter/share/modules1/drape_mod.F
59!|| fractal_dmg_init_mod ../starter/source/materials/fail/fractal/fractal_dmg_init.F90
60!|| initemp_shell_mod ../starter/source/materials/therm/initemp_shell.F90
61!|| message_mod ../starter/share/message_module/message_mod.F
62!|| stack_mod ../starter/share/modules1/stack_mod.F
63!||====================================================================
64 SUBROUTINE c3init3(ELBUF_STR,
65 1 IXTG ,PM ,X ,GEO ,IGRSH4N ,
66 2 XMAS ,IN ,NVC ,DTELEM ,IGRSH3N ,
67 3 XREFTG ,OFFSET ,NEL ,ITHK ,THK ,
68 4 ISIGSH ,SIGSH ,STIFN ,STIFR ,PARTSAV ,
69 5 V ,IPART ,MSTG ,INTG ,PTG ,
70 8 SKEW ,IPARG ,NSIGSH ,IGEO ,IUSER ,
71 9 ETNOD ,NSHNOD ,STTG ,PTSH3N ,IPM ,
72 A BUFMAT ,SH3TREE,MCP ,MCPTG ,TEMP ,
73 B CPT_ELTENS,PART_AREA,ITAGE,ITAGN,IXFEM ,
74 C NPF , TF ,SH3TRIM ,XFEM_STR,ISUBSTACK,
75 D STACK ,RNOISE ,DRAPE ,SH3ANG ,IDDLEVEL,
76 E GEO_STACK,IGEO_STACK,STRTG,PERTURB ,ISH3N,
77 F IYLDINI ,ELE_AREA,NLOC_DMG,NG,GROUP_PARAM,
78 G IDRAPE , DRAPEG,MAT_PARAM,FAIL_FRACTAL,FAIL_BROKMANN,GLOB_THERM)
79C-----------------------------------------------
80C M o d u l e s
81C-----------------------------------------------
82 USE my_alloc_mod
83 USE mat_elem_mod
84 USE message_mod
85 USE stack_mod
86 USE groupdef_mod
88 USE group_param_mod
89 USE drape_mod
90 USE random_walk_def_mod
91 USE fractal_dmg_init_mod
93 use brokmann_random_def_mod
94 use glob_therm_mod
95 use initemp_shell_mod
96C-----------------------------------------------
97C I m p l i c i t T y p e s
98C-----------------------------------------------
99#include "implicit_f.inc"
100C-----------------------------------------------
101C G l o b a l P a r a m e t e r s
102C-----------------------------------------------
103#include "mvsiz_p.inc"
104C-----------------------------------------------
105C C o m m o n B l o c k s
106C-----------------------------------------------
107#include "com01_c.inc"
108#include "com04_c.inc"
109#include "com_xfem1.inc"
110#include "param_c.inc"
111#include "scr03_c.inc"
112#include "scr17_c.inc"
113#include "vect01_c.inc"
114#include "scry_c.inc"
115C-----------------------------------------------
116C V a r i a b l e s
117C-----------------------------------------------
118 INTEGER NDDIM,OFFSET,NEL,ITHK,ISIGSH,NSIGSH,IUSER,
119 . CPT_ELTENS,ISUBSTACK,IYLDINI,ISH3N,NG,IDRAPE
120 INTEGER IXTG(NIXTG,*),IPART(*),IGEO(NPROPGI,*),IPM(NPROPMI,*),
121 . IPARG(*),NSHNOD(*), PTSH3N(*),NPF(*),
122 . SH3TREE(*),ITAGE(*),ITAGN(*),IXFEM,IAD0,SH3TRIM(*),
123 . IGEO_STACK(*),PERTURB(NPERTURB)
124 INTEGER ,INTENT(IN) :: IDDLEVEL
125C REAL
126 my_real
127 . PM(*),X(3,*),GEO(NPROPG,*),XMAS(*),XREFTG(3,3,*),
128 . IN(*),DTELEM(*),THK(*),SIGSH(NSIGSH,*),
129 . STIFN(*),STIFR(*),PARTSAV(20,*), V(*), SKEW(LSKEW,*),
130 . MSTG(*),INTG(*),PTG(3,*),
131 . ETNOD(*), STTG(*),BUFMAT(*),MCP(*),MCPTG(*),TEMP(*),
132 . part_area(*),tf(*),rnoise(*),sh3ang(*),
133 . geo_stack(*),strtg(*),ele_area(*)
134 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
135 TYPE(ELBUF_STRUCT_), TARGET ,DIMENSION(NGROUP,*):: XFEM_STR
136 ! when XFEM is ON, XFEM_STR's dimension = NGROUP,NXEL
137 TYPE (STACK_PLY) :: STACK
138 TYPE (NLOCAL_STR_) :: NLOC_DMG
139 TYPE (GROUP_PARAM_) :: GROUP_PARAM
140 TYPE (DRAPE_) :: DRAPE(NUMELC_DRAPE + NUMELTG_DRAPE)
141 TYPE (DRAPEG_) :: DRAPEG
142 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
143 TYPE (FAIL_FRACTAL_) ,INTENT(IN) :: FAIL_FRACTAL
144 TYPE (FAIL_BROKMANN_) ,INTENT(IN) :: FAIL_BROKMANN
145 TYPE (glob_therm_) ,intent(in) :: glob_therm
146C-----------------------------------------------
147 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
148 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
149C-----------------------------------------------
150C L o c a l V a r i a b l e s
151C-----------------------------------------------
152 INTEGER I,J,NDEPAR,IGTYP,NVC,NUVAR,NLAY,IR,IS,IL,IFAIL,NUPARAM,
153 . nptr,npts,nptt,ixel,ii,it,ilaw,imat,iprop,irep,itg,igmat,
154 . ifram_old,npt_all,mpt,laynpt_max,lay_max
155 INTEGER IORTHLOC(MVSIZ),MAT(MVSIZ),PID(MVSIZ),NGL(MVSIZ),JJ(6),
156 . ix1(mvsiz),ix2(mvsiz),ix3(mvsiz)
157 my_real
158 . vx(mvsiz),vy(mvsiz),vz(mvsiz),aldt(mvsiz),area(mvsiz)
159 my_real,
160 . DIMENSION(MVSIZ) :: px1g,py1g,py2g,x2s,x3s,y3s,dt
161 my_real x1(mvsiz), x2(mvsiz), x3(mvsiz) ,x4(mvsiz),
162 . y1(mvsiz), y2(mvsiz), y3(mvsiz),y4(mvsiz),
163 . z1(mvsiz), z2(mvsiz), z3(mvsiz),z4(mvsiz),
164 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
165 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
166 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
167 . x31(mvsiz), y31(mvsiz), z31(mvsiz),
168 . x2l(mvsiz), x3l(mvsiz), y3l(mvsiz)
169 INTEGER ID
170 CHARACTER(LEN=NCHARTITLE)::TITR
171 my_real,
172 . ALLOCATABLE, DIMENSION(:) :: dir_a,dir_b,phi1,phi2,
173 . coor1,coor2,coor3,coor4
174 INTEGER, ALLOCATABLE, DIMENSION(:) :: INDX
175 parameter(laynpt_max = 10)
176 parameter(lay_max = 100)
177 INTEGER, DIMENSION(:),ALLOCATABLE::MATLY
178 my_real, DIMENSION(:,:),ALLOCATABLE :: POSLY
179C-----------------------------------------------
180 my_real,
181 . DIMENSION(:) ,POINTER :: UVAR,DIR1,DIR2
182 TYPE(G_BUFEL_) ,POINTER :: GBUF
183 TYPE(l_bufel_) ,POINTER :: LBUF
184 TYPE(buf_lay_) ,POINTER :: BUFLY
185C=======================================================================
186 ! Allocate buffers
187 CALL my_alloc(matly,mvsiz*lay_max)
188 CALL my_alloc(posly,mvsiz,lay_max*laynpt_max)
189
190 gbuf => elbuf_str%GBUF
191 bufly => elbuf_str%BUFLY(1)
192c
193 imat = ixtg(1,1+nft) ! mat N
194 iprop = ixtg(nixtg-1,1+nft) ! property N
195 igtyp = nint(geo(12,iprop))
196 id = igeo(1,iprop)
197 igmat = igeo(98,iprop)
198 irep = iparg(35)
199 ifail = iparg(43)
200c
201 IF (ish3n==3.AND.ish3nfram==0) THEN
202 ifram_old =0
203 ELSE
204 ifram_old =1
205 END IF
206C
207 CALL fretitl2(titr,igeo(npropgi-ltitr+1,iprop),ltitr)
208 nuvar = ipm(8,ixtg(1,1+nft))
209 vx = zero
210 vy = zero
211 vz = zero
212 iorthloc = 0
213 itg = 1+numelc
214C---
215 ir = 1
216 is = 1
217 nlay = elbuf_str%NLAY
218 nxel = elbuf_str%NXEL
219 nptt = elbuf_str%NPTT
220C
221 npt_all = 0
222 DO il=1,nlay
223 npt_all = npt_all + elbuf_str%BUFLY(il)%NPTT
224 ENDDO
225 mpt = max(1,npt_all)
226 IF(npt_all == 0) npt_all = nlay
227 IF (iparg(6) == 0.OR.npt==0) mpt=0
228 IF((igtyp == 51 .OR. igtyp == 52) .AND. idrape > 0) THEN
229 ALLOCATE(dir_a(npt_all*nel*2))
230 ALLOCATE(dir_b(npt_all*nel*2))
231 dir_a = zero
232 dir_b = zero
233 ALLOCATE(phi1(mvsiz*npt_all))
234 ALLOCATE(phi2(nvsiz*npt_all))
235 phi1 = zero
236 phi2 = zero
237 ALLOCATE(coor1(npt_all*mvsiz))
238 ALLOCATE(coor2(npt_all*mvsiz))
239 ALLOCATE(coor3(npt_all*mvsiz))
240 ALLOCATE(coor4(npt_all*mvsiz))
241 coor1 = zero
242 coor2 = zero
243 coor3 = zero
244 coor4 = zero
245 ELSE
246 ALLOCATE(dir_a(nlay*nel*2))
247 ALLOCATE(dir_b(nlay*nel*2))
248 dir_a = zero
249 dir_b = zero
250 ALLOCATE(phi1(nlay*mvsiz))
251 ALLOCATE(phi2(nlay*mvsiz))
252 phi1 = zero
253 phi2 = zero
254 ALLOCATE(coor1(nlay*mvsiz))
255 ALLOCATE(coor2(nlay*mvsiz))
256 ALLOCATE(coor3(nlay*mvsiz))
257 ALLOCATE(coor4(nlay*mvsiz))
258 coor1 = zero
259 coor2 = zero
260 coor3 = zero
261 coor4 = zero
262 npt_all = nlay
263 ENDIF
264 !
265C
266 DO j=1,6
267 jj(j) = nel*(j-1)
268 ENDDO
269C
270 DO i=lft,llt
271 mat(i) = imat
272 pid(i) = iprop
273 ENDDO
274C
275 IF (ixfem > 0) THEN
276 DO i=lft,llt
277 itagn(ixtg(2,i+nft)) =1
278 itagn(ixtg(3,i+nft)) =1
279 itagn(ixtg(4,i+nft)) =1
280 itage(i+nft) = 1
281 ENDDO
282 ENDIF
283C
284 CALL c3coori(x,xreftg(1,1,nft+1),ixtg(1,nft+1),ngl,
285 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
286 . z1 ,z2 ,z3 ,ix1 ,ix2 ,ix3 )
287 CALL c3veok3(nvc ,ix1 ,ix2 ,ix3 )
288 CALL c3evec3(lft ,llt ,area,
289 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
290 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
291 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
292 . x31, y31, z31 ,x2l ,x3l ,y3l )
293C------------
294C Tags total area of the part (needed in /ADMAS for shells)
295C------------
296 IF ((imasadd > 0).OR.(nloc_dmg%IMOD > 0)) THEN
297 DO i=lft,llt
298 j = ipart(i+nft)
299C PART_AREA(J) = PART_AREA(J) + AREA(I)
300 ele_area(numelc+i+nft) = area(i)
301 IF (gbuf%G_AREA > 0) gbuf%AREA(i) = area(i)
302 ENDDO
303 ENDIF
304C-----------------------------------------------------------------------
305! Initialize element temperature from /initemp
306!
307 IF (jthe == 0 .and. glob_therm%NINTEMP > 0) THEN
308 CALL initemp_shell(elbuf_str,temp,nel,numnod,numeltg,3,nixtg,ixtg)
309 END IF
310C------------
311 IF(idrape > 0 ) THEN
312 ALLOCATE(indx(numeltg))
313 indx = 0
314 indx(1:numeltg) = drapeg%INDX(numelc + 1 : numelc + numeltg)
315 ELSE
316 ALLOCATE(indx(0))
317 ENDIF
318 CALL c3inmas(x,xreftg(1,1,nft+1),ixtg,geo,pm,xmas,in,thk,
319 . partsav,v,ipart(nft+1),mstg(nft+1),intg(nft+1),
320 . ptg(1,nft+1),igeo ,imat ,iprop ,area ,
321 . etnod,nshnod,sttg(nft+1) ,sh3tree ,mcp ,
322 . mcptg(nft+1),temp ,sh3trim,isubstack,nlay ,
323 . elbuf_str ,stack ,gbuf%THK_I,rnoise,drape,
324 . perturb,ix1 ,ix2 ,ix3 ,glob_therm%NINTEMP,
325 . x2l ,x3l ,y3l ,idrape,indx)
326C-----------------------------------------------
327 CALL c3derii(lft,llt,pm,geo,px1g,py1g,py2g,
328 . stifn ,stifr ,ixtg(1,nft+1),
329 . thk,sh3tree,aldt ,bufmat , ipm ,igeo,
330 . stack%PM,isubstack,strtg(nft+1),imat,iprop,
331 . area ,dt ,x31 ,y31 ,z31 ,
332 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,
333 . e1z ,e2z ,e3z ,x2l ,x3l ,y3l ,
334 . group_param)
335C
336 CALL c1buf3(geo,gbuf%THK,gbuf%OFF,thk,ksh3tree,sh3tree)
337C
338 IF (ixfem > 0) THEN
339 DO ixel=1,nxel
340 DO i=lft,llt
341 xfem_str(ng,ixel)%GBUF%THK(i) = thk(i)
342 xfem_str(ng,ixel)%GBUF%OFF(i) = -one
343 END DO
344 ENDDO
345 ENDIF
346C-------new local system for ortho or aniso init
347 IF (ifram_old ==0 )
348 . CALL cdkevec3(lft ,llt ,area,
349 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
350 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
351 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
352C----
353C PHI, COOR used only with dimension(NLAY,MVSIZ)
354c
355 CALL corthini(
356 . lft ,llt ,nft ,nlay ,numeltg ,
357 . nsigsh ,nixtg ,ixtg(1,nft+1),igeo ,geo ,
358 . skew ,sigsh ,ptsh3n ,phi1 ,phi2 ,
359 . vx ,vy ,vz ,coor1 ,coor2 ,
360 . coor3 ,coor4 ,iorthloc ,isubstack ,stack ,
361 . irep ,elbuf_str ,drape ,sh3ang(nft+1),x ,
362 . geo_stack ,e3x ,e3y ,e3z ,
363 . gbuf%BETAORTH,x1 ,x2 ,y1 ,y2 ,
364 . z1 ,z2 ,nel ,gbuf%G_ADD_NODE,gbuf%ADD_NODE,
365 . npt_all ,idrape ,indx)
366c---
367 IF(igtyp == 51 .OR. igtyp == 52 .OR. igmat > 0) THEN
368c
369 CALL corthdir(elbuf_str,
370 . igeo ,geo ,vx ,vy ,vz ,
371 . phi1 ,phi2 ,coor1 ,coor2 ,coor3 ,
372 . coor4 ,iorthloc ,nlay ,irep ,isubstack,
373 . stack ,geo_stack ,igeo_stack ,ir ,is ,
374 . nel ,imat ,iprop ,
375 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
376 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
377 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
378 . npt_all ,idrape)
379C
380 ELSEIF (mtn == 27) THEN
381 CALL cm27in3(elbuf_str,
382 . geo ,igeo ,pm ,ipm ,ixtg(1,1+nft) ,nixtg,
383 . nlay,ir ,is ,imat )
384 ELSEIF (mtn == 35) THEN
385 nptr = elbuf_str%NPTR
386 npts = elbuf_str%NPTS
387 nptt = elbuf_str%NPTT
388 CALL cm35in3(elbuf_str,thk,area,nel,nlay,
389 . nptr,npts,nptt,igtyp)
390 ELSEIF (mtn == 15 .or. mtn == 19 .or. mtn == 25 .or. mtn >= 28)THEN
391 IF (mtn == 19 .AND. igtyp /= 9) THEN
392 CALL ancmsg(msgid=5,
393 . anmode=aninfo,
394 . msgtype=msgerror,
395 . i1=igeo(1,ixtg(nixtg-1,nft+1)))
396 ENDIF
397c
398 CALL corthdir(elbuf_str,
399 . igeo ,geo ,vx ,vy ,vz ,
400 . phi1 ,phi2 ,coor1 ,coor2 ,coor3 ,
401 . coor4 ,iorthloc ,nlay ,irep ,isubstack,
402 . stack ,geo_stack ,igeo_stack ,ir ,is ,
403 . nel ,imat ,iprop ,
404 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
405 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
406 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
407 . npt_all ,idrape)
408 ENDIF
409c
410 IF ((mtn == 58 .or. mtn == 158) .AND.
411 . igtyp /= 16 .AND. igtyp /= 51 .AND. igtyp /= 52) THEN
412 CALL ancmsg(msgid=658,
413 . msgtype=msgerror,
414 . anmode=aninfo_blind_1,
415 . i1=id,
416 . c1=titr,
417 . i2=mtn,
418 . i3=igtyp)
419 ELSEIF (mtn == 58 .or. mtn == 158 .OR. igtyp == 51 .OR. igtyp == 52) THEN
420 IF (idrape == 0 ) THEN
421 DO il = 1,nlay
422 nptt = elbuf_str%BUFLY(il)%NPTT
423 imat = elbuf_str%BUFLY(il)%IMAT
424 ilaw = elbuf_str%BUFLY(il)%ILAW
425 nuvar = elbuf_str%BUFLY(il)%NVAR_MAT
426 dir1 => elbuf_str%BUFLY(il)%DIRA
427 dir2 => elbuf_str%BUFLY(il)%DIRB
428 nuparam = mat_param(imat)%NUPARAM
429!
430 IF (ilaw == 58) THEN
431 DO it=1,nptt
432 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
433 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
434 CALL cm58in3(
435 . irep ,dir1 ,dir2 ,mat_param(imat)%UPARAM,
436 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
437 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
438 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
439 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
440 ENDDO
441 ELSE IF (ilaw == 158) THEN
442 DO it=1,nptt
443 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
444 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
445 CALL law158_init(dir1 ,dir2 ,
446 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
447 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
448 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
449 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
450 ENDDO
451 ENDIF
452!
453 ENDDO ! DO IL = 1,NLAY
454 ELSE
455 DO il = 1,nlay
456 nptt = elbuf_str%BUFLY(il)%NPTT
457 imat = elbuf_str%BUFLY(il)%IMAT
458 ilaw = elbuf_str%BUFLY(il)%ILAW
459 nuvar = elbuf_str%BUFLY(il)%NVAR_MAT
460 nuparam = mat_param(imat)%NUPARAM
461!
462 IF (ilaw == 58) THEN
463 DO it=1,nptt
464 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
465 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
466 dir1 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRA
467 dir2 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRB
468 CALL cm58in3(
469 . irep ,dir1 ,dir2 ,mat_param(imat)%UPARAM,
470 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
471 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
472 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
473 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
474 ENDDO
475 ELSE IF (ilaw == 158) THEN
476 DO it=1,nptt
477 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
478 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
479 dir1 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRA
480 dir2 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRB
481 CALL law158_init(dir1 ,dir2 ,
482 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
483 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
484 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
485 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
486 ENDDO
487 ENDIF
488!
489 ENDDO ! DO IL = 1,NLAY
490 ENDIF
491 ENDIF ! IF (MTN == 58) THEN
492C-----------------------------------------------------------------------
493C CALCUL DES CONTRAINTES INITIALES
494C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
495 IF (isigsh /= 0 .OR. ithkshel == 2) THEN
496C to be checked for IGTYP = 51
497 IF (mpt>0) THEN
498 CALL layini1(
499 . elbuf_str ,lft ,llt ,geo ,igeo ,
500 . mat ,pid ,matly ,posly ,igtyp ,
501 . nlay ,mpt ,isubstack ,stack ,drape ,
502 . nft ,gbuf%THK ,nel ,idrape , stdrape ,
503 . indx)
504 CALL corth3(elbuf_str,dir_a ,dir_b ,lft ,llt ,
505 . nlay ,irep ,nel ,
506 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
507 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
508 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
509 . idrape , igtyp)
510 END IF
511 CALL csigini(elbuf_str,
512 1 lft ,llt ,nft ,mpt ,istrain ,
513 2 gbuf%THK,gbuf%EINT,gbuf%STRA,gbuf%HOURG,gbuf%PLA ,
514 3 gbuf%FOR,gbuf%MOM ,sigsh ,nlay ,gbuf%G_HOURG,
515 4 numeltg ,ixtg ,nixtg ,nsigsh ,numsh3n ,
516 5 ptsh3n ,igeo ,thk ,nel ,e1x ,
517 6 e2x ,e3x ,e1y ,e2y ,e3y ,
518 7 e1z ,e2z ,e3z ,isigsh ,dir_a ,
519 8 dir_b ,posly ,igtyp )
520 ELSEIF ( ithkshel == 1 ) THEN
521 CALL thickini(lft ,llt ,nft ,ptsh3n,numeltg,
522 2 gbuf%THK,thk ,ixtg ,nixtg ,nsigsh ,
523 3 sigsh )
524 ENDIF
525c-----------------------------------------------------------------------
526c Failure model initialisation
527c-----------------------------------------------------------------------
528c set element damage initialized in /FAIL/FRACTAL_DMG
529 IF (fail_fractal%NFAIL > 0) THEN
530 CALL fractal_dmg_init(elbuf_str,mat_param,fail_fractal,
531 . nummat ,numeltg ,nel ,nft ,ngl ,ity )
532 ENDIF
533c tag edge elements in local UVAR for /FAIL/ALTER (XFEM)
534 IF (ifail > 0 .and. iddlevel == 1) THEN
535 CALL fail_windshield_init(elbuf_str,mat_param,fail_brokmann,
536 . nel ,nft ,ity ,igrsh4n ,igrsh3n ,
537 . aldt ,thk ,ngl )
538 ENDIF
539c
540C to be checked for IGTYP = 51
541c IF(NPERTURB /= 0 .OR. NVSHELL1 /= 0) THEN
542 CALL cfailini(elbuf_str,mat_param,
543 . nptt ,nlay ,sigsh ,nsigsh ,ptsh3n ,
544 . rnoise ,perturb ,aldt ,thk )
545c ENDIF
546C-----------------------------------------------------------------------
547C CALCUL DES DEFORMATIONS INITIALES (MEMBRANE)
548C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
549 IF (istrain == 1 .AND. nxref > 0) THEN
550 uvar => elbuf_str%BUFLY(1)%MAT(1,1,1)%VAR
551 imat = elbuf_str%BUFLY(1)%IMAT
552C to be checked for IGTYP = 51
553 CALL c3epsini(elbuf_str,mat_param(imat),
554 . lft ,llt ,ismstr ,mtn ,ithk ,
555 . pm ,geo ,ixtg(1,nft+1),x ,xreftg(1,1,nft+1),
556 . gbuf%FOR,gbuf%THK ,gbuf%EINT ,gbuf%STRA,nlay ,
557 . px1g ,py1g ,py2g ,x2s ,x3s ,
558 . y3s ,uvar ,ipm ,
559 . nel ,dir_a ,dir_b ,gbuf%SIGI,npf ,
560 . tf ,irep ,ifram_old ,imat )
561c
562 CALL c3epschk(lft, llt,nft, pm, geo,ixtg(1,nft+1), gbuf%STRA,thk,
563 . nel,cpt_eltens)
564c
565 IF (ismstr == 1 .AND. mtn==19) iparg(9) = 11
566c
567 ELSEIF (ismstr == 11 .OR. (ismstr==1 .AND. mtn==19)) THEN
568C to be checked for IGTYP = 51
569 CALL c3eps11_ini(
570 . lft ,llt ,ixtg(1,nft+1),x ,x2s ,
571 . x3s ,y3s )
572 ENDIF
573c
574 IF (ismstr == 10) THEN
575 DO i=lft,llt
576 ii = nft + i
577 elbuf_str%GBUF%SMSTR(jj(1)+i) = x(1,ixtg(3,ii))-x(1,ixtg(2,ii))
578 elbuf_str%GBUF%SMSTR(jj(2)+i) = x(2,ixtg(3,ii))-x(2,ixtg(2,ii))
579 elbuf_str%GBUF%SMSTR(jj(3)+i) = x(3,ixtg(3,ii))-x(3,ixtg(2,ii))
580 elbuf_str%GBUF%SMSTR(jj(4)+i) = x(1,ixtg(4,ii))-x(1,ixtg(2,ii))
581 elbuf_str%GBUF%SMSTR(jj(5)+i) = x(2,ixtg(4,ii))-x(2,ixtg(2,ii))
582 elbuf_str%GBUF%SMSTR(jj(6)+i) = x(3,ixtg(4,ii))-x(3,ixtg(2,ii))
583 ENDDO
584 ELSEIF (ismstr == 11 .OR.(ismstr==1 .AND. mtn==19)) THEN
585 DO i=lft,llt
586 elbuf_str%GBUF%SMSTR(jj(1)+i) = x2s(i)
587 elbuf_str%GBUF%SMSTR(jj(2)+i) = x3s(i)
588 elbuf_str%GBUF%SMSTR(jj(3)+i) = y3s(i)
589 ENDDO
590 ENDIF
591C
592 IF (iuser == 1 .and. mtn > 28) THEN
593C to be checked for IGTYP = 51
594 CALL cuserini(elbuf_str,
595 1 lft ,llt ,nft ,nel ,npt ,
596 2 istrain,sigsh ,numeltg ,ixtg ,nixtg ,
597 3 nsigsh ,numsh3n,ptsh3n ,ir ,is ,
598 4 nlay )
599 ENDIF
600C-------------------------------------------
601 IF (iyldini == 1 .AND. (mtn== 36.OR. mtn==87))THEN
602 CALL cmatini(elbuf_str,
603 1 lft ,llt ,nft ,nel ,npt ,
604 2 istrain,sigsh ,numeltg ,ixtg ,nixtg ,
605 3 nsigsh ,numsh3n,ptsh3n ,ir ,is ,
606 4 nlay )
607 ENDIF
608C-------------------------------------------
609C CALCUL DES DT ELEMENTAIRES
610C-------------------------------------------
611c IGTYP=GEO(12,IXTG(5,I+NFT))
612 IF (igtyp /= 0 .AND. igtyp /= 1 .AND.
613 . igtyp /= 9 .AND. igtyp /= 10 .AND.
614 . igtyp /= 11 .AND. igtyp /= 16 .AND.
615 . igtyp /= 17 .AND. igtyp /= 51 .AND.
616 . igtyp /= 52 ) THEN
617 CALL ancmsg(msgid=25,
618 . anmode=aninfo,
619 . msgtype=msgerror,
620 . i1=id,
621 . c1=titr,
622 . i2=iprop)
623 ENDIF
624 ndepar=numels+numelc+numelt+numelp+numelr+nft
625 DO i=lft,llt
626 dtelem(ndepar+i) = dt(i)
627 END DO
628C---
629 IF (ixfem > 0) THEN
630 CALL cbufxfe(elbuf_str,xfem_str,isubstack,stack ,
631 . igeo ,geo ,lft ,llt ,mat,
632 . pid ,npt ,nptt ,nlay,ir ,
633 . is ,ixfem,mtn ,ng)
634 ENDIF
635C------------
636 ! Compute the initial volume
637 DO i=lft,llt
638 IF (gbuf%G_VOL > 0) gbuf%VOL(i) = area(i)*gbuf%THK(i)
639 ENDDO
640 IF (ixfem > 0) THEN
641 DO ixel=1,nxel
642 DO i=lft,llt
643 IF (xfem_str(ng,ixel)%GBUF%G_VOL > 0)
644 . xfem_str(ng,ixel)%GBUF%VOL(i) = area(i)*gbuf%THK(i)
645 END DO
646 ENDDO
647 ENDIF
648C---
649 IF (ALLOCATED(dir_b)) DEALLOCATE(dir_b)
650 IF (ALLOCATED(dir_a)) DEALLOCATE(dir_a)
651 IF (ALLOCATED(indx)) DEALLOCATE(indx)
652
653 DEALLOCATE(matly)
654 DEALLOCATE(posly)
655C------------
656 RETURN
657 END
658C
659!||====================================================================
660!|| c3epschk ../starter/source/elements/sh3n/coque3n/c3init3.F
661!||--- called by ------------------------------------------------------
662!|| c3init3 ../starter/source/elements/sh3n/coque3n/c3init3.F
663!|| cdkinit3 ../starter/source/elements/sh3n/coquedk/cdkinit3.F
664!||--- calls -----------------------------------------------------
665!|| ancmsg ../starter/source/output/message/message.F
666!||--- uses -----------------------------------------------------
667!|| message_mod ../starter/share/message_module/message_mod.F
668!||====================================================================
669 SUBROUTINE c3epschk(JFT,JLT,NFT,PM,GEO,IXTG,GSTR,THK,
670 . NEL,CPT_ELTENS)
671 USE message_mod
672C-----------------------------------------------
673C I m p l i c i t T y p e s
674C-----------------------------------------------
675#include "implicit_f.inc"
676C-----------------------------------------------
677C G l o b a l P a r a m e t e r s
678C-----------------------------------------------
679#include "mvsiz_p.inc"
680C-----------------------------------------------
681C C o m m o n B l o c k s
682C-----------------------------------------------
683#include "param_c.inc"
684#include "scr03_c.inc"
685C-----------------------------------------------
686C D u m m y A r g u m e n t s
687C-----------------------------------------------
688 INTEGER JFT, JLT,NFT ,NEL ,IXTG(NIXTG,*),CPT_ELTENS
689 my_real
690 . PM(NPROPM,*), GSTR(NEL,8),THK(*), GEO(NPROPG,*)
691C------------------------------------------------------
692C L o c a l V a r i a b l e s
693C------------------------------------------------------
694 INTEGER I
695 my_real
696 . DELT(MVSIZ),X1(MVSIZ),X2(MVSIZ)
697C-------------------------------------------------------------
698 DO I=jft,jlt
699 delt(i)=((gstr(i,1)+gstr(i,2))*(gstr(i,1)+gstr(i,2)))-four*
700 . (gstr(i,1)*gstr(i,2)-fourth*gstr(i,3)*gstr(i,3))
701 IF(delt(i)>=zero)THEN
702 x1(i) = (gstr(i,1)+gstr(i,2)-sqrt(delt(i)))/two
703 x2(i) = (gstr(i,1)+gstr(i,2)+sqrt(delt(i)))/two
704 IF((x1(i)>zero.AND.(x1(i)>em10)).OR.(x2(i)>zero
705 . .AND.(x2(i)>em10)))THEN
706 IF(ipri == 5) THEN
707 CALL ancmsg(msgid=607,
708 . msgtype=msgwarning,
709 . anmode=aninfo_blind_1,
710 . r1=min(x1(i),x2(i)),
711 . r2=max(x1(i),x2(i)),
712 . i1=ixtg(6,i))
713 ELSE
714 cpt_eltens = cpt_eltens + 1
715 ENDIF
716 ENDIF
717 ENDIF
718 ENDDO
719c-----------
720 RETURN
721 END
722!||====================================================================
723!|| c3eps11_ini ../starter/source/elements/sh3n/coque3n/c3init3.f
724!||--- called by ------------------------------------------------------
725!|| c3init3 ../starter/source/elements/sh3n/coque3n/c3init3.F
726!||====================================================================
727 SUBROUTINE c3eps11_ini(
728 1 JFT ,JLT ,IXTG ,X ,X2S ,
729 2 X3S ,Y3S )
730C-----------------------------------------------
731C I m p l i c i t T y p e s
732C-----------------------------------------------
733#include "implicit_f.inc"
734C-----------------------------------------------
735C G l o b a l P a r a m e t e r s
736C-----------------------------------------------
737#include "mvsiz_p.inc"
738C-----------------------------------------------
739C D u m m y A r g u m e n t s
740C-----------------------------------------------
741 INTEGER JFT, JLT
742 INTEGER IXTG(NIXTG,*)
743 my_real X(3,*),X2S(*), X3S(*), Y3S(*)
744C------------------------------------------------------
745C L o c a l V a r i a b l e s
746C-----------------------------------------------
747 INTEGER I, NIT, NT, I1, I2, I3, I4
748 my_real
749 . X1(MVSIZ) , X2(MVSIZ) , X3(MVSIZ) ,
750 . Y1(MVSIZ) , Y2(MVSIZ) , Y3(MVSIZ) ,
751 . Z1(MVSIZ) , Z2(MVSIZ) , Z3(MVSIZ)
752 my_real SUM,S1,S2
753 my_real
754 . E1X(MVSIZ), E1Y(MVSIZ), E1Z(MVSIZ),
755 . E2X(MVSIZ), E2Y(MVSIZ), E2Z(MVSIZ),
756 . E3X(MVSIZ), E3Y(MVSIZ), E3Z(MVSIZ),
757 . X31(MVSIZ), Y31(MVSIZ), Z31(MVSIZ),
758 . x32(mvsiz), y32(mvsiz), z32(mvsiz),
759 . x21(mvsiz), y21(mvsiz), z21(mvsiz)
760C---------------------------------------------------------------
761 DO i=jft,jlt
762 x1(i)=zero
763 y1(i)=zero
764 z1(i)=zero
765 x2(i)=x(1,ixtg(3,i))-x(1,ixtg(2,i))
766 y2(i)=x(2,ixtg(3,i))-x(2,ixtg(2,i))
767 z2(i)=x(3,ixtg(3,i))-x(3,ixtg(2,i))
768 x3(i)=x(1,ixtg(4,i))-x(1,ixtg(2,i))
769 y3(i)=x(2,ixtg(4,i))-x(2,ixtg(2,i))
770 z3(i)=x(3,ixtg(4,i))-x(3,ixtg(2,i))
771 ENDDO
772C
773 DO i=jft,jlt
774 x21(i)=x2(i)
775 y21(i)=y2(i)
776 z21(i)=z2(i)
777 x31(i)=x3(i)
778 y31(i)=y3(i)
779 z31(i)=z3(i)
780 x32(i)=x3(i)-x2(i)
781 y32(i)=y3(i)-y2(i)
782 z32(i)=z3(i)-z2(i)
783 ENDDO
784 DO i=jft,jlt
785 e1x(i)= x21(i)
786 e1y(i)= y21(i)
787 e1z(i)= z21(i)
788 sum = one/sqrt(e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i))
789 e1x(i)=e1x(i)* sum
790 e1y(i)=e1y(i)* sum
791 e1z(i)=e1z(i)* sum
792 ENDDO
793C
794 DO i=jft,jlt
795 e3x(i)=y31(i)*z32(i)-z31(i)*y32(i)
796 e3y(i)=z31(i)*x32(i)-x31(i)*z32(i)
797 e3z(i)=x31(i)*y32(i)-y31(i)*x32(i)
798 sum = one/sqrt(e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i))
799 e3x(i)=e3x(i)* sum
800 e3y(i)=e3y(i)* sum
801 e3z(i)=e3z(i)* sum
802 ENDDO
803C
804 DO i=jft,jlt
805 e2x(i) = e3y(i) * e1z(i) - e3z(i) * e1y(i)
806 e2y(i) = e3z(i) * e1x(i) - e3x(i) * e1z(i)
807 e2z(i) = e3x(i) * e1y(i) - e3y(i) * e1x(i)
808 sum = one/sqrt(e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i))
809 e2x(i)=e2x(i)*sum
810 e2y(i)=e2y(i)*sum
811 e2z(i)=e2z(i)*sum
812 ENDDO
813C
814 DO i=jft,jlt
815 y3s(i)=e2x(i)*x31(i)+e2y(i)*y31(i)+e2z(i)*z31(i)
816 x3s(i)=e1x(i)*x31(i)+e1y(i)*y31(i)+e1z(i)*z31(i)
817 x2s(i)=e1x(i)*x21(i)+e1y(i)*y21(i)+e1z(i)*z21(i)
818 ENDDO
819C-----------
820 RETURN
821 END
subroutine c1buf3(geo, thk, off, thke, kshtree, shtree)
Definition c1buf3.F:32
subroutine c3coori(x, xreftg, ixp, ngl, x1, x2, x3, y1, y2, y3, z1, z2, z3, ix1, ix2, ix3)
Definition c3coori.F:39
subroutine c3derii(jft, jlt, pm, geo, px1, py1, py2, stifn, stifr, ixtg, thk, sh3tree, aldt, uparam, ipm, igeo, pm_stack, isubstack, strtg, imat, iprop, area, dt, x31g, y31g, z31g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x2, x3, y3, group_param)
Definition c3derii.F:38
subroutine c3epsini(elbuf_str, mat_param, jft, jlt, ismstr, mtn, ithk, pm, geo, ixtg, x, xreftg, for, thk, eint, gstr, nlay, px1g, py1g, py2g, x2s, x3s, y3s, uvar, ipm, nel, dir_a, dir_b, sigi, npf, tf, irep, ish3nfr, imat)
Definition c3epsini.F:45
subroutine c3epschk(jft, jlt, nft, pm, geo, ixtg, gstr, thk, nel, cpt_eltens)
Definition c3init3.F:671
subroutine c3init3(elbuf_str, ixtg, pm, x, geo, igrsh4n, xmas, in, nvc, dtelem, igrsh3n, xreftg, offset, nel, ithk, thk, isigsh, sigsh, stifn, stifr, partsav, v, ipart, mstg, intg, ptg, skew, iparg, nsigsh, igeo, iuser, etnod, nshnod, sttg, ptsh3n, ipm, bufmat, sh3tree, mcp, mcptg, temp, cpt_eltens, part_area, itage, itagn, ixfem, npf, tf, sh3trim, xfem_str, isubstack, stack, rnoise, drape, sh3ang, iddlevel, geo_stack, igeo_stack, strtg, perturb, ish3n, iyldini, ele_area, nloc_dmg, ng, group_param, idrape, drapeg, mat_param, fail_fractal, fail_brokmann, glob_therm)
Definition c3init3.F:79
subroutine c3eps11_ini(jft, jlt, ixtg, x, x2s, x3s, y3s)
Definition c3init3.F:730
subroutine c3inmas(x, xreftg, ixtg, geo, pm, ms, tiner, thke, partsav, v, ipart, mstg, intg, ptg, igeo, imat, iprop, area, etnod, nshnod, sttg, sh3tree, mcp, mcptg, temp, sh3trim, isubstack, nlay, elbuf_str, stack, thki, rnoise, drape, perturb, ix1, ix2, ix3, nintemp, x2, x3, y3, idrape, indx)
Definition c3inmas.F:46
subroutine c3veok3(nvc, ix1, ix2, ix3)
Definition c3veok3.F:36
subroutine cbufxfe(elbuf_str, xfem_str, isubstack, stack, igeo, geo, lft, llt, mat, pid, npt, nptt, nlay, ir, is, ixfem, mtn, ng)
Definition cbufxfe.F:39
subroutine cdkevec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition cdkevec3.F:38
subroutine cfailini(elbuf_str, mat_param, nptt, nlay, sigsh, nsigsh, ptsh, rnoise, perturb, aldt, thk)
Definition cfailini.F:36
subroutine cm27in3(elbuf_str, geo, igeo, pm, ipm, ix, nix, nlay, ir, is, imat)
Definition cm27in3.F:38
subroutine cm35in3(elbuf_str, thk, area, nel, nlay, nptr, npts, nptt, igtyp)
Definition cm35in3.F:34
subroutine cm58in3(irep, dir1, dir2, uparam, uvar, aldt, nel, nuvar, tan_phi, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition cm58in3.F:35
subroutine cmatini(elbuf_str, jft, jlt, nft, nel, npt, istrain, sigsh, numel, ix, nix, nsigsh, numsh, ptsh, ir, is, nlay)
Definition cmatini.F:36
subroutine corth3(elbuf_str, dir_a, dir_b, jft, jlt, nlay, irep, nel, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, idrape, igtyp)
Definition corth3.F:42
subroutine corthdir(elbuf_str, igeo, geo, vx, vy, vz, phi1, phi2, coor1, coor2, coor3, coor4, iorthloc, nlay, irep, isubstack, stack, geo_stack, igeo_stack, ir, is, nel, imat, iprop, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, npt_all, idrape)
Definition corthdir.F:42
subroutine corthini(jft, jlt, nft, nlay, numel, nsigsh, nix, ix, igeo, geo, skew, sigsh, ptsh, phi1, phi2, vx, vy, vz, coor1, coor2, coor3, coor4, iorthloc, isubstack, stack, irep, elbuf_str, drape, angle, x, geo_stack, e3x, e3y, e3z, betaorth, x1, x2, y1, y2, z1, z2, nel, g_add_node, add_node, npt_all, idrape, indx)
Definition corthini.F:48
subroutine csigini(elbuf_str, jft, jlt, nft, npt, istrain, thk, eint, gstr, hh, plas, for, mom, sigsh, nlay, g_hourg, numel, ix, nix, nsigsh, numsh, ptsh, igeo, thke, nel, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, isigsh, dir_a, dir_b, posly, igtyp)
Definition csigini.F:46
subroutine cuserini(elbuf_str, jft, jlt, nft, nel, npt, istrain, sigsh, numel, ix, nix, nsigsh, numsh, ptsh, ir, is, nlay)
Definition cuserini.F:36
subroutine fail_brokmann(nel, nuparam, nuvar, time, timestep, uparam, ngl, signxx, signyy, signxy, uvar, off, ipt, nindxf, indxf, tdel)
subroutine fail_windshield_init(elbuf_str, mat_param, fail_brokmann, nel, nft, ity, igrsh4n, igrsh3n, aldt, thk, ngl)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine law158_init(dir1, dir2, uvar, aldt, nel, nuvar, tan_phi, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition law158_init.F:35
subroutine layini1(elbuf_str, jft, jlt, geo, igeo, mat, pid, matly, posly, igtyp, nlay, npt, isubstack, stack, drape, nft, thk, nel, idrape, numel_drape, indx)
Definition layini1.F:40
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
integer stdrape
Definition drape_mod.F:92
integer, parameter nchartitle
subroutine c3evec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x31, y31, z31, x2l, x3l, y3l)
Definition c3evec3.F:39
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804
program starter
Definition starter.F:39
subroutine thickini(jft, jlt, nft, ptsh, numel, thk, thke, ix, nix, nsigsh, sigsh)
Definition thickini.F:36