OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
inirig_mat.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!|| inirig_mat ../starter/source/elements/initia/inirig_mat.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!||--- calls -----------------------------------------------------
28!|| c3coori ../starter/source/elements/sh3n/coque3n/c3coori.F
29!|| c3derii ../starter/source/elements/sh3n/coque3n/c3derii.F
30!|| c3evec3 ../starter/source/elements/sh3n/coque3n/c3evec3.F
31!|| c3inmas ../starter/source/elements/sh3n/coque3n/c3inmas.F
32!|| c3veok3 ../starter/source/elements/sh3n/coque3n/c3veok3.F
33!|| ccoori ../starter/source/elements/shell/coque/ccoori.F
34!|| cderii ../starter/source/elements/shell/coque/cderii.F
35!|| ceveci ../starter/source/elements/shell/coque/ceveci.F
36!|| cinmas ../starter/source/elements/shell/coque/cinmas.F
37!|| cveok3 ../starter/source/elements/shell/coque/cveok3.F
38!|| dtmain ../starter/source/materials/time_step/dtmain.F
39!|| s10coor3_old ../starter/source/elements/solid/solide10/s10coor3.F
40!|| s10deri3 ../starter/source/elements/solid/solide10/s10deri3.F
41!|| s10len3 ../starter/source/elements/solid/solide10/s10len3.F
42!|| s10mass3 ../starter/source/elements/solid/solide10/s10mass3.F
43!|| s4coor3 ../starter/source/elements/solid/solide4/s4coor3.F
44!|| s4deri3 ../starter/source/elements/solid/solide4/s4deri3.F
45!|| s4mass3 ../starter/source/elements/solid/solide4/s4mass3.F
46!|| scoor3 ../starter/source/elements/solid/solide/scoor3.F
47!|| sderi3 ../starter/source/elements/solid/solide/sderi3.F
48!|| sdlen3 ../starter/source/elements/solid/solide/sdlen3.F
49!|| smass3 ../starter/source/elements/solid/solide/smass3.F
50!||--- uses -----------------------------------------------------
51!|| defaults_mod ../starter/source/modules/defaults_mod.F90
52!|| drape_mod ../starter/share/modules1/drape_mod.F
53!|| stack_mod ../starter/share/modules1/stack_mod.F
54!||====================================================================
55 SUBROUTINE inirig_mat(IXC ,IXS ,IXTG ,IXS10 ,X ,
56 2 V ,PM ,GEO ,MS ,IN ,
57 3 PTG ,MSC ,MSS ,MSTG ,INC ,
58 4 INTG,THKC ,THKT ,PARTSAV,IPARTS ,
59 5 IPARTC ,IPARTT ,VEUL ,DTELEM ,IHBE ,
60 6 ISOLNOD,NVC ,I8MI ,MSNF ,MSSF ,
61 7 IGEO ,ETNOD ,NSHNOD ,STC ,STTG ,
62 8 WMA ,SH4TREE,SH3TREE,MCP ,MCPC ,
63 9 TEMP ,MCPS ,MSSX ,MCPSX ,INS ,
64 A STIFN ,STIFR ,CONNEC ,IRIG_NODE,NUMEL,
65 B NINDX ,XREFC ,XREFTG ,XREFS ,MSSA ,
66 C SH3TRIM,ISUBSTACK,BUFMAT,IPM ,STACK ,
67 D RNOISE ,STRC ,STRTG ,PERTURB ,NEL ,
68 E GROUP_PARAM ,IGTYP ,DEFAULTS,GLOB_THERM)
69C-----------------------------------------------
70C M o d u l e s
71C-----------------------------------------------
72 USE elbufdef_mod
73 USE stack_mod
74 USE group_param_mod
75 USE defaults_mod
76 use glob_therm_mod
77 USE drape_mod
78 use element_mod , only : nixs,nixc,nixtg
79C-----------------------------------------------
80C I m p l i c i t T y p e s
81C-----------------------------------------------
82#include "implicit_f.inc"
83C-----------------------------------------------
84C G l o b a l P a r a m e t e r s
85C-----------------------------------------------
86#include "mvsiz_p.inc"
87C-----------------------------------------------
88C C o m m o n B l o c k s
89C-----------------------------------------------
90#include "vect01_c.inc"
91#include "param_c.inc"
92#include "scr03_c.inc"
93#include "com01_c.inc"
94#include "com04_c.inc"
95#include "remesh_c.inc"
96C-----------------------------------------------
97C D u m m y A r g u m e n t s
98C-----------------------------------------------
99 INTEGER :: NVC, IHBE, ISOLNOD, NUMEL,NINDX,ISUBSTACK,NEL
100 INTEGER ,INTENT(IN) :: IGTYP
101 INTEGER :: IXC(NIXC,*),IXS(NIXS,*),IXTG(NIXTG,*),IXS10(6,*),
102 . IPARTS(*),IPARTC(*),IPARTT(*),IGEO(NPROPGI,*),
103 . NSHNOD(*), SH4TREE(KSH4TREE,*), SH3TREE(*),
104 . IRIG_NODE(*) ,CONNEC(NUMEL, 10),SH3TRIM(*)
105 INTEGER*8 :: I8MI(6,*),IPM(NPROPMI,*),PERTURB(NPERTURB)
106 my_real ::
107 . PM(NPROPM,*), GEO(NPROPG,*),MS(*),MSC(*),MSS(8,*),
108 . MSTG(*),INTG(*),PTG(3,*),IN(*),INC(*),THKC(*),THKT(*),
109 . X(3,*),V(3,*),VEUL(LVEUL,*),DTELEM(*),PARTSAV(20,*),
110 . MSNF(*), MSSF(8,*), WMA(*), ETNOD(*), STC(*), STTG(*),
111 . MCP(*),MCPC(*),TEMP(*),MCPS(8,*),INS(8,*),MCPSX(12,*),
112 . mssx(12,*),stifn(*), stifr(*),
113 . xrefc(4,3,*),xreftg(3,3,*),xrefs(8,3,*), mssa(*),bufmat(*),
114 . rnoise(*),strc(*),strtg(*)
115 TYPE(group_param_) :: GROUP_PARAM
116 TYPE(DEFAULTS_), INTENT(IN) :: DEFAULTS
117 TYPE(glob_therm_) ,intent(in) :: glob_therm
118C-----------------------------------------------
119C L o c a l V a r i a b l e s
120C-----------------------------------------------
121 INTEGER :: I, NDEPAR, NC(20),N,JJ,J,IP,NF1,NF2,IMAT,IPROP,IBID(MVSIZ),NREFSTA,IMAS_DS
122 INTEGER :: NC10(MVSIZ,10)
123 INTEGER, DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4,IX5,IX6,IX7,IX8,MXT,PID,NGL
124 my_real ::
125 . VOID(MVSIZ),
126 . RX(MVSIZ) ,RY(MVSIZ) ,RZ(MVSIZ) ,SX(MVSIZ) ,
127 . SY(MVSIZ) ,SZ(MVSIZ) ,TX(MVSIZ) ,TY(MVSIZ) ,TZ(MVSIZ) ,
128 . f1x(mvsiz) ,f1y(mvsiz) ,f1z(mvsiz) ,
129 . f2x(mvsiz) ,f2y(mvsiz) ,f2z(mvsiz),bid(mvsiz),rhocp(mvsiz),
130 . temp0(mvsiz),fill(mvsiz),bidg(mvsiz),
131 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
132 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
133 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
134 . void6(nel,6), mass(mvsiz),
135 . volp(mvsiz,5),deltax(mvsiz),deltax2(mvsiz),
136 . xx(mvsiz,10), yy(mvsiz,10), zz(mvsiz,10),
137 . vx(mvsiz,10), vy(mvsiz,10), vz(mvsiz,10),
138 . px(mvsiz,10,5),py(mvsiz,10,5),pz(mvsiz,10,5),
139 . masscp(mvsiz),volu(mvsiz),volg(mvsiz),
140 . sti(mvsiz) ,nx(mvsiz,10,5),dtx(mvsiz),stie,
141 . a11,b1,b2,stir,bid1(mvsiz), ddeltax(mvsiz)
142 my_real, DIMENSION(MVSIZ) :: area,vol,rho,aldt,dt,
143 . x1,x2,x3,x4,x5,x6,x7,x8,
144 . y1,y2,y3,y4,y5,y6,y7,y8,
145 . z1,z2,z3,z4,z5,z6,z7,z8,
146 . e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,
147 . x2l,x3l,x4l,y2l,y3l,y4l,x31,y31,z31
148 my_real :: v_piter(nel,3,10)
149C
150 TYPE(elbuf_struct_) ,POINTER :: BIDBUF
151 TYPE (STACK_PLY) :: STACK
152 TYPE (DRAPE_) , DIMENSION(NUMELC_DRAPE+NUMELTG_DRAPE), TARGET :: DRAPE
153
154 DOUBLE PRECISION ::
155 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
156 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
157 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
158 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
159 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
160 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),voldp(mvsiz)
161C-----------------------------------------------
162 bidbuf => null()
163C
164 ibid(1:mvsiz) = 0
165 bid(1:mvsiz) = zero
166 nrefsta = nxref
167 nxref = 0
168 imas_ds = defaults%SOLID%IMAS
169 dtx(1:mvsiz) = zero
170 IF (ity == 1.AND. ismstr == 10) ismstr = 4
171C-----------------------------------------------
172 IF (ity == 1.AND. isolnod == 4)THEN
173C-----------------------------------------------
174C Solid 4 nodes tetrahedron
175 CALL s4coor3(x ,xrefs(1,1,nft+1),ixs(1,nft+1),ngl ,mxt ,
176 . pid ,ix1 ,ix2 ,ix3 ,ix4 ,
177 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
178 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 )
179 DO i=1,nel
180 rho(i) = pm(89,mxt(i))
181 dtelem(nft+i) = 1.e30
182 fill(i) = one
183 rhocp(i) = pm(69,mxt(i))
184 temp0(i) = pm(79,mxt(i))
185 ENDDO
186C
187 DO i=1,nel
188 n = i + nft
189 nindx = nindx + 1
190 nc(1) =ixs(2,n)
191 nc(2) =ixs(4,n)
192 nc(3) =ixs(6,n)
193 nc(4) =ixs(7,n)
194C
195 DO j = 1,4
196 jj = nc(j)
197 irig_node(jj) = 1
198 connec(nindx, j) = nc(j)
199 ENDDO
200 ENDDO
201C
202 CALL s4deri3(vol,veul(1,nft+1) ,geo ,igeo ,rx ,
203 . ry ,rz ,sx ,sy ,
204 . sz ,tx ,ty ,tz ,
205 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
206 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
207 . px1 ,px2 ,px3 ,px4 ,
208 . py1 ,py2 ,py3 ,py4 ,
209 . pz1 ,pz2 ,pz3 ,pz4 ,bid1,
210 . ddeltax,volu ,ngl ,pid ,mxt ,
211 . pm ,voldp )
212C
213 IF(jlag+jale+jeul > 0) THEN
214 CALL s4mass3(
215 1 rho ,ms ,partsav,x ,v ,
216 2 iparts(nft+1),mss(1,nft+1),msnf ,mssf(1,nft+1),wma ,
217 3 rhocp ,mcp ,mcps(1,nft+1) ,temp0,
218 4 temp ,mssa ,ix1 ,ix2 ,ix3 ,ix4 ,
219 5 fill, volu ,imas_ds ,glob_therm%NINTEMP)
220 ENDIF
221C
222 CALL dtmain(geo ,pm ,void ,pid ,mxt ,void ,
223 . void ,void ,void ,void ,void ,bufmat,
224 . ddeltax, area, volu, dtx, igeo,igtyp)
225C
226 DO i=1,nel
227 dtelem(nft+i)=dtx(i)
228 stie = fourth * rho(i) * vol(i) / max(em20,dtx(i)*dtx(i))
229 stifn(ixs(2,i+nft))=stifn(ixs(2,i+nft)) + stie
230 stifn(ixs(4,i+nft))=stifn(ixs(4,i+nft)) + stie
231 stifn(ixs(6,i+nft))=stifn(ixs(6,i+nft)) + stie
232 stifn(ixs(7,i+nft))=stifn(ixs(7,i+nft)) + stie
233 ENDDO
234C---------------------------------------------
235 ELSEIF (ity == 1.AND. isolnod == 10)THEN
236C---------------------------------------------
237C Solid 10 nodes tetrahedron-
238 nf1 = nft+1
239 nf2 = nf1-numels8
240 CALL s10coor3_old(x,v,ixs(1,nf1),ixs10(1,nf2),
241 . xx, yy, zz, vx, vy, vz, nc10,
242 . ngl,mxt,pid,mass,dtelem(nft+1),sti,
243 . void6,void,void,void,
244 . temp0, temp ,nel,glob_therm%NINTEMP)
245 CALL s10deri3(volp,ngl,
246 . xx, yy, zz, px,py,pz, nx,
247 . rx, ry, rz, sx, sy, sz, tx, ty, tz,volu,void,
248 . bidbuf,volg)
249 CALL s10len3(volp,ngl,deltax,deltax2,
250 . px,py,pz,volu,void,volg,
251 . rx, ry, rz, sx, sy, sz, tx, ty, tz,
252 . nel,mxt,pm,v_piter,ibid)
253C
254 DO i=1,nel
255 masscp(i) = zero
256 mass(i) = zero
257 rho(i) = pm(89,mxt(i))
258 fill(i) = one
259 dtelem(nft+i) = 1.e30
260 rhocp(i) = pm(69,mxt(i))
261 temp0(i) = pm(79,mxt(i))
262 ENDDO
263 DO ip=1,npt
264 DO i=1,nel
265 mass(i) = mass(i) + volp(i,ip)*rho(i)
266 sti(i) = sti(i) + rho(i) * volp(i,ip) /
267 . max(em20,dtx(i)*dtx(i))
268 ENDDO
269 ENDDO
270C
271 CALL s10mass3(mass,ms,partsav,iparts(nf1),mss(1,nf1),volu,
272 . xx ,yy ,zz ,vx ,vy ,vz ,
273 . nc10 ,sti,stifn ,deltax2 ,mssx(1,nf1),masscp,
274 . mcp ,mcps(1,nf1),mcpsx(1,nf1),in ,stifr,
275 . ins(1,nf1),mssa ,x ,fill ,imas_ds)
276C
277C Create dependency to rigid material
278 DO i=1,nel
279 nindx = nindx + 1
280 n = i + nft
281 nc(1) = nc10(i,1)
282 nc(2) = nc10(i,2)
283 nc(3) = nc10(i,3)
284 nc(4) = nc10(i,4)
285 nc(5) = nc10(i,5)
286 nc(6) = nc10(i,6)
287 nc(7) = nc10(i,7)
288 nc(8) = nc10(i,8)
289 nc(9) = nc10(i,9)
290 nc(10) = nc10(i,10)
291 DO j = 1,10
292 IF(nc(j) > 0 ) THEN
293 jj = nc(j)
294 irig_node(jj) = 1
295 connec(nindx,j) = jj
296 ENDIF
297 ENDDO
298 ENDDO
299c--------------------------------------
300 ELSEIF(ity == 1.AND.isolnod == 16)THEN
301C Solid 16 nodes brick not supported
302 ELSEIF(ity == 1.AND.isolnod == 20)THEN
303C Solid 20 nodes brick not supported
304C--------------------------------------
305 ELSEIF(ity == 1)THEN
306C--------------------------------------
307C Solid 8 nodes brick
308 DO i=1,nel
309 rhocp(i) = zero
310 temp0(i) = zero
311 ENDDO
312C
313C Creation of the dependency on mat_rigid
314 DO i=1,nel
315 n = i + nft
316 nindx = nindx + 1
317 nc(1) =ixs(2, n)
318 nc(2) =ixs(3, n)
319 nc(3) =ixs(4, n)
320 nc(4) =ixs(5, n)
321 nc(5) =ixs(6, n)
322 nc(6) =ixs(7, n)
323 nc(7) =ixs(8, n)
324 nc(8) =ixs(9, n)
325C
326 DO j = 1,8
327 jj = nc(j)
328 irig_node(jj) = 1
329 IF(nc(j) > 0) connec(nindx, j) = nc(j)
330 ENDDO
331 ENDDO
332C
333 CALL scoor3(x,xrefs(1,1,nft+1),ixs(1,nft+1) ,geo ,mxt ,pid ,ngl ,
334 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
335 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
336 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
337 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
338 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
339 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
340 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0, temp,glob_therm%NINTEMP,
341 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
342 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
343 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
344
345 DO i=1,nel
346 rho(i) = pm(89,mxt(i))
347 dtelem(nft+i) = ep30
348 fill(i) = one
349 ENDDO
350 CALL sderi3(vol,veul(1,nft+1),geo,igeo,
351 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
352 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
353 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
354 . rx ,ry ,rz ,sx ,sy ,sz ,ngl ,pid ,
355 . px1 ,px2 ,px3 ,px4 ,py1 ,py2 ,py3 ,py4 ,
356 . pz1 ,pz2 ,pz3 ,pz4 ,volu ,voldp,nel ,jeul ,
357 . nxref,imulti_fvm )
358 CALL sdlen3(
359 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
360 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
361 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8,
362 . ddeltax, volu)
363 CALL smass3(
364 1 rho ,ms ,partsav,x ,v ,
365 2 iparts(nft+1),mss(1,nft+1) ,volu ,
366 3 msnf ,mssf(1,nft+1),in ,
367 4 void ,ins ,wma , rhocp ,mcp ,
368 5 mcps(1,nft+1),mssa ,bid ,bid ,fill,
369 6 ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
370C
371C Time Step element
372 CALL dtmain(geo ,pm ,void ,pid ,mxt ,void ,
373 . void ,void ,void ,void ,void ,bufmat, ddeltax, area, volu, dtx , igeo,igtyp)
374C
375 DO i=1,nel
376 n = i + nft
377 dtelem(n)= ep30
378 stie = fourth * rho(i) * vol(i) / max(em20,dtx(i)*dtx(i))
379 stifn(ixs(2,n))=stifn(ixs(2,n))+stie
380 stifn(ixs(3,n))=stifn(ixs(3,n))+stie
381 stifn(ixs(4,n))=stifn(ixs(4,n))+stie
382 stifn(ixs(5,n))=stifn(ixs(5,n))+stie
383 stifn(ixs(6,n))=stifn(ixs(6,n))+stie
384 stifn(ixs(7,n))=stifn(ixs(7,n))+stie
385 stifn(ixs(8,n))=stifn(ixs(8,n))+stie
386 stifn(ixs(9,n))=stifn(ixs(9,n))+stie
387 ENDDO
388C--------------------------------------
389 ELSEIF (ity==3) THEN
390C--------------------------------------
391C 4-nodes shell
392 imat = ixc(1,1+nft) ! material number
393 iprop = ixc(nixc-1,1+nft) ! property number
394C
395 CALL ccoori(x,xrefc(1,1,nft+1),ixc(1,nft+1),
396 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
397 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
398 . ix1 ,ix2 ,ix3 ,ix4 ,ngl )
399C
400 CALL cveok3(nvc,4,ix1,ix2,ix3,ix4)
401 CALL ceveci(lft ,llt ,area,
402 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
403 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
404 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
405C
406 CALL cinmas(x,xrefc(1,1,nft+1),ixc,geo,pm,ms,in,
407 . thkc,ihbe,partsav,v,ipartc(nft+1),
408 . msc(nft+1),inc(nft+1),area ,
409 . i8mi ,igeo ,etnod ,imat ,iprop ,
410 . nshnod ,stc(nft+1),sh4tree ,mcp ,mcpc(nft+1) ,
411 . temp ,bid , bid,bid,bid,
412 . bid,bid,isubstack,ibid,bidbuf,
413 . stack,bidg, rnoise ,drape ,glob_therm%NINTEMP,
414 . perturb,ix1 ,ix2 ,ix3 ,ix4 ,ibid, ibid )
415 CALL cderii(px1 ,px2 ,py1 ,py2,
416 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
417 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
418 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
419 . x2l ,x3l ,x4l ,y2l ,y3l ,y4l )
420C
421C Nodal time step
422 IF(nadmesh == 0)THEN
423 DO i=1,nel
424 n=nft+i
425 a11 =pm(24,imat)
426 b1 = px1(i)*px1(i)+py1(i)*py1(i)
427 b2 = px2(i)*px2(i)+py2(i)*py2(i)
428 stie = max(b1,b2) * thkc(i) * a11 / area(i)
429 stir = one_over_12*stie * (thkc(i)*thkc(i) + area(i))
430 stifn(ixc(2,n))=stifn(ixc(2,n))+stie
431 stifn(ixc(3,n))=stifn(ixc(3,n))+stie
432 stifn(ixc(4,n))=stifn(ixc(4,n))+stie
433 stifn(ixc(5,n))=stifn(ixc(5,n))+stie
434 stifr(ixc(2,n))=stifr(ixc(2,n))+stir
435 stifr(ixc(3,n))=stifr(ixc(3,n))+stir
436 stifr(ixc(4,n))=stifr(ixc(4,n))+stir
437 stifr(ixc(5,n))=stifr(ixc(5,n))+stir
438 strc(n) = stir
439 ENDDO
440 ELSE
441 DO i=1,nel
442 n=nft+i
443 IF(sh4tree(3,n) >= 0)THEN
444 a11 =pm(24,imat)
445 b1 = px1(i)*px1(i)+py1(i)*py1(i)
446 b2 = px2(i)*px2(i)+py2(i)*py2(i)
447 stie = max(b1,b2) * thkc(i) * a11 / area(i)
448 stir = one_over_12*stie * (thkc(i)*thkc(i) + area(i))
449 stifn(ixc(2,n))=stifn(ixc(2,n))+stie
450 stifn(ixc(3,n))=stifn(ixc(3,n))+stie
451 stifn(ixc(4,n))=stifn(ixc(4,n))+stie
452 stifn(ixc(5,n))=stifn(ixc(5,n))+stie
453 stifr(ixc(2,n))=stifr(ixc(2,n))+stir
454 stifr(ixc(3,n))=stifr(ixc(3,n))+stir
455 stifr(ixc(4,n))=stifr(ixc(4,n))+stir
456 stifr(ixc(5,n))=stifr(ixc(5,n))+stir
457 strc(n) = stir
458 END IF
459 END DO
460 END IF
461
462 ndepar=numels+nft
463 DO i=1,nel
464 dtelem(ndepar+i) = ep30
465 ENDDO
466C
467C Create dependency to rigid material
468 DO i=1,nel
469 n = i + nft
470 nindx = nindx + 1
471 nc(1) = ixc(2, n)
472 nc(2) = ixc(3, n)
473 nc(3) = ixc(4, n)
474 nc(4) = ixc(5, n)
475 connec(nindx,1) = nc(1)
476 connec(nindx,2) = nc(2)
477 connec(nindx,3) = nc(3)
478 connec(nindx,4) = nc(4)
479C
480 irig_node(nc(1)) = 1
481 irig_node(nc(2)) = 1
482 irig_node(nc(3)) = 1
483 irig_node(nc(4)) = 1
484 ENDDO
485C--------------------------------------
486 ELSEIF(ity==7)THEN
487C--------------------------------------
488C 3-nodes shell
489 imat = ixtg(1,1+nft) ! material number
490 iprop = ixtg(nixtg-1,1+nft) ! property number
491C
492 CALL c3coori(x,xreftg(1,1,nft+1),ixtg(1,nft+1),ngl,
493 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
494 . z1 ,z2 ,z3 ,ix1 ,ix2 ,ix3 )
495 CALL c3veok3(nvc ,ix1 ,ix2 ,ix3)
496 CALL c3evec3(lft,llt,area,
497 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
498 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
499 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
500 . x31, y31, z31 ,x2l ,x3l ,y3l )
501 CALL c3inmas(x,xreftg(1,1,nft+1),ixtg,geo,pm,ms,in,thkt,
502 . partsav,v,ipartt(nft+1),mstg(nft+1),intg(nft+1),
503 . ptg(1,nft+1),igeo ,imat ,iprop ,area ,
504 . etnod,nshnod,sttg(nft+1), sh3tree,mcp ,
505 . mcps(1,nft+1) , temp,sh3trim,isubstack,ibid,
506 . bidbuf, stack,bidg ,rnoise,drape,
507 . perturb,ix1 ,ix2 ,ix3 ,glob_therm%NINTEMP,
508 . x2l ,x3l ,y3l , ibid, ibid )
509 CALL c3derii(lft,llt,pm,geo,px1,py1,py2,s
510 . tifn ,stifr ,ixtg(1,nft+1),
511 . thkt,sh3tree,aldt,bufmat , ipm ,igeo ,
512 . stack%PM , isubstack, strtg(nft+1),imat,iprop,
513 . area ,dt ,x31 ,y31 ,z31 ,
514 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,
515 . e1z ,e2z ,e3z ,x2l ,x3l ,y3l ,
516 . group_param)
517C
518 ndepar=numels+numelc+numelt+numelp+numelr+nft
519 DO i=1,nel
520 dtelem(ndepar+i) = ep30
521 ENDDO
522C
523C Create dependency to rigid material
524 DO i=1,nel
525 n = i + nft
526 nindx = nindx + 1
527 nc(1) = ixtg(2, n)
528 nc(2) = ixtg(3, n)
529 nc(3) = ixtg(4, n)
530C
531 connec(nindx , 1) = nc(1)
532 connec(nindx , 2) = nc(2)
533 connec(nindx , 3) = nc(3)
534C
535 irig_node(nc(1)) = 1
536 irig_node(nc(2)) = 1
537 irig_node(nc(3)) = 1
538 ENDDO
539 ENDIF
540C
541 nxref = nrefsta
542C-----------
543 RETURN
544 END SUBROUTINE inirig_mat
545
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 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 ccoori(x, xrefc, ixc, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, ix1, ix2, ix3, ix4, ngl)
Definition ccoori.F:40
subroutine cderii(px1, px2, py1, py2, x1g, x2g, x3g, x4g, y1g, y2g, y3g, y4g, z1g, z2g, z3g, z4g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x2l, x3l, x4l, y2l, y3l, y4l)
Definition cderii.F:35
subroutine ceveci(jft, jlt, area, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition ceveci.F:37
subroutine cinmas(x, xrefc, ix, geo, pm, ms, tiner, thke, ihbe, partsav, v, ipart, msc, inc, area, i8mi, igeo, etnod, imid, iprop, nshnod, stc, sh4tree, mcp, mcps, temp, ms_layer, zi_layer, ms_layerc, zi_layerc, msz2c, zply, isubstack, nlay, elbuf_str, stack, thki, rnoise, drape, nintemp, perturb, ix1, ix2, ix3, ix4, idrape, indx)
Definition cinmas.F:95
subroutine cveok3(nvc, nod, ix1, ix2, ix3, ix4)
Definition cveok3.F:35
subroutine dtmain(geo, pm, ipm, pid, mat, fv, eint, temp, deltax, rk, re, bufmat, ddeltax, aire, vol, dtx, igeo, igtyp)
Definition dtmain.F:68
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine inirig_mat(ixc, ixs, ixtg, ixs10, x, v, pm, geo, ms, in, ptg, msc, mss, mstg, inc, intg, thkc, thkt, partsav, iparts, ipartc, ipartt, veul, dtelem, ihbe, isolnod, nvc, i8mi, msnf, mssf, igeo, etnod, nshnod, stc, sttg, wma, sh4tree, sh3tree, mcp, mcpc, temp, mcps, mssx, mcpsx, ins, stifn, stifr, connec, irig_node, numel, nindx, xrefc, xreftg, xrefs, mssa, sh3trim, isubstack, bufmat, ipm, stack, rnoise, strc, strtg, perturb, nel, group_param, igtyp, defaults, glob_therm)
Definition inirig_mat.F:69
#define max(a, b)
Definition macros.h:21
subroutine s10mass3(mass, ms, partsav, ipart, mss, volu, xx, yy, zz, vx, vy, vz, nc, sti, stifn, deltax2, mssx, masscp, mcp, mcps, mcpsx, in, stifr, ins, mssa, x, fill, imas_ds)
Definition s10mass3.F:37
subroutine s4mass3(rho, ms, partsav, x, v, ipart, mss, msnf, mssf, wma, rhocp, mcp, mcps, temp0, temp, mssa, ix1, ix2, ix3, ix4, fill, volu, imas_ds, nintemp)
Definition s4mass3.F:41
subroutine smass3(rho, ms, partsav, x, v, ipart, mss, volu, msnf, mssf, in, vr, ins, wma, rhocp, mcp, mcps, mssa, rhof, frac, fill, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
Definition smass3.F:44
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 s10coor3_old(x, v, ixs, ixs10, xx, yy, zz, vx, vy, vz, nc, ngl, mxt, ngeo, mass, dtelem, sti, sigg, eintg, rhog, qg, temp0, temp, nel, nintemp)
Definition s10coor3.F:227
subroutine s10deri3(vol, ngl, xx, yy, zz, px, py, pz, nx, rx, ry, rz, sx, sy, sz, tx, ty, tz, volu, voln, elbuf_str, volg)
Definition s10deri3.F:39
subroutine s10len3(vol, ngl, deltax, deltax2, px, py, pz, volu, voln, volg, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel, mxt, pm, v_piter, iint)
Definition s10len3.F:33
subroutine s4coor3(x, xrefs, ixs, ngl, mxt, ngeo, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4coor3.F:40
subroutine s4deri3(vol, veul, geo, igeo, rx, ry, rz, sx, sy, sz, tx, ty, tz, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, deltax, det, ngl, ngeo, mxt, pm, voldp)
Definition s4deri3.F:47
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition scoor3.F:52
subroutine sderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac1, jac2, jac3, jac4, jac5, jac6, ngl, ngeo, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, det, voldp, nel, jeul, nxref, imulti_fvm)
Definition sderi3.F:44
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
Definition sdlen3.F:41