OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sinit3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "scr03_c.inc"
#include "scr12_c.inc"
#include "scr17_c.inc"
#include "scry_c.inc"
#include "sphcom.inc"
#include "vect01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine sinit3 (elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg_gr, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ipart, sigsp, ng, iparg, nsigi, msnf, nvc, mssf, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, in, vr, ins, wma, ptsol, bufmat, mcp, mcps, temp, xrefs, npf, tf, mssa, strsglob, straglob, fail_ini, spbuf, kxsp, ipartsp, nod2sp, sol2sph, irst, iloadp, facload, rnoise, perturb, mat_param, glob_therm)

Function/Subroutine Documentation

◆ sinit3()

subroutine sinit3 ( type(elbuf_struct_), target elbuf_str,
mas,
integer, dimension(nixs,numels) ixs,
pm,
x,
type(detonators_struct_) detonators,
geo,
veul,
type(t_ale_connectivity), intent(inout) ale_connectivity,
integer, dimension(nparg) iparg_gr,
dtelem,
sigi,
integer nel,
skew,
integer, dimension(npropgi,numgeo) igeo,
stifn,
partsav,
v,
integer, dimension(*) iparts,
mss,
integer, dimension(lipart1,*) ipart,
sigsp,
integer ng,
integer, dimension(nparg,ngroup) iparg,
integer nsigi,
msnf,
integer nvc,
mssf,
integer, dimension(npropmi,nummat) ipm,
integer iuser,
integer nsigs,
volnod,
bvolnod,
vns,
bns,
in,
vr,
ins,
wma,
integer, dimension(*) ptsol,
bufmat,
mcp,
mcps,
temp,
xrefs,
integer, dimension(*) npf,
tf,
mssa,
integer, dimension(*) strsglob,
integer, dimension(*) straglob,
integer, dimension(*) fail_ini,
spbuf,
integer, dimension(nisp,*) kxsp,
integer, dimension(*) ipartsp,
integer, dimension(*) nod2sp,
integer, dimension(2,*) sol2sph,
integer, dimension(3,*) irst,
integer, dimension(sizloadp,*), intent(in) iloadp,
dimension(lfacload,*), intent(in) facload,
rnoise,
integer, dimension(nperturb) perturb,
type (matparam_struct_), dimension(nummat), intent(inout) mat_param,
type (glob_therm_), intent(in) glob_therm )

Definition at line 62 of file sinit3.F.

75C-----------------------------------------------
76C M o d u l e s
77C-----------------------------------------------
78 USE elbufdef_mod
79 USE message_mod
80 USE bpreload_mod
83 USE alefvm_mod , only:alefvm_param
84 USE matparam_def_mod
86 use glob_therm_mod
87 use element_mod , only : nixs
88C-----------------------------------------------
89C I m p l i c i t T y p e s
90C-----------------------------------------------
91#include "implicit_f.inc"
92C-----------------------------------------------
93C G l o b a l P a r a m e t e r s
94C-----------------------------------------------
95#include "mvsiz_p.inc"
96C-----------------------------------------------
97C C o m m o n B l o c k s
98C-----------------------------------------------
99#include "com01_c.inc"
100#include "com04_c.inc"
101#include "param_c.inc"
102#include "scr03_c.inc"
103#include "scr12_c.inc"
104#include "scr17_c.inc"
105#include "scry_c.inc"
106#include "sphcom.inc"
107#include "vect01_c.inc"
108C-----------------------------------------------
109C D u m m y A r g u m e n t s
110C-----------------------------------------------
111 INTEGER IXS(NIXS,NUMELS),IPARG(NPARG,NGROUP),
112 . IPARG_GR(NPARG),IPARTS(*),IGEO(NPROPGI,NUMGEO),
113 . IPM(NPROPMI,NUMMAT),IPART(LIPART1,*),PTSOL(*),
114 . NG,NSIGI ,NVC,NEL,IUSER, NSIGS, NPF(*),
115 . STRSGLOB(*),STRAGLOB(*),FAIL_INI(*),
116 . KXSP(NISP,*), IPARTSP(*), NOD2SP(*), SOL2SPH(2,*), IRST(3,*),
117 . PERTURB(NPERTURB)
118 my_real mas(*), pm(npropm,nummat), x(3,numnod),geo(npropg,numgeo),
119 . veul(lveul,*), dtelem(*),sigi(nsigs,*),skew(lskew,*),stifn(*),
120 . partsav(20,*), v(*), mss(8,*),
121 . sigsp(nsigi,*),msnf(*), mssf(8,*), wma(*),
122 . volnod(*), bvolnod(*), vns(8,*), bns(8,*),
123 . in(*),vr(*), ins(8,*),bufmat(*),
124 . mcp(*), mcps(8,*), temp(*),
125 . xrefs(8,3,*), tf(*), mssa(*),
126 . spbuf(nspbuf,*),rnoise(nperturb,*)
127 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_STR
128 INTEGER,INTENT(IN) :: ILOADP(SIZLOADP,*)
129 my_real,INTENT(IN) :: facload(lfacload,*)
130 TYPE(DETONATORS_STRUCT_)::DETONATORS
131 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
132 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
133 type (glob_therm_) ,intent(in) :: glob_therm
134C-----------------------------------------------
135C L o c a l V a r i a b l e s
136C-----------------------------------------------
137 INTEGER I,J, NF1, NCC, IBID, JHBE, IREP,IGTYP, NUVAR,NUVARR,IDEF,
138 . IR,IS,IT,IPT,LVLOC,IPID1,NPTR,NPTS,NPTT,NLAY,NDDIM,
139 . NSPHDIR, NCELF, NCELL,L_PLA,L_SIGB,IBOLTP
140 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),
141 . IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),
142 . IX5(MVSIZ),IX6(MVSIZ),IX7(MVSIZ),IX8(MVSIZ)
143 my_real
144 . v8loc(51,mvsiz),volu(mvsiz),dtx(mvsiz),
145 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),x5(mvsiz),x6(mvsiz),
146 . x7(mvsiz),x8(mvsiz),y1(mvsiz),y2(mvsiz),y3(mvsiz),y4(mvsiz),
147 . y5(mvsiz),y6(mvsiz),y7(mvsiz),y8(mvsiz),z1(mvsiz),z2(mvsiz),
148 . z3(mvsiz),z4(mvsiz),z5(mvsiz),z6(mvsiz),z7(mvsiz),z8(mvsiz),
149 . rx(mvsiz) ,ry(mvsiz) ,rz(mvsiz) ,sx(mvsiz) ,
150 . sy(mvsiz) ,sz(mvsiz) ,tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
151 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
152 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
153 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
154 . f1x(mvsiz) ,f1y(mvsiz) ,f1z(mvsiz) ,
155 . f2x(mvsiz) ,f2y(mvsiz) ,f2z(mvsiz),rhocp(mvsiz),temp0(mvsiz),
156 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
157 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
158 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
159 . rhof(mvsiz),alpha(mvsiz), aire(mvsiz),rho0(mvsiz)
160 my_real :: bid, fv, sti
161 my_real :: deltax(mvsiz)
162 DOUBLE PRECISION
163 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
164 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
165 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
166 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
167 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
168 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ)
169 my_real :: tempel(nel)
170C-----------------------------------------------
171 CHARACTER(LEN=NCHARTITLE)::TITR1
172C
173 parameter(lvloc = 51)
174C-----------------------------------------------
175 TYPE(L_BUFEL_) ,POINTER :: LBUF
176 TYPE(G_BUFEL_) ,POINTER :: GBUF
177 TYPE(BUF_MAT_) ,POINTER :: MBUF
178 TYPE(BUF_LAY_) ,POINTER :: BUFLY
179 TYPE(BUF_FAIL_) ,POINTER:: FBUF
180 my_real, DIMENSION(:), POINTER :: uvarf
181C-----------------------------------------------
182C S o u r c e L i n e s
183C-----------------------------------------------
184 gbuf => elbuf_str%GBUF
185 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
186 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
187 fbuf => elbuf_str%BUFLY(1)%FAIL(1,1,1)
188 bufly => elbuf_str%BUFLY(1)
189 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
190 nptr = elbuf_str%NPTR
191 npts = elbuf_str%NPTS
192 nptt = elbuf_str%NPTT
193 nlay = elbuf_str%NLAY
194 l_pla = elbuf_str%BUFLY(1)%L_PLA
195 l_sigb= elbuf_str%BUFLY(1)%L_SIGB
196c
197 jhbe = iparg_gr(23)
198 irep = iparg_gr(35)
199 jcvt = iparg_gr(37)
200 igtyp = iparg_gr(38)
201 IF (jcvt==1.AND.isorth/=0) jcvt=2
202 idef = 0 ! initialization flag for the total strain
203 bid = zero
204 ibid = 0
205 nddim = 0
206 nf1=nft+1
207 volu(1:nel)=zero
208C
209 iboltp = iparg_gr(72) !Bolt preloading
210C
211 DO i=1,nel
212 rhocp(i) = pm(69,ixs(1,nft+i))
213 temp0(i) = pm(79,ixs(1,nft+i))
214 rho0(i) = pm(1,ixs(1,nft+i))
215C For air + foam
216 rhof(i) = pm(192,ixs(1,nft+i))
217 alpha(i) = pm(193,ixs(1,nft+i))
218 ENDDO
219 IF (ismstr==10.OR.ismstr==12) THEN
220C Total Lagrange simulation
221 CALL scoor3(x,xrefs(1,1,nf1),ixs(1,nf1),geo ,mat ,pid ,ngl ,
222 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
223 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
224 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
225 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
226 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
227 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
228 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0,temp ,glob_therm%NINTEMP,
229 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
230 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
231 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
232 IF (nsigi > 0 ) THEN
233 CALL s8erefcoor3(gbuf%SMSTR,8,nel,
234 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
235 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
236 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
237 END IF
238C JAC_I : [J]^-1 is calculated in global system
239 CALL sjacidp(
240 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
241 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
242 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
243 . gbuf%JAC_I ,nel)
244 END IF
245C Orthotropy wrt reference geometry
246 IF (jcvt == 0) THEN
247 CALL scoor3(x,xrefs(1,1,nf1),ixs(1,nf1),geo ,mat ,pid ,ngl ,
248 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
249 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
250 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
251 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
252 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
253 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
254 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0,temp ,glob_therm%NINTEMP,
255 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
256 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
257 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
258 ELSE
259 CALL srcoor3(x,xrefs(1,1,nf1),ixs(1,nf1),geo ,mat ,pid ,ngl ,jhbe ,
260 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
261 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
262 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
263 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
264 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
265 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
266 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0,temp ,glob_therm%NINTEMP,
267 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
268 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
269 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
270
271 ENDIF
272!
273! Initialize element temperature from /initemp
274!
275 IF (jthe == 0 .and. glob_therm%NINTEMP > 0) THEN
276 DO i=1,nel
277 tempel(i) = one_over_8 *(temp(ixs(2,i)) + temp(ixs(3,i))
278 . + temp(ixs(4,i)) + temp(ixs(5,i))
279 . + temp(ixs(6,i)) + temp(ixs(7,i))
280 . + temp(ixs(8,i)) + temp(ixs(9,i)))
281 ENDDO
282 ELSE
283 tempel(1:nel) = temp0(1:nel)
284 END IF
285!
286C Orthotropy
287 IF (isorth == 1)
288 . CALL smorth3(pid ,geo ,igeo ,skew ,irep ,gbuf%GAMA ,
289 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
290 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
291 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,nsigi,sigsp,nsigs,
292 . sigi ,ixs ,x ,jhbe ,ptsol,nel ,iparg_gr(28))
293C
294 CALL sveok3(nvc,8, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
295C
296 IF(jeul /= 0.AND.integ8 /= 0) THEN
297 CALL sderi3b(gbuf%VOL,veul(1,nf1),lveul,geo,igeo ,ngl ,pid ,
298 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
299 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
300 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
301 . volu, deltax,nel ,jeul )
302 ELSEIF (npt == 8) THEN
303 CALL sderi3b(gbuf%VOL,v8loc ,lvloc,geo ,igeo ,ngl ,pid ,
304 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
305 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
306 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
307 . volu, deltax,nel ,jeul )
308 ELSE
309C LBUF%VOL0DP is not done for Isolid=12
310 IF (jhbe == 24) THEN
311 IF(ASSOCIATED(lbuf%VOL0DP)) CALL szderi3(
312 . gbuf%VOL ,veul(1,nf1),geo ,igeo ,
313 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
314 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
315 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
316 . px1 ,px2 ,px3 ,px4 ,
317 . py1 ,py2 ,py3 ,py4 ,
318 . pz1 ,pz2 ,pz3 ,pz4 ,
319 . rx ,ry ,rz ,sx ,sy ,sz ,tz ,
320 . ngl ,pid ,volu ,lbuf%VOL0DP,nel ,jeul ,nxref)
321 ELSE
322 IF(ASSOCIATED(lbuf%VOL0DP)) CALL sderi3(
323 . gbuf%VOL ,veul(1,nf1),geo ,igeo ,
324 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
325 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
326 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
327 . rx ,ry ,rz ,sx ,sy ,sz ,ngl ,pid ,
328 . px1 ,px2 ,px3 ,px4 ,py1 ,py2 ,py3 ,py4 ,
329 . pz1 ,pz2 ,pz3 ,pz4, volu ,lbuf%VOL0DP,nel ,jeul,
330 . nxref,imulti_fvm)
331 ENDIF
332 CALL sdlen3(
333 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
334 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
335 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8,
336 . deltax, volu)
337 ENDIF
338 IF(jeul /= 0)THEN
339 CALL edlen3(veul(1,nf1), deltax)
340 CALL enorm3(veul(1,nf1),
341 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
342 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
343 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 )
344 ENDIF
345c
346 ipt=1
347 DO ir =1,nptr
348 DO is =1,npts
349 DO it =1,nptt
350 lbuf => elbuf_str%BUFLY(1)%LBUF(ir,is,it)
351 mbuf => elbuf_str%BUFLY(1)%MAT(ir,is,it)
352 fbuf => elbuf_str%BUFLY(1)%FAIL(ir,is,it)
353 CALL matini(pm ,ixs ,nixs ,x ,
354 2 geo ,ale_connectivity ,detonators ,iparg_gr ,
355 3 sigi ,nel ,skew ,igeo ,
356 4 ipart ,iparts ,
357 5 mat ,ipm ,nsigs ,numsol ,ptsol ,
358 6 ipt ,ngl ,npf ,tf ,bufmat ,
359 7 gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
360 8 facload, deltax ,tempel ,mat_param )
361 END DO
362 END DO
363 END DO
364 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
365 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
366 fbuf => elbuf_str%BUFLY(1)%FAIL(1,1,1)
367C
368C Density perturbation for /MAT/LAW115
369 IF (mtn == 115) THEN
370 CALL m115_perturb(pm ,mat ,gbuf%RHO ,perturb ,rnoise )
371 ENDIF
372C
373 IF (iboltp /=0) THEN
374 CALL sboltini(e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
375 1 gbuf%BPRELD,nel ,ixs ,nixs ,vpreload, iflag_bpreload)
376 ENDIF
377C----------------------------------------
378C Thermal and Turbulence initialization
379C----------------------------------------
380 IF(jthe /=0) CALL atheri(mat,pm ,gbuf%TEMP)
381 IF(jtur /=0) CALL aturi3(iparg ,gbuf%RHO,pm,ixs,x,
382 . gbuf%RK ,gbuf%RE,volu)
383C----------------------------------------
384C Masses initialization
385C----------------------------------------
386 IF(jlag+jale+jeul /= 0) THEN
387 IF(integ8 /= 0 .AND. jeul /= 0) THEN
388 CALL smass3b(
389 1 gbuf%RHO,mas,veul(44,nf1),lveul ,mss(1,nf1),
390 2 partsav,x ,v ,iparts(nf1),msnf ,
391 3 mssf(1,nf1),wma , rhocp ,mcp ,
392 4 mcps(1,nf1),mssa, volu,
393 5 ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
394 ELSEIF (npt == 8) THEN
395 IF (mtn >= 28) idef = 1
396 CALL sigin3b(
397 1 mat ,pm ,ipm ,gbuf%SIG ,gbuf%VOL ,
398 2 sigsp ,sigi ,gbuf%EINT,gbuf%RHO ,
399 3 ixs ,nixs ,nsigi ,nsigs ,
400 4 nel ,idef ,bufmat ,npf ,
401 5 tf ,strsglob,straglob ,jhbe ,
402 6 igtyp ,x ,gbuf%GAMA,bufly ,l_pla ,
403 7 ptsol )
404 CALL smass3b(
405 1 gbuf%RHO ,mas ,v8loc(44,1),lvloc ,mss(1,nf1) ,
406 2 partsav,x ,v ,iparts(nf1),msnf ,
407 3 mssf(1,nf1),wma , rhocp ,mcp ,
408 4 mcps(1,nf1),mssa, volu,
409 5 ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
410 ELSE
411C Case /INIBRIS/STRS_FGLO missed
412 IF (isigi /= 0 .AND. (jcvt /= 0 .OR. isorth /= 0) ) THEN
413 IF(ASSOCIATED(lbuf%VOL0DP)) CALL ustrsin3( sigi ,lbuf%SIG ,ixs ,nixs ,nsigs ,
414 . nel ,strsglob ,jhbe ,igtyp ,x ,
415 . gbuf%GAMA,ptsol ,lbuf%VOL0DP,rho0,gbuf%RHO )
416 ENDIF
417 IF (((mtn>=28 .AND. mtn/=49) .OR. mtn==14 .OR. mtn==12) .OR.
418 . (istrain == 1 .AND.
419 . (mtn==1 .OR. mtn==2 .OR. mtn==3 .OR. mtn==4 .OR.
420 . mtn==6 .OR. mtn==10 .OR. mtn==21 .OR. mtn==22 .OR.
421 . mtn==23 .OR. mtn==24))) THEN
422 idef = 1
423 ENDIF
424c
425 IF (isigi /= 0 .AND. ((mtn >= 28 .AND. iuser == 1).OR.
426 . (nvsolid2 /= 0 .and .idef /=0)))
427 . CALL userin3(
428 . sigsp ,sigi ,mbuf%VAR ,lbuf%STRA,
429 . ixs ,nixs ,nsigi ,nuvar ,nel ,
430 . nsigs ,iuser ,idef ,straglob ,jhbe ,
431 . igtyp ,x ,gbuf%GAMA,ptsol ,lbuf%SIGB,
432 . l_sigb ,mat(1) ,ipm ,bufmat ,lbuf%PLA,
433 . l_pla )
434 CALL smass3(
435 . gbuf%RHO ,mas ,partsav ,x ,v ,
436 . iparts(nf1),mss(1,nf1) ,volu ,
437 . msnf ,mssf(1,nf1),in ,
438 . vr ,ins(1,nf1) ,wma ,rhocp ,mcp ,
439 . mcps(1,nf1),mssa ,rhof ,alpha ,gbuf%FILL,
440 . ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
441 ENDIF
442C
443C------------------------------------------------------------------
444c Initialization of stress tensor in case of Orthotropic properties
445C------------------------------------------------------------------
446 IF (isigi /= 0 .AND. isorth/=0) THEN
447 lbuf%SIGL = lbuf%SIG
448 ENDIF
449C----------------------------------------
450c Failure model initialization
451C----------------------------------------
452 CALL failini(elbuf_str,nptr,npts,nptt,nlay,
453 . ipm,sigsp,nsigi,fail_ini ,
454 . sigi,nsigs,ixs,nixs,ptsol,rnoise,perturb,mat_param)
455C--------------------------------------------------------------------
456C Compute nodal volumes and moduli for contact stiffness
457C Note : IX1, IX2 ... IX8 are in NC(MVSIZ,8)
458C--------------------------------------------------------------------
459 IF (i7stifs /= 0) THEN
460 ncc=8
461 CALL sbulk3(volu ,ix1 ,ncc,mat,pm ,
462 2 volnod,bvolnod,vns(1,nf1),bns(1,nf1),bid,
463 3 bid ,gbuf%FILL)
464 ENDIF
465 ENDIF ! End masses initialization
466C----------------------------------------
467C Cell momentum for FVM
468C----------------------------------------
469 IF(alefvm_param%IEnabled /= 0) THEN
470 CALL inimom_fvm(v , gbuf%RHO, gbuf%VOL, gbuf%MOM, ixs,
471 . ipm , mat , iparg_gr, npf , tf ,
472 . pm , lbuf%SSP, gbuf%SIG, nel
473 . )
474 ENDIF
475C------------------------------------------
476C Compute element time step
477C------------------------------------------
478 aire(:) = zero
479 dtx(:) = zero
480 CALL dtmain(geo , pm , ipm , pid , mat , fv ,
481 . gbuf%EINT, gbuf%TEMP, gbuf%DELTAX, gbuf%RK, gbuf%RE, bufmat, deltax, aire,
482 . volu, dtx, igeo ,igtyp)
483C
484 DO i=1,nel
485 IF(ixs(10,i+nft) /= 0) THEN
486 IF(igtyp /= 0 .AND.igtyp /= 6 .AND. igtyp /= 14 .AND.igtyp /= 15.AND. igtyp /= 29) THEN
487 ipid1=ixs(nixs-1,i+nft)
488 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,ipid1),ltitr)
489 CALL ancmsg(msgid=226,
490 . msgtype=msgerror,
491 . anmode=aninfo_blind_1,
492 . i1=igeo(1,ipid1),
493 . c1=titr1,
494 . i2=igtyp)
495 ENDIF
496 ENDIF
497 dtelem(nft+i)=dtx(i)
498C
499C STI = 0.25 * RHO * VOL / (DT*DT)
500 sti = fourth * gbuf%FILL(i) * gbuf%RHO(i) * volu(i) / max(em20,dtx(i)*dtx(i))
501 stifn(ixs(2,i+nft))=stifn(ixs(2,i+nft))+sti
502 stifn(ixs(3,i+nft))=stifn(ixs(3,i+nft))+sti
503 stifn(ixs(4,i+nft))=stifn(ixs(4,i+nft))+sti
504 stifn(ixs(5,i+nft))=stifn(ixs(5,i+nft))+sti
505 stifn(ixs(6,i+nft))=stifn(ixs(6,i+nft))+sti
506 stifn(ixs(7,i+nft))=stifn(ixs(7,i+nft))+sti
507 stifn(ixs(8,i+nft))=stifn(ixs(8,i+nft))+sti
508 stifn(ixs(9,i+nft))=stifn(ixs(9,i+nft))+sti
509 ENDDO
510C--------------------------------------------------------
511C Solid to SPH : compute particles initial volume and mass
512C--------------------------------------------------------
513 IF(nsphsol/=0)THEN
514 DO i=1,nel
515 IF(sol2sph(1,nft+i) < sol2sph(2,nft+i))THEN
516 nsphdir=igeo(37,ixs(10,nft+i))
517 ncelf =sol2sph(1,nft+i)+1
518 ncell =sol2sph(2,nft+i)-sol2sph(1,nft+i)
519 CALL soltosphv8(
520 . nsphdir ,gbuf%RHO(i) ,ncell ,x ,spbuf(1,ncelf),
521 . ixs(1,i+nft),kxsp(1,ncelf),ipartsp(ncelf),
522 . irst(1,ncelf-first_sphsol+1))
523 END IF
524 ENDDO
525 END IF
526C-----------
527 RETURN
subroutine atheri(mat, pm, temp)
Definition atheri.F:42
subroutine aturi3(iparg, rho, pm, ix, x, rk, re, volu)
Definition aturi3.F:33
#define my_real
Definition cppsort.cpp:32
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 edlen3(veul, deltax)
Definition edlen3.F:29
subroutine enorm3(veul, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
Definition enorm3.F:32
#define alpha
Definition eval.h:35
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:44
subroutine inimom_fvm(v, rho, vol, mom, ixs, ipm, mat, iparg1, npf, tf, pm, ssp, sig, nel)
Definition inimom_fvm.F:36
subroutine m115_perturb(pm, mat, rho, perturb, rnoise)
#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, mat_param)
Definition matini.F:83
type(alefvm_param_), target alefvm_param
Definition alefvm_mod.F:121
integer, dimension(:), allocatable iflag_bpreload
integer, parameter nchartitle
subroutine s8erefcoor3(sav, npe, nel, 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 s8erefcoor3.F:33
subroutine sboltini(e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, bpreld, nel, ix, nix, vpreload, iflag_bpreload)
Definition sboltini.F:33
subroutine sbulk3(volu, nc, nnc, mat, pm, volnod, bvolnod, vns, bns, vnsx, bnsx, fill)
Definition sbulk3.F:43
subroutine sderi3b(vol, veul, lvloc, geo, igeo, ngl, ngeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, det, deltax, nel, jeul)
Definition sderi3b.F:38
subroutine sigin3b(mat, pm, ipm, sig, vol, sigsp, sigi, eint, rho, ix, nix, nsigi, nsigs, nel, idef, bufmat, npf, tf, strsglob, straglob, jhbe, igtyp, x, bufgama, bufly, l_pla, pt)
Definition sigin3b.F:40
subroutine sjacidp(xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac_i, nel)
Definition sjacidp.F:35
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 smass3b(rho, ms, volgp, lvloc, mss, partsav, x, v, ipart, msnf, mssf, wma, rhocp, mcp, mcps, mssa, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
Definition smass3b.F:36
subroutine smorth3(pid, geo, igeo, skew, irep, gama, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, nsigi, sigsp, nsigs, sigi, ixs, x, jhbe, pt, nel, isolnod)
Definition smorth3.F:43
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
subroutine srcoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, jhbe, 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 srcoor3.F:52
subroutine szderi3(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, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac1, jac2, jac3, jac4, jac5, jac6, jac9, ngl, ngeo, det, voldp, nel, jeul, nxref)
Definition szderi3.F:42
subroutine soltosphv8(nsphdir, rho, ncell, x, spbuf, ixs, kxsp, ipartsp, irst)
Definition soltosph.F:338
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:895
subroutine fretitl2(titr, iasc, l)
Definition freform.F:799
subroutine sveok3(nvc, nod, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
Definition sveok3.F:33
subroutine userin3(sigsp, sigi, uvar, eps, ix, nix, nsigi, nuvar, nel, nsigs, iuser, idef, straglob, jhbe, igtyp, x, bufgama, pt, sigb, l_sigb, imat, ipm, bufmat, pla, l_pla)
Definition userin3.F:38
subroutine ustrsin3(sigi, sig, ix, nix, nsigi, nel, strsglob, jhbe, igtyp, x, bufgama, pt, voldp, rho0, rho)
Definition userin3.F:168