39 1 IVOLU ,ICBAG ,NJET ,IBAGJET ,NVENT ,
40 2 IBAGHOL ,RVOLU ,RVOLUV ,RCBAG ,RBAGJET ,
41 3 RBAGHOL ,FSAV ,NORMAL ,NN ,
42 4 IGRSURF ,PORO ,IVOLUV ,RBAGVJET,
43 5 FR_MV ,IPARG ,IPART ,IPARTC ,IPARTTG ,
44 6 IPM ,PM ,ELBUF_TAB,IGROUPC ,IGROUPTG,
56#include "implicit_f.inc"
70 INTEGER IVOLU(*),ICBAG(NICBAG,*),NJET,IBAGJET(NIBJET,*),
71 . NVENT,IBAGHOL(NIBHOL,*),
72 . NN,IVOLUV(NIMV,*),FR_MV(*),IPARG(NPARG,*),
73 . IPART(LIPART1,*),IPM(NPROPMI,*),
74 . IPARTC(NUMELC) ,IPARTTG(NUMELTG),
75 . IGROUPC(*),IGROUPTG(*)
76 INTEGER IGEO(NPROPGI,*)
79 . rvolu(*), rvoluv(nrvolu,*),rcbag(nrcbag,*),
poro(*),
80 . rbagjet(nrbjet,*),rbaghol(nrbhol,*),fsav(*),normal(3,*),rbagvjet(*),
81 . geo(npropg,*), pm(npropm,*)
83 TYPE(elbuf_struct_),
DIMENSION(NGROUP) :: ELBUF_TAB
84 TYPE () ,
DIMENSION(NSURF) :: IGRSURF
88 INTEGER I,II, NAV, K,NFT,IEL, IDEF, KK, IPVENT, NNC,
89 . IPORT,IPORP,IPORA,IPORT1,IPORP1,IPORA1,IVDP,
90 . ij ,iv, radvois,pmain,
91 . in1,in2,in3,in4,ittf,idtpdef,
92 . ioff,ng,im,ifvent,nfunc,ity,iad,mtn,
93 . iventyp,ileakage,iblockage
94 INTEGER NEL,TITREVENT(20)
95 INTEGER IK, I_INJ, I_TYPINJ, I_GAS
98 . GAMA, CV, CP, PEXT, PDEF, DTPDEFI, DTPDEFC, TVENT, TSTOPE,
99 . APVENT, AVENT, BVENT,
100 . AMTOT, P, RO, VOL, HSPEC,
102 . cpd, cpe, cpf, cpdi, cpei, cpfi,
103 . u, deout, dmout,
area, pcrit, pvois, tvois, aa, veps,
104 . aout, aout1, aoutot, flout
105 . dgeout, dgmout, rnm, rmwi, rnmi, rmwg, rnmg,
106 . deri, temp, aisent, achemk, fchemk, vmax,
107 . fport,fporp,fpora,fport1,fporp1,fpora1,scalt,scalp,scals,
109 . f1(nn), f2(nn), ttf, svtfac, flc, fac, facp,
110 . aisent1, dgmin, dgein, gamai, rhoi, rho2, p2, eta,
116 CHARACTER*20 VENTTITLE
118 . FRMV6(2,6), FRMV6B(6)
121 pmain = fr_mv(nspmd+2)
138 r_igc1= pm(27,ivolu(66))
140 pcrit = p*(two/(gama+one))**(gama/(gama-one))
152 . cpai+half*cpbi*tbag+third*cpci*tbag*tbag
153 . +fourth*cpdi*tbag*tbag*tbag
155 . +one_fifth*cpfi*tbag*tbag*tbag*tbag)
158 i_inj = iabs(ibagjet(13,ij))
159 i_typinj = igeo(22,i_inj)
160 ngases = igeo(23,i_inj)
162 IF (i_typinj==1)
THEN
163 i_gas = igeo(100+(ik-1)*3+1,i_inj)
164 ELSE IF (i_typinj==2)
THEN
165 i_gas = igeo(100+(ik-1)*2+1,i_inj)
173 gmtot= rbagjet(20+(ik-1)*4+1,ij)
174 hspec= hspec+gmtot*tbag*
175 . (cpa+half*cpb*tbag+third*cpc*tbag*tbag
176 . +fourth*cpd*tbag*tbag*tbag
178 . +one_fifth*cpf*tbag*tbag*tbag*tbag)
181 hspec=hspec/
max(em20,amtot)
191 ipvent = ibaghol(2,iv)
192 ifvent = ibaghol(10,iv)
193 idtpdef= ibaghol(11,iv)
194 iventyp= ibaghol(13,iv)
195 iblockage= ibaghol(14,iv)
198 dtpdefi= rbaghol(4,iv)
199 dtpdefc= rbaghol(5,iv)
200 avent = rbaghol(2,iv)
201 tvent = rbaghol(3,iv)
202 bvent = rbaghol(6,iv)
203 tstope = rbaghol(14,iv)
212 titrevent(k)=ibaghol(14+k,iv)
213 venttitle(k:k) = achar(titrevent(k))
216 IF(ittf==11.OR.ittf==12.OR.ittf==13)
THEN
217 IF(idef==0.AND.p>pdef+pext
218 . .AND.dtpdefc>dtpdefi
219 . .AND.vol>em3*
area**three_half
221 . .AND.idtpdef==0)
THEN
223 IF(ispmd+1==pmain)
THEN
225 .
' ** AIRBAG VENT HOLE MEMBRANE IS DEFLATED **'
226 WRITE(iout,
'(3X,2(A,I10),2A)')
' MONITORED VOLUME ',ivolu(1),
227 .
' VENT HOLE NUMBER',iv ,
' ',venttitle
229 .
' ** VENT HOLE MEMBRANE IS DEFLATED ',venttitle
232 IF(idef==0.AND.dtpdefc>dtpdefi
234 . .AND.idtpdef==1)
THEN
237 .
' ** AIRBAG VENT HOLE MEMBRANE IS DEFLATED **'
238 WRITE(iout,
'(3X,2(A,I10),2A)')
' MONITORED VOLUME ',ivolu(1),
239 .
' VENT HOLE NUMBER',iv ,
' ',venttitle
241 .
' ** VENT HOLE MEMBRANE IS DEFLATED ',venttitle
243 IF(idef==0 .AND. tt>tvent+ttf
244 . .AND. tt<tstope+ttf)
THEN
246 IF(ispmd+1==pmain)
THEN
247 WRITE(iout,
'(A)')
' ** AIRBAG VENTING STARTS **'
248 WRITE(iout,
'(3X,2(A,I10),2A)')
' MONITORED VOLUME ',ivolu(1),
249 .
' VENT HOLE NUMBER',iv ,
' ',venttitle
250 WRITE(istdo,
'(2A)') ' ** venting starts
',VENTTITLE
253.AND.
IF(IDEF==1 TT>=TSTOPE+TTF) THEN
255 IF(ISPMD+1==PMAIN) THEN
256 WRITE(IOUT,'(a)
') ' ** airbag venting stops **'
257 WRITE(iout,
'(3X,2(A,I10),2A)')
' MONITORED VOLUME ',ivolu(1),
258 .
' VENT HOLE NUMBER',iv ,
' ',venttitle
259 WRITE(istdo,
'(2A)')
' ** VENTING STOPS ',venttitle
263 ELSE IF(ittf==0)
THEN
264 IF(idef==0.AND.p>pdef+pext.
265 . and.dtpdefc>dtpdefi.
266 . and.vol>em3*
area**three_half.
268 . .AND.idtpdef==0)
THEN
270 IF(ispmd+1==pmain)
THEN
272 .
' ** AIRBAG VENT HOLE MEMBRANE IS DEFLATED **'
273 WRITE(iout,'(3x,2(a,i10),2a)
')' monitored volume
',IVOLU(1),
274 . ' vent hole number
',IV ,' ',VENTTITLE
276 . ' ** vent hole membrane is deflated
',VENTTITLE
279.AND.
IF(IDEF==0DTPDEFC>DTPDEFI.
281.AND.
. IDTPDEF==1) THEN
284 . ' ** airbag vent hole membrane is deflated **
'
285 WRITE(IOUT,'(3x,2(a,i10),2a)
')' monitored volume
',IVOLU(1),
286 . ' vent hole number
',IV ,' ',VENTTITLE
288 . ' ** vent hole membrane is deflated
',VENTTITLE
290.AND.
IF(IDEF==0 TT>TVENT
291.AND.
. TT<TSTOPE) THEN
293 IF(ISPMD+1==PMAIN) THEN
294 WRITE(IOUT,'(a)
') ' ** airbag venting starts **
'
295 WRITE(IOUT,'(3x,2(a,i10),2a)
')' monitored volume
',IVOLU(1),
296 . ' vent hole number
',IV ,' ',VENTTITLE
297 WRITE(ISTDO,'(2a)
') ' ** venting starts
',VENTTITLE
300.AND.
IF(IDEF==1 TT>=TSTOPE) THEN
302 IF(ISPMD+1==PMAIN) THEN
303 WRITE(IOUT,'(a)
') ' ** airbag venting stops **
'
304 WRITE(IOUT,'(3x,2(a,i10),2a)
')' monitored volume
',IVOLU(1),
305 . ' vent hole number
',IV ,' ',VENTTITLE
306 WRITE(ISTDO,'(2a)
') ' ** venting stops
',VENTTITLE
316 IF (ITTF==13) TT1=TT-TTF-TVENT
325 NNC=IGRSURF(IPVENT)%NSEG
327 IF(IGRSURF(IPVENT)%ELTYP(KK)==3)THEN
328 K=IGRSURF(IPVENT)%ELEM(KK)
329 ELSEIF(IGRSURF(IPVENT)%ELTYP(KK)==7)THEN
330 K=IGRSURF(IPVENT)%ELEM(KK) + NUMELC
332 K=IGRSURF(IPVENT)%ELEM(KK) + NUMELC + NUMELTG
334 AA = SQRT(NORMAL(1,K)**2+NORMAL(2,K)**2+NORMAL(3,K)**2)
339 F1(KK) = (ONE - PORO(K))*AA
347 NNC=IGRSURF(IPVENT)%NSEG
350 ITY=IGRSURF(IPVENT)%ELTYP(KK)
351 K =IGRSURF(IPVENT)%ELEM(KK)
355 IM=IPART(1,IPARTC(K))
357 IM=IPART(1,IPARTTG(K))
362.AND.
IF (MTN/=19MTN/=58) GOTO 200
365 NFUNC = IPM(10,IM)+IPM(6,IM)
368 ELSEIF(ILEAKAGE==1) THEN
372.OR.
ELSEIF(ILEAKAGE==2ILEAKAGE==3) THEN
374 IPORT=IPM(10+NFUNC-1,IM)
378 FLC=FPORT*GET_U_FUNC(IPORT,TT1*SCALT,DERI)
381 IPORP=IPM(10+NFUNC-2,IM)
386 FAC=FPORP*GET_U_FUNC(IPORP,P*SCALP,DERI)
388 FAC=FPORP*GET_U_FUNC(IPORP,(P-PEXT)*SCALP,DERI)
393 IF(ITY==3)NG=IGROUPC(K)
394 IF(ITY==7)NG=IGROUPTG(K)
399 CALL PORFOR4(SVTFAC,IM,IPM,PM,
400 . ELBUF_TAB(NG)%GBUF%STRA,P,PEXT,IEL,NEL)
401 ELSEIF(ILEAKAGE==5) THEN
402 CALL PORFOR5(SVTFAC,IM,IPM,PM,
403 . ELBUF_TAB(NG),P,PEXT,IEL,NEL)
404 ELSEIF(ILEAKAGE==6) THEN
405 CALL PORFOR6(SVTFAC,IM,IPM,PM,
406 . ELBUF_TAB(NG)%GBUF%STRA,P,PEXT,IEL,NEL)
411 IF(FACP == ZERO) THEN
412 IPORT=IPM(10+NFUNC,IM)
416 FACP=FPORT*GET_U_FUNC(IPORT,TT1*SCALT,DERI)
422 IF (ITY==7) K=K+NUMELC
423 AA = SQRT( NORMAL(1,K)**2+NORMAL(2,K)**2+NORMAL(3,K)**2 )
428 IF(IBLOCKAGE==1) THEN
429 F1(KK) = (ONE - PORO(K))*AA*SVTFAC
432 F1(KK) = (ONE - PORO(K))*AA*SVTFAC
433 F2(KK) = FACP*PORO(K) *AA*SVTFAC
445 CALL SUM_6_FLOAT(1, NNC, F1, FRMV6(1,1),2)
446 CALL SUM_6_FLOAT(1, NNC, F2, FRMV6(2,1),2)
449 CALL SPMD_EXCH_FR6(FR_MV,FRMV6,2*6)
452 AOUT = FRMV6(1,1)+FRMV6(1,2)+FRMV6(1,3)+
453 . FRMV6(1,4)+FRMV6(1,5)+FRMV6(1,6)
454 AOUT1 = FRMV6(2,1)+FRMV6(2,2)+FRMV6(2,3)+
455 . FRMV6(2,4)+FRMV6(2,5)+FRMV6(2,6)
466 IPORA = IBAGHOL(5,IV)
467 FPORA = RBAGHOL(9,IV)
468 AVENT=FPORA*GET_U_FUNC(IPORA,(P-PEXT)*SCALP,DERI)
471 IPORT = IBAGHOL(3,IV)
472 FPORT = RBAGHOL(7,IV)
473 BVENT=FPORT*GET_U_FUNC(IPORT,TT1*SCALT,DERI)
489 FPORT = RBAGHOL(7,IV)
490 FPORP = RBAGHOL(8,IV)
491 FPORA = RBAGHOL(9,IV)
492 FPORT1= RBAGHOL(10,IV)
493 FPORP1= RBAGHOL(11,IV)
494 FPORA1= RBAGHOL(12,IV)
495.AND.
IF(IPORA/=0IPVENT/=0)THEN
496 AOUT=FPORA*AVENT*GET_U_FUNC(IPORA,AOUT*SCALS,DERI)
501 . AOUT=FPORT*AOUT*GET_U_FUNC(IPORT,TT1*SCALT,DERI)
503 . AOUT=FPORP*AOUT*GET_U_FUNC(IPORP,(P-PEXT)*SCALP,DERI)
504.AND.
IF(IPORA1/=0IPVENT/=0)THEN
505 AOUT1=FPORA1*BVENT*GET_U_FUNC(IPORA1,AOUT1*SCALS,DERI)
510 . AOUT1=FPORT1*AOUT1*GET_U_FUNC(IPORT1,TT1*SCALT,DERI)
512 . AOUT1=FPORP1*AOUT1*GET_U_FUNC(IPORP1,(P-PEXT)*SCALP,DERI)
515 AISENT=AISENT+AOUT+AOUT1
516 ELSEIF(IFVENT==2) THEN
517 ACHEMK=ACHEMK+AOUT+AOUT1
520 U=FVDP*GET_U_FUNC(IVDP,(P-PEXT)*SCALP,DERI)
521 FCHEMK= FCHEMK+(AOUT+AOUT1)*U
522 IF(ISPMD+1==PMAIN) RBAGHOL(18,IV)=U
523 ELSEIF(IFVENT==4) THEN
524 AISENT1=AISENT1+AOUT+AOUT1
531 AISENT=AISENT+AOUT+AOUT1
532 ELSEIF(IFVENT==2) THEN
533 ACHEMK=ACHEMK+AOUT+AOUT1
536 U=FVDP*GET_U_FUNC(IVDP,(P-PEXT)*SCALP,DERI)
537 FCHEMK= FCHEMK+(AOUT+AOUT1)*U
538 IF(ISPMD+1==PMAIN) RBAGHOL(18,IV)=U
539 ELSEIF(IFVENT==3) THEN
540 ACHEMK=ACHEMK+AOUT+AOUT1
541 U=MAX(TWO*(P-PEXT)/RO,ZERO)
543 FCHEMK= FCHEMK+(AOUT+AOUT1)*U
544 IF(ISPMD+1==PMAIN) RBAGHOL(18,IV)=U
548 IF(ISPMD+1==PMAIN) THEN
558 AOUTOT=AISENT+AISENT1+ACHEMK
565 ROEX =RO*(PEXT/P)**(ONE/GAMA)
566 TEMP =ROEX*AISENT+RO*ACHEMK+ROEX*AISENT1
567 VMAX =HALF*(P-PEXT)*VOL/(GAMA-ONE)
568 . /MAX(EM20,HSPEC*TEMP*DT1)
569 VMAX =MIN(VMAX,HALF*VOL/MAX(EM20,AOUTOT*DT1))
573 PEXT = MAX(PEXT,PCRIT)
574 ROEX =RO*(PEXT/P)**(ONE/GAMA)
575 UISENT=TWO*GAMA/(GAMA-ONE)*P/RO*(ONE-(PEXT/P)**((GAMA-ONE)/GAMA))
576 UISENT=MAX(UISENT,ZERO)
578 UISENT=MIN(UISENT,VMAX)
584 FCHEMK=MIN(FCHEMK,VMAX*ACHEMK)
586 DMOUT =DMOUT +RO*FCHEMK
594 ETA=(GAMAI-ONE)/GAMAI
595 PCRIT1=PEXT*(TWO/(GAMAI+ONE))**(ONE/ETA)
597 RHO2 =RHOI*(P2/PEXT)**(ONE/GAMAI)
598 UISENT=TWO*PEXT*(ONE-(P2/PEXT)**ETA)/(RHOI*ETA)
599 UISENT=MAX(UISENT,ZERO)
601 VMAX =HALF*(PEXT-P)*VOL/(GAMA-ONE)
602 . /MAX(EM20,HSPEC1*RHOI*AISENT1*DT1)
603 UISENT=MIN(UISENT,VMAX)
604 FLOUT=FLOUT -AISENT1*UISENT
605 DGMIN=DGMIN +AISENT1*UISENT*RHO2
609 PEXT = MAX(PEXT,PCRIT)
610 ROEX =RO*(PEXT/P)**(ONE/GAMA)
612 UISENT=TWO*P*(ONE-(PEXT/P)**ETA)/(RO*ETA)
613 UISENT=MAX(UISENT,ZERO)
615 UISENT=MIN(UISENT,VMAX)
616 FLOUT=FLOUT +AISENT1*UISENT
617 DMOUT=DMOUT +AISENT1*UISENT*ROEX
622 IF(ISPMD+1==PMAIN)THEN
627 IFVENT = IBAGHOL(10,IV)
629 RBAGHOL(18,IV)=UISENT
630 RBAGHOL(21,IV)= ROEX*UISENT
631 . *(RBAGHOL(16,IV)+RBAGHOL(17,IV))
632 RBAGHOL(22,IV)=RBAGHOL(21,IV)*HSPEC
633.OR.
ELSEIF(IFVENT==2IFVENT==3) THEN
634 RBAGHOL(18,IV)=MIN(RBAGHOL(18,IV),VMAX)
635 RBAGHOL(21,IV)= RO*RBAGHOL(18,IV)
636 . *(RBAGHOL(16,IV)+RBAGHOL(17,IV))
637 RBAGHOL(22,IV)=RBAGHOL(21,IV)*HSPEC
638 ELSEIF(IFVENT==4)THEN
639 RBAGHOL(18,IV)=UISENT
640 RBAGHOL(21,IV)= ROEX*UISENT
641 . *(RBAGHOL(16,IV)+RBAGHOL(17,IV))
642 RBAGHOL(22,IV)=RBAGHOL(21,IV)*HSPEC1
652 CV =RNM/AMTOT/(GAMA-ONE)
654 IF(ISPMD+1==PMAIN) THEN
661 FSAV(7) =FLOUT/MAX(EM20,AOUTOT)
670 I_INJ = IBAGJET(13,IJ)
672 NGASES = IGEO(23,I_INJ)
674 FSAV(15)=FSAV(15)+RBAGJET(20+(IK-1)*4+2,IJ)
676 FSAV(16)=FSAV(16)+RBAGJET(11,IJ)
678 FSAV(17)=AMTOT*CV*TBAG
688 DGMOUT=RNMI/MAX(EM20,RNM)*DMOUT
690 . CPAI+HALF*CPBI*TOUT+THIRD*CPCI*TOUT*TOUT
691 . +FOURTH*CPDI*TOUT*TOUT*TOUT
693 . +ONE_FIFTH*CPFI*TOUT*TOUT*TOUT*TOUT)
694 DGEIN =DGMIN*RVOLU(63)
695 RVOLU(22)=RVOLU(22)+DGEOUT
696 RVOLU(24)=RVOLU(24)+DGMOUT
701 I_INJ = IABS(IBAGJET(13,IJ))
702 I_TYPINJ = IGEO(22,I_INJ)
703 NGASES = IGEO(23,I_INJ)
705 IF (I_TYPINJ==1) THEN
706 I_GAS = IGEO(100+(IK-1)*3+1,I_INJ)
707 ELSE IF (I_TYPINJ==2) THEN
708 I_GAS = IGEO(100+(IK-1)*2+1,I_INJ)
719 GMTOT= RBAGJET(KK+1,IJ)
721 DGMOUT=RNMG/MAX(EM20,RNM)*DMOUT
723 . CPA+HALF*CPB*TOUT+THIRD*CPC*TOUT*TOUT
724 . +FOURTH*CPD*TOUT*TOUT*TOUT
726 . +ONE_FIFTH*CPF*TOUT*TOUT*TOUT*TOUT)
727 RBAGJET(KK+3,IJ)=RBAGJET(KK+3,IJ)+DGMOUT
728 RBAGJET(KK+4,IJ)=RBAGJET(KK+4,IJ)+DGEOUT
729 RBAGJET( 9,IJ)=RBAGJET(9 ,IJ)+DGMOUT
730 RBAGJET(10,IJ)=RBAGJET(10,IJ)+DGEOUT
751.OR..OR..OR.
IF(ITTF==0ITTF==11ITTF==12ITTF==13)THEN
752.AND.
IF(IDEF==0P>PDEF+PVOIS
753.AND.
. DTPDEFC>DTPDEFI
754.AND.
. VOL>EM3*AREA**THREE_HALF)THEN
757 IF(ISPMD+1==PMAIN) THEN
759 . ' ** chamber communication membrane is deflated **
'
761 . ' ** monitored volume
',IVOLU(1),' **
'
763 . ' ** chamber communication membrane is
'
766.AND.
IF(IDEF==0 TT>TVENT+TTF) THEN
768 IF(ISPMD+1==PMAIN) THEN
769 WRITE(IOUT,*) ' ** chamber communication starts **
'
770 WRITE(IOUT,*) ' ** monitored volume
',IVOLU(1),' **
'
771 WRITE(ISTDO,*)' ** communication starts **
'
777 NNC=IGRSURF(IPVENT)%NSEG
779 IF(IGRSURF(IPVENT)%ELTYP(KK)==3)THEN
780 K=IGRSURF(IPVENT)%ELEM(KK)
781 ELSEIF(IGRSURF(IPVENT)%ELTYP(KK)==7)THEN
782 K=IGRSURF(IPVENT)%ELEM(KK) + NUMELC
784 K=IGRSURF(IPVENT)%ELEM(KK) + NUMELC + NUMELTG
786 F1(KK) = SQRT( NORMAL(1,K)**2+NORMAL(2,K)**2+NORMAL(3,K)**2 )
794 CALL SUM_6_FLOAT(1, NNC, F1, FRMV6B,1)
797 CALL SPMD_EXCH_FR6(FR_MV,FRMV6B,6)
799 APVENT = FRMV6B(1)+FRMV6B(2)+FRMV6B(3)+
800 . FRMV6B(4)+FRMV6B(5)+FRMV6B(6)
808 IF(ITTF==13) TT1=TT-TTF-TVENT
810 AOUT =AOUT*FPORT*GET_U_FUNC(IPORT,TT1*SCALT,DERI)
814 AOUT =AOUT*FPORP*GET_U_FUNC(IPORP,(P-PVOIS)*SCALP,DERI)
817.AND.
IF(IDEF==1 P>PVOIS.
818 . AND.VOL>EM3*AREA**THREE_HALF)THEN
819 PVOIS = MAX(PVOIS,PCRIT)
820 U=TWO*GAMA/(GAMA-ONE)*P/RO*(ONE-(PVOIS/P)**((GAMA-ONE)/GAMA))
822 U=MIN(U,HALF*VOL/MAX(EM20,AOUT*DT1))
823 DE=RO*(PVOIS/P)**(ONE/GAMA)*HSPEC
824 U=MIN(U,(P-PVOIS)*HALF*MIN(VOL,VVOIS)
825 . /(GAMA-ONE)/DE/MAX(EM20,AOUT*DT1))
827 DMOUT=FLOUT*RO*(PVOIS/P)**(ONE/GAMA)
834 RCBAG(8,I) = RCBAG(8,I) + DMOUT*DT1
840 DGMOUT=RNMI/MAX(EM20,RNM)*DMOUT
842 . CPAI+HALF*CPBI*TBAG+THIRD*CPCI*TBAG*TBAG
843 . +FOURTH*CPDI*TBAG*TBAG*TBAG
845 . +ONE_FIFTH*CPFI*TBAG*TBAG*TBAG*TBAG)
847 RVOLU(22)=RVOLU(22) + DGEOUT
848 RVOLU(24)=RVOLU(24) + DGMOUT
850 RVOLUV(22,II)=RVOLUV(22,II) - DGEOUT
851 RVOLUV(24,II)=RVOLUV(24,II) - DGMOUT
853 RADVOIS= IVOLUV(10,II)
855 I_INJ = IABS(IBAGJET(13,IJ))
856 I_TYPINJ = IGEO(22,I_INJ)
857 NGASES = IGEO(23,I_INJ)
858 NFT=RADVOIS+NRBJET*(IJ-1)
861 IF (I_TYPINJ==1) THEN
862 I_GAS = IGEO(100+(IK-1)*3+1,I_INJ)
863 ELSE IF (I_TYPINJ==2) THEN
864 I_GAS = IGEO(100+(IK-1)*2+1,I_INJ)
875 GMTOT= RBAGJET(KK+1,IJ)
877 DGMOUT=RNMG/MAX(EM20,RNM)*DMOUT
879 . CPA+HALF*CPB*TBAG+THIRD*CPC*TBAG*TBAG
880 . +FOURTH*CPD*TBAG*TBAG*TBAG
882 . +ONE_FIFTH*CPF*TBAG*TBAG*TBAG*TBAG)
884 RBAGJET(KK+3,IJ) = RBAGJET(KK+3,IJ)+DGMOUT
885 RBAGJET(KK+4,IJ) = RBAGJET(KK+4,IJ)+DGEOUT
886 RBAGJET( 9,IJ) = RBAGJET( 9,IJ)+DGMOUT
887 RBAGJET(10,IJ) = RBAGJET(10,IJ)+DGEOUT
889 RBAGVJET(NFT+KK+3) = RBAGVJET(NFT+KK+3)-DGMOUT
890 RBAGVJET(NFT+KK+4) = RBAGVJET(NFT+KK+4)-DGEOUT
891 RBAGVJET(NFT+ 9) = RBAGVJET(NFT+ 9)-DGMOUT
892 RBAGVJET(NFT+10) = RBAGVJET(NFT+10)-DGEOUT
895 IF(ISPMD+1==PMAIN) THEN
897 FSAV(9)=FSAV(9)+FLOUT
901 IF(ISPMD+1==PMAIN) THEN
902 FSAV(9)=FSAV(9)/MAX(EM20,FSAV(8))
subroutine airbagb1(ivolu, icbag, njet, ibagjet, nvent, ibaghol, rvolu, rvoluv, rcbag, rbagjet, rbaghol, fsav, normal, nn, igrsurf, poro, ivoluv, rbagvjet, fr_mv, iparg, ipart, ipartc, iparttg, ipm, pm, elbuf_tab, igroupc, igrouptg, igeo, geo)