OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s6cinit3.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!|| s6cinit3 ../starter/source/elements/thickshell/solide6c/s6cinit3.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| atheri ../starter/source/ale/atheri.F
30!|| dtmain ../starter/source/materials/time_step/dtmain.F
31!|| failini ../starter/source/elements/solid/solide/failini.F
32!|| fretitl2 ../starter/source/starter/freform.F
33!|| matini ../starter/source/materials/mat_share/matini.F
34!|| s6ccoor3 ../starter/source/elements/thickshell/solide6c/s6ccoor3.F
35!|| s6cderi3 ../starter/source/elements/thickshell/solide6c/s6cderi3.F
36!|| s6mass3 ../starter/source/elements/thickshell/solide6c/s6mass3.F
37!|| sbulk3 ../starter/source/elements/solid/solide/sbulk3.F
38!|| scmorth3 ../starter/source/elements/thickshell/solidec/scmorth3.F
39!|| sczero3 ../starter/source/elements/thickshell/solidec/scinit3.F
40!|| sdlensh3n ../starter/source/elements/thickshell/solide6c/s6cinit3.F
41!|| sigin20b ../starter/source/elements/solid/solide20/s20mass3.F
42!|| svalue0 ../starter/source/elements/thickshell/solidec/scinit3.F
43!||--- uses -----------------------------------------------------
44!|| defaults_mod ../starter/source/modules/defaults_mod.F90
45!|| detonators_mod ../starter/share/modules1/detonators_mod.F
46!|| message_mod ../starter/share/message_module/message_mod.F
47!||====================================================================
48 SUBROUTINE s6cinit3(
49 . ELBUF_STR,MAS ,IXS ,PM ,X ,
50 . DETONATORS,GEO ,VEUL ,ALE_CONNECTIVITY,IPARG ,
51 . DTELEM ,SIGI ,NEL ,SKEW ,IGEO ,
52 . STIFN ,PARTSAV ,V ,IPARTS ,MSS ,
53 . IPART ,GLOB_THERM,
54 . SIGSP ,NSIGI ,IPM ,IUSER ,NSIGS ,
55 . VOLNOD ,BVOLNOD ,VNS ,BNS ,PTSOL ,
56 . BUFMAT ,MCP ,MCPS ,MCPSX ,TEMP ,
57 . NPF ,TF ,STRSGLOB,STRAGLOB ,MSSA ,
58 . ORTHOGLOB,FAIL_INI,ILOADP ,FACLOAD ,RNOISE,
59 . PERTURB ,MAT_PARAM,DEFAULTS_SOLID)
60C-----------------------------------------------
61C D e s c r i p t i o n
62C Initialization of thick shell PA6 element
63C-----------------------------------------------
64C M o d u l e s
65C-----------------------------------------------
66 USE elbufdef_mod
67 USE message_mod
70 USE matparam_def_mod
71 USE defaults_mod
73 use glob_therm_mod
74C-----------------------------------------------
75C I m p l i c i t T y p e s
76C-----------------------------------------------
77#include "implicit_f.inc"
78C-----------------------------------------------
79C G l o b a l P a r a m e t e r s
80C-----------------------------------------------
81#include "mvsiz_p.inc"
82C-----------------------------------------------
83C C o m m o n B l o c k s
84C-----------------------------------------------
85#include "com04_c.inc"
86#include "param_c.inc"
87#include "scr12_c.inc"
88#include "scr17_c.inc"
89#include "scry_c.inc"
90#include "vect01_c.inc"
91C-----------------------------------------------
92C D u m m y A r g u m e n t s
93C-----------------------------------------------
94 INTEGER IXS(NIXS,*), IPARG(*),IPARTS(*),
95 . NEL, IPART(LIPART1,*),PERTURB(NPERTURB),
96 . IPM(NPROPMI,*), PTSOL(*), NSIGI, IUSER, NSIGS, NPF(*)
97 INTEGER IGEO(NPROPGI,*),STRSGLOB(*),STRAGLOB(*),ORTHOGLOB(*),
98 . FAIL_INI(*)
99 my_real
100 . MAS(*), PM(NPROPM,*), X(*), GEO(NPROPG,*),
101 . VEUL(LVEUL,*), DTELEM(*),SIGI(NSIGS,*),SKEW(LSKEW,*),STIFN(*),
102 . PARTSAV(20,*), V(*), MSS(8,*),SIGSP(NSIGI,*),
103 . VOLNOD(*), BVOLNOD(*), VNS(8,*), BNS(8,*),BUFMAT(*),MCP(*),
104 . MCPS(8,*), MCPSX(12,*),TEMP(*), TF(*), MSSA(*),RNOISE(NPERTURB,*)
105 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
106 INTEGER,INTENT(IN) :: ILOADP(SIZLOADP,*)
107 my_real,INTENT(IN) :: FACLOAD(LFACLOAD,*)
108 TYPE(detonators_struct_) :: DETONATORS
109 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
110 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
111 TYPE(SOLID_DEFAULTS_), INTENT(IN) :: DEFAULTS_SOLID
112 type (glob_therm_) ,intent(in) :: glob_therm
113C-----------------------------------------------
114C L o c a l V a r i a b l e s
115C-----------------------------------------------
116 INTEGER I,NF1,IBID,IGTYP,IREP,IP,ILAY,NLAY,NUVAR,NCC,JHBE,
117 . nuvarr,idef,ipang,ipthk,ippos,ipmat,ig,im,mtn0,nlymax,
118 . ipid1,nptr,npts,nptt,l_pla,l_sigb,imas_ds
119 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ), MAT0(MVSIZ)
120 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
121 . ix5(mvsiz), ix6(mvsiz)
122 my_real
123 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz), x5(mvsiz), x6(mvsiz),
124 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz), y5(mvsiz), y6(mvsiz),
125 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz), z5(mvsiz), z6(mvsiz)
126 CHARACTER(LEN=NCHARTITLE)::TITR1
127 my_real
128 . bid, fv, sti, zi,wi
129 my_real
130 . v8loc(51,mvsiz),volu(mvsiz),dtx(mvsiz),vzl(mvsiz),vzq(mvsiz),
131 . rx(mvsiz) ,ry(mvsiz) ,rz(mvsiz) ,sx(mvsiz) ,
132 . sy(mvsiz) ,sz(mvsiz) ,tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
133 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
134 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
135 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
136 . f1x(mvsiz) ,f1y(mvsiz) ,f1z(mvsiz) ,llsh(mvsiz) ,
137 . f2x(mvsiz) ,f2y(mvsiz) ,f2z(mvsiz) ,rhocp(mvsiz),temp0(mvsiz), deltax(mvsiz), aire(mvsiz)
138 my_real :: tempel(nel)
139C-----------------------------------------------
140 TYPE(g_bufel_) ,POINTER :: GBUF
141 TYPE(BUF_LAY_) ,POINTER :: BUFLY
142 TYPE(L_BUFEL_) ,POINTER :: LBUF
143 TYPE(BUF_MAT_) ,POINTER :: MBUF
144C-----------------------------------------------
145 my_real
146 . W_GAUSS(9,9),A_GAUSS(9,9),ANGLE(MVSIZ),DTX0(MVSIZ)
147 DATA W_GAUSS /
148 1 2. ,0. ,0. ,
149 1 0. ,0. ,0. ,
150 1 0. ,0. ,0. ,
151 2 1. ,1. ,0. ,
152 2 0. ,0. ,0. ,
153 2 0. ,0. ,0. ,
154 3 0.555555555555556,0.888888888888889,0.555555555555556,
155 3 0. ,0. ,0. ,
156 3 0. ,0. ,0. ,
157 4 0.347854845137454,0.652145154862546,0.652145154862546,
158 4 0.347854845137454,0. ,0. ,
159 4 0. ,0. ,0. ,
160 5 0.236926885056189,0.478628670499366,0.568888888888889,
161 5 0.478628670499366,0.236926885056189,0. ,
162 5 0. ,0. ,0. ,
163 6 0.171324492379170,0.360761573048139,0.467913934572691,
164 6 0.467913934572691,0.360761573048139,0.171324492379170,
165 6 0. ,0. ,0. ,
166 7 0.129484966168870,0.279705391489277,0.381830050505119,
167 7 0.417959183673469,0.381830050505119,0.279705391489277,
168 7 0.129484966168870,0. ,0. ,
169 8 0.101228536290376,0.222381034453374,0.313706645877887,
170 8 0.362683783378362,0.362683783378362,0.313706645877887,
171 8 0.222381034453374,0.101228536290376,0. ,
172 9 0.081274388361574,0.180648160694857,0.260610696402935,
173 9 0.312347077040003,0.330239355001260,0.312347077040003,
174 9 0.260610696402935,0.180648160694857,0.081274388361574/
175 DATA a_gauss /
176 1 0. ,0. ,0. ,
177 1 0. ,0. ,0. ,
178 1 0. ,0. ,0. ,
179 2 -.577350269189626,0.577350269189626,0. ,
180 2 0. ,0. ,0. ,
181 2 0. ,0. ,0. ,
182 3 -.774596669241483,0. ,0.774596669241483,
183 3 0. ,0. ,0. ,
184 3 0. ,0. ,0. ,
185 4 -.861136311594053,-.339981043584856,0.339981043584856,
186 4 0.861136311594053,0. ,0. ,
187 4 0. ,0. ,0. ,
188 5 -.906179845938664,-.538469310105683,0. ,
189 5 0.538469310105683,0.906179845938664,0. ,
190 5 0. ,0. ,0. ,
191 6 -.932469514203152,-.661209386466265,-.238619186083197,
192 6 0.238619186083197,0.661209386466265,0.932469514203152,
193 6 0. ,0. ,0. ,
194 7 -.949107912342759,-.741531185599394,-.405845151377397,
195 7 0. ,0.405845151377397,0.741531185599394,
196 7 0.949107912342759,0. ,0. ,
197 8 -.960289856497536,-.796666477413627,-.525532409916329,
198 8 -.183434642495650,0.183434642495650,0.525532409916329,
199 8 0.796666477413627,0.960289856497536,0. ,
200 9 -.968160239507626,-.836031107326636,-.613371432700590,
201 9 -.324253423403809,0. ,0.324253423403809,
202 9 0.613371432700590,0.836031107326636,0.968160239507626/
203C-----------------------------------------------
204C S o u r c e L i n e s
205C=======================================================================
206 gbuf => elbuf_str%GBUF
207 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
208 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
209 bufly => elbuf_str%BUFLY(1)
210 nptr = elbuf_str%NPTR
211 npts = elbuf_str%NPTS
212 nptt = elbuf_str%NPTT
213 nlay = elbuf_str%NLAY
214C
215 jhbe = iparg(23)
216 irep = iparg(35)
217 igtyp = iparg(38)
218 nf1=nft+1
219 idef =0
220 ibid = 0
221 bid = zero
222 IF (igtyp /= 22) THEN
223 isorth = 0
224 END IF
225 imas_ds = defaults_solid%IMAS
226C
227 DO i=1,nel
228 rhocp(i) = pm(69,ixs(1,nft+i))
229 temp0(i) = pm(79,ixs(1,nft+i))
230 ENDDO
231C
232 CALL s6ccoor3(x ,ixs(1,nf1) ,geo ,ngl ,mat ,pid ,
233 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
234 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
235 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0, temp,glob_therm%NINTEMP,
236 . ix1, ix2, ix3, ix4, ix5, ix6,
237 . x1, x2, x3, x4, x5, x6,
238 . y1, y2, y3, y4, y5, y6,
239 . z1, z2, z3, z4, z5, z6)
240 IF (igtyp == 21 .OR. igtyp == 22) THEN
241 DO i=1,nel
242 angle(i) = geo(1,pid(i))
243 END DO
244 CALL scmorth3(pid ,geo ,igeo ,skew ,irep ,gbuf%GAMA ,
245 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
246 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
247 . ngl ,angle,nsigi,sigsp,nsigs,sigi ,ixs ,1 ,
248 . orthoglob,ptsol,nel)
249 IF (igtyp == 22) THEN
250 nlymax= 200
251 ipang = 200
252 ipthk = ipang+nlymax
253 ippos = ipthk+nlymax
254 ipmat = 100
255 ig=pid(1)
256 mtn0=mtn
257 DO i=1,nel
258 mat0(i)=mat(i)
259 dtx0(i) = ep20
260 ENDDO
261 END IF
262 END IF
263 CALL s6cderi3(nel,gbuf%VOL,geo,vzl,ngl,deltax,volu ,
264 . x1, x2, x3, x4, x5, x6,
265 . y1, y2, y3, y4, y5, y6,
266 . z1, z2, z3, z4, z5, z6)
267 IF (idttsh > 0) THEN
268 CALL sdlensh3n(nel,llsh,
269 . x1, x2, x3, x4, x5, x6,
270 . y1, y2, y3, y4, y5, y6,
271 . z1, z2, z3, z4, z5, z6)
272 DO i=1,nel
273 IF (gbuf%IDT_TSH(i)>0)
274 . deltax(i)=max(llsh(i),deltax(i))
275 ENDDO
276 END IF
277!
278! Initialize element temperature from /initemp
279!
280 IF (jthe == 0 .and. glob_therm%NINTEMP > 0) THEN
281 DO i=1,nel
282 tempel(i) = one_over_8 *(temp(ixs(2,i)) + temp(ixs(3,i))
283 . + temp(ixs(4,i)) + temp(ixs(5,i))
284 . + temp(ixs(6,i)) + temp(ixs(7,i))
285 . + temp(ixs(8,i)) + temp(ixs(9,i)))
286 ENDDO
287 ELSE
288 tempel(1:nel) = temp0(1:nel)
289 END IF
290!
291 ip=0
292 CALL matini(pm ,ixs ,nixs ,x ,
293 . geo ,ale_connectivity ,detonators ,iparg ,
294 . sigi ,nel ,skew ,igeo ,
295 . ipart ,iparts ,
296 . mat ,ipm ,nsigs ,numsol ,ptsol ,
297 . ip ,ngl ,npf ,tf ,bufmat ,
298 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
299 . facload, deltax ,tempel )
300C
301 IF (igtyp == 22) CALL sczero3(gbuf%RHO,gbuf%SIG,gbuf%EINT,nel)
302C----------------------------------------
303C Thermal initialization
304 IF(jthe /=0) CALL atheri(mat,pm,gbuf%TEMP)
305C-----------------------------
306C Loop on integration points
307 DO ilay=1,nlay
308 lbuf => elbuf_str%BUFLY(ilay)%LBUF(1,1,1)
309 mbuf => elbuf_str%BUFLY(ilay)%MAT(1,1,1)
310 l_pla = elbuf_str%BUFLY(ilay)%L_PLA
311 l_sigb= elbuf_str%BUFLY(ilay)%L_SIGB
312c
313 IF (igtyp == 22) THEN
314 zi = geo(ippos+ilay,ig)
315 wi = geo(ipthk+ilay,ig)
316 im=igeo(ipmat+ilay,ig)
317 mtn=nint(pm(19,im))
318 DO i=1,nel
319 mat(i)=im
320 angle(i) = geo(ipang+ilay,pid(i))
321 ENDDO
322 ELSE
323 zi = a_gauss(ilay,nlay)
324 wi = w_gauss(ilay,nlay)
325 ENDIF
326c
327 DO i=1,nel
328 lbuf%VOL0DP(i)= half*wi*(gbuf%VOL(i)+vzl(i)*zi)
329 lbuf%VOL(i)= lbuf%VOL0DP(i)
330 ENDDO
331 IF (igtyp == 22)
332 . CALL scmorth3(pid ,geo ,igeo ,skew ,irep ,lbuf%GAMA ,
333 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
334 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
335 . ngl ,angle,nsigi,sigsp,nsigs,sigi ,ixs,ilay,
336 . orthoglob,ptsol,nel)
337!
338! Initialize element temperature from /initemp
339!
340 IF (jthe == 0 .and. glob_therm%NINTEMP > 0) THEN
341 DO i=1,nel
342 tempel(i) = one_over_8 *(temp(ixs(2,i)) + temp(ixs(3,i))
343 . + temp(ixs(4,i)) + temp(ixs(5,i))
344 . + temp(ixs(6,i)) + temp(ixs(7,i))
345 . + temp(ixs(8,i)) + temp(ixs(9,i)))
346 ENDDO
347 ELSE
348 tempel(1:nel) = temp0(1:nel)
349 END IF
350!
351 CALL matini(pm ,ixs ,nixs ,x ,
352 . geo ,ale_connectivity ,detonators,iparg ,
353 . sigi ,nel ,skew ,igeo ,
354 . ipart ,iparts ,
355 . mat ,ipm ,nsigs ,numsol ,ptsol ,
356 . ilay ,ngl ,npf ,tf ,bufmat ,
357 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
358 . facload, deltax ,tempel )
359 IF (mtn >= 28) THEN
360 nuvar = ipm(8,ixs(1,nft+1))
361 idef =1
362 ELSE
363 nuvar = 0
364 IF(mtn == 14 .OR. mtn == 12)THEN
365 idef =1
366 ELSEIF(mtn == 24)THEN
367 idef =1
368 ELSEIF(istrain == 1)THEN
369 IF(mtn == 1)THEN
370 idef =1
371 ELSEIF(mtn == 2)THEN
372 idef =1
373 ELSEIF(mtn == 4)THEN
374 idef =1
375 ELSEIF(mtn == 3.OR.mtn == 6.OR.mtn == 10
376 . .OR.mtn == 21.OR.mtn == 22.OR.mtn == 23.OR.mtn == 49)THEN
377 idef =1
378 ENDIF
379 ENDIF
380 ENDIF
381 CALL sigin20b(
382 . lbuf%SIG,pm ,lbuf%VOL ,sigsp ,
383 . sigi ,lbuf%EINT,lbuf%RHO,mbuf%VAR ,lbuf%STRA,
384 . ixs ,nixs ,nsigi ,ilay ,nuvar ,
385 . nel ,iuser ,idef ,nsigs ,strsglob ,
386 . straglob,jhbe ,igtyp ,x ,lbuf%GAMA,
387 . mat ,lbuf%PLA ,l_pla ,ptsol ,lbuf%SIGB,
388 . l_sigb ,ipm ,bufmat ,lbuf%VOL0DP)
389c
390 IF(igtyp == 22) THEN
391C moyene density,sig,...---
392 aire(:) = zero
393 CALL dtmain(geo ,pm ,ipm ,pid ,mat ,fv ,
394 . lbuf%EINT ,lbuf%TEMP ,lbuf%DELTAX ,lbuf%RK ,lbuf%RE ,bufmat, deltax, aire,
395 . volu, dtx , igeo,igtyp)
396C
397 CALL svalue0(
398 . lbuf%RHO,lbuf%VOL,lbuf%OFF,lbuf%SIG,lbuf%EINT,dtx,
399 . gbuf%RHO,gbuf%VOL,gbuf%OFF,gbuf%SIG,gbuf%EINT,dtx0,
400 . nel )
401 ENDIF
402 ENDDO ! ILAY = 1,NLAY
403C----------------------------------------
404 IF(igtyp == 22) THEN
405 mtn=mtn0
406 DO i=1,nel
407 mat(i)=mat0(i)
408 ENDDO
409 ENDIF
410C----------------------------------------
411C Mass initialization
412 CALL s6mass3(gbuf%RHO,mas,partsav,x,v,iparts(nf1),mss(1,nf1),
413 . rhocp,mcp ,mcps(1,nf1),mssa(nf1),gbuf%FILL, volu,
414 . ix1, ix2, ix3, ix4, ix5, ix6,imas_ds)
415C----------------------------------------
416C Failure model initialization
417 CALL failini(elbuf_str,nptr,npts,nptt,nlay,
418 . ipm,sigsp,nsigi,fail_ini ,
419 . sigi,nsigs,ixs,nixs,ptsol,
420 . rnoise,perturb,mat_param)
421C------------------------------------------
422C Assemble nodal volumes and moduli for interface stiffness
423C Warning : IX1, IX2 ... IX6 <=> NC(MVSIZ,6)
424 IF(i7stifs/=0)THEN
425 ncc=6
426 CALL sbulk3(volu ,ix1 ,ncc,mat,pm ,
427 2 volnod,bvolnod,vns(1,nf1),bns(1,nf1),bid,
428 3 bid ,gbuf%FILL)
429 ENDIF
430C------------------------------------------
431C Element time step
432 aire(:) = zero
433 CALL dtmain(geo ,pm ,ipm ,pid ,mat ,fv ,
434 . lbuf%EINT ,lbuf%TEMP ,lbuf%DELTAX ,lbuf%RK ,lbuf%RE ,bufmat, deltax, aire,
435 . volu, dtx, igeo,igtyp)
436C------------------------------------------
437 IF(igtyp == 22) THEN
438 DO i=1,nel
439 dtx(i)=dtx0(i)
440 ENDDO
441 ENDIF
442c
443 DO i=1,nel
444 IF(ixs(10,i+nft) /= 0) THEN
445 IF (igtyp < 20 .OR. igtyp > 22) THEN
446 ipid1=ixs(nixs-1,i+nft)
447 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,ipid1),ltitr)
448 CALL ancmsg(msgid=226,
449 . msgtype=msgerror,
450 . anmode=aninfo_blind_1,
451 . i1=igeo(1,ipid1),
452 . c1=titr1,
453 . i2=igtyp)
454 ENDIF
455 ENDIF
456 dtelem(nft+i)=dtx(i)
457 sti = fourth * gbuf%FILL(i) * gbuf%RHO(i) * volu(i) /
458 . max(em20,dtx(i)*dtx(i))
459 stifn(ixs(2,i+nft))=stifn(ixs(2,i+nft))+sti
460 stifn(ixs(3,i+nft))=stifn(ixs(3,i+nft))+sti
461 stifn(ixs(4,i+nft))=stifn(ixs(4,i+nft))+sti
462 stifn(ixs(5,i+nft))=stifn(ixs(5,i+nft))+sti
463 stifn(ixs(6,i+nft))=stifn(ixs(6,i+nft))+sti
464 stifn(ixs(7,i+nft))=stifn(ixs(7,i+nft))+sti
465 stifn(ixs(8,i+nft))=stifn(ixs(8,i+nft))+sti
466 stifn(ixs(9,i+nft))=stifn(ixs(9,i+nft))+sti
467 ENDDO
468C-----------
469 RETURN
470 END SUBROUTINE s6cinit3
471!||====================================================================
472!|| sdlensh3n ../starter/source/elements/thickshell/solide6c/s6cinit3.F
473!||--- called by ------------------------------------------------------
474!|| s6cinit3 ../starter/source/elements/thickshell/solide6c/s6cinit3.F
475!||====================================================================
476 SUBROUTINE sdlensh3n(NEL,LLSH3N,
477 . X1, X2, X3, X4, X5, X6,
478 . Y1, Y2, Y3, Y4, Y5, Y6,
479 . Z1, Z2, Z3, Z4, Z5, Z6)
480C-----------------------------------------------
481C I m p l i c i t T y p e s
482C-----------------------------------------------
483#include "implicit_f.inc"
484C-----------------------------------------------
485C G l o b a l P a r a m e t e r s
486C-----------------------------------------------
487#include "mvsiz_p.inc"
488C-----------------------------------------------
489C D u m m y A r g u m e n t s
490C-----------------------------------------------
491 INTEGER :: NEL
492 my_real,DIMENSION(MVSIZ),INTENT(OUT) :: LLSH3N
493 my_real,DIMENSION(MVSIZ),INTENT(IN) ::
494 . X1, X2, X3, X4, X5, X6,
495 . Y1, Y2, Y3, Y4, Y5, Y6,
496 . Z1, Z2, Z3, Z4, Z5, Z6
497C-----------------------------------------------
498C L o c a l V a r i a b l e s
499C-----------------------------------------------
500 INTEGER I
501 my_real
502 . E1X(MVSIZ), E1Y(MVSIZ), E1Z(MVSIZ),
503 . E2X(MVSIZ), E2Y(MVSIZ), E2Z(MVSIZ),
504 . E3X(MVSIZ), E3Y(MVSIZ), E3Z(MVSIZ),
505 . x31(mvsiz), y31(mvsiz), z31(mvsiz),
506 . x32(mvsiz), y32(mvsiz), z32(mvsiz),
507 . x21(mvsiz), y21(mvsiz), z21(mvsiz), area(mvsiz),
508 . x2l(mvsiz), x3l(mvsiz), y3l(mvsiz),
509 . xn(mvsiz,3) , yn(mvsiz,3) , zn(mvsiz,3)
510 my_real
511 . al1,al2,al3,almax,sum
512C=======================================================================
513 DO i=1,nel
514 xn(i,1) = half*(x1(i)+x4(i))
515 yn(i,1) = half*(y1(i)+y4(i))
516 zn(i,1) = half*(z1(i)+z4(i))
517 xn(i,2) = half*(x2(i)+x5(i))
518 yn(i,2) = half*(y2(i)+y5(i))
519 zn(i,2) = half*(z2(i)+z5(i))
520 xn(i,3) = half*(x3(i)+x6(i))
521 yn(i,3) = half*(y3(i)+y6(i))
522 zn(i,3) = half*(z3(i)+z6(i))
523 ENDDO
524 DO i=1,nel
525 x21(i)=xn(i,2)-xn(i,1)
526 y21(i)=yn(i,2)-yn(i,1)
527 z21(i)=zn(i,2)-zn(i,1)
528 x31(i)=xn(i,3)-xn(i,1)
529 y31(i)=yn(i,3)-yn(i,1)
530 z31(i)=zn(i,3)-zn(i,1)
531 x32(i)=xn(i,3)-xn(i,2)
532 y32(i)=yn(i,3)-yn(i,2)
533 z32(i)=zn(i,3)-zn(i,2)
534 ENDDO
535C
536 DO i=1,nel
537 e1x(i)= x21(i)
538 e1y(i)= y21(i)
539 e1z(i)= z21(i)
540 x2l(i) = sqrt(e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i))
541 e1x(i)=e1x(i)/x2l(i)
542 e1y(i)=e1y(i)/x2l(i)
543 e1z(i)=e1z(i)/x2l(i)
544 ENDDO
545C
546 DO i=1,nel
547 e3x(i)=y31(i)*z32(i)-z31(i)*y32(i)
548 e3y(i)=z31(i)*x32(i)-x31(i)*z32(i)
549 e3z(i)=x31(i)*y32(i)-y31(i)*x32(i)
550 sum = sqrt(e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i))
551 e3x(i)=e3x(i)/sum
552 e3y(i)=e3y(i)/sum
553 e3z(i)=e3z(i)/sum
554 area(i) = half * sum
555 ENDDO
556C
557 DO i=1,nel
558 e2x(i)=e3y(i)*e1z(i)-e3z(i)*e1y(i)
559 e2y(i)=e3z(i)*e1x(i)-e3x(i)*e1z(i)
560 e2z(i)=e3x(i)*e1y(i)-e3y(i)*e1x(i)
561 sum = sqrt(e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i))
562 e2x(i)=e2x(i)/sum
563 e2y(i)=e2y(i)/sum
564 e2z(i)=e2z(i)/sum
565 y3l(i)=e2x(i)*x31(i)+e2y(i)*y31(i)+e2z(i)*z31(i)
566 x3l(i)=e1x(i)*x31(i)+e1y(i)*y31(i)+e1z(i)*z31(i)
567 ENDDO
568C
569 DO i=1,nel
570 al1 = x2l(i) * x2l(i)
571 al2 = (x3l(i)-x2l(i)) * (x3l(i)-x2l(i)) + y3l(i) * y3l(i)
572 al3 = x3l(i) * x3l(i) + y3l(i) * y3l(i)
573 almax = max(al1,al2,al3)
574 llsh3n(i)= two*area(i) / sqrt(almax)
575 ENDDO
576C
577 RETURN
578 END SUBROUTINE sdlensh3n
subroutine atheri(mat, pm, temp)
Definition atheri.F:41
subroutine dtmain(geo, pm, ipm, pid, mat, fv, eint, temp, deltax, rk, re, bufmat, ddeltax, aire, vol, dtx, igeo, igtyp)
Definition dtmain.F:67
subroutine failini(elbuf_str, nptr, npts, nptt, nlay, ipm, sigsp, nsigi, fail_ini, sigi, nsigs, ix, nix, pt, rnoise, perturb, mat_param)
Definition failini.F:43
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define max(a, b)
Definition macros.h:21
subroutine matini(pm, ix, nix, x, geo, ale_connectivity, detonators, iparg, sigi, nel, skew, igeo, ipart, ipartel, mat, ipm, nsig, nums, pt, ipt, ngl, npf, tf, bufmat, gbuf, lbuf, mbuf, elbuf_str, iloadp, facload, ddeltax, tempel)
Definition matini.F:81
integer, parameter nchartitle
subroutine sigin20b(sig, pm, vol, sigsp, sigi, eint, rho, uvar, eps, ix, nix, nsigi, ipt, nuvar, nel, iuser, idef, nsigs, strsglob, straglob, jhbe, igtyp, x, bufgama, mat, epsp, l_pla, pt, sigb, l_sigb, ipm, bufmat, voldp)
Definition s20mass3.F:350
subroutine s6ccoor3(x, ixs, geo, ngl, mxt, ngeo, rx, ry, rz, sx, sy, sz, tx, ty, tz, r11, r21, r31, r12, r22, r32, r13, r23, r33, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, ix1, ix2, ix3, ix4, ix5, ix6, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6)
Definition s6ccoor3.F:41
subroutine sdlensh3n(nel, llsh3n, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6)
Definition s6cinit3.F:480
subroutine s6cinit3(elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ipart, glob_therm, sigsp, nsigi, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, ptsol, bufmat, mcp, mcps, mcpsx, temp, npf, tf, strsglob, straglob, mssa, orthoglob, fail_ini, iloadp, facload, rnoise, perturb, mat_param, defaults_solid)
Definition s6cinit3.F:60
subroutine s6mass3(rho, ms, partsav, x, v, ipart, mss, rhocp, mcp, mcps, mssa, fill, volu, nc1, nc2, nc3, nc4, nc5, nc6, imas_ds)
Definition s6mass3.F:33
subroutine sbulk3(volu, nc, nnc, mat, pm, volnod, bvolnod, vns, bns, vnsx, bnsx, fill)
Definition sbulk3.F:42
subroutine sczero3(rhog, sigg, eintg, nel)
Definition scinit3.F:532
subroutine svalue0(rho, vol, off, sig, eint, dtx, rhog, volg, offg, sigg, eintg, dtxg, nel)
Definition scinit3.F:487
subroutine scmorth3(pid, geo, igeo, skew, irep, gama, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, ngl, angle, nsigi, sigsp, nsigs, sigi, ixs, ilay, orthoglob, pt, nel)
Definition scmorth3.F:40
subroutine s6cderi3(nel, vol, geo, vzl, ngl, deltax, det, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6)
Definition s6cderi3.F:38
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