47 poolvol, injectq, ratio )
60 TYPE(t_region
) :: region
66 REAL(RFREAL) :: poolvol, ratio, tcoeff, tsum
71 CHARACTER(CHRLEN) :: rcsidentstring
73 REAL(RFREAL) :: coefratio,
pi, poolvolnew, randunif, volpart
74 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: pdv
79 rcsidentstring =
'$RCSfile: PLAG_InjcSetInjection.F90,v $ $Revision: 1.3 $'
81 global => region%global
84 'PLAG_InjcSetInjection.F90' )
94 volpart =
pi/6.0_rfreal* pdv(dv_tile_diam,itile)**3
95 poolvolnew = poolvol - pdv(dv_tile_spload,itile)*volpart
100 IF ( poolvolnew > 0.0_rfreal )
THEN
102 coefratio = tcoeff/poolvolnew
103 tsum = tsum + coefratio*pdv(dv_tile_countdown,itile)
105 IF ( tsum <= 1.0_rfreal )
THEN
107 ratio = volpart/poolvol
110 IF ( randunif <= 0.0_rfreal)
THEN
111 pdv(dv_tile_countdown,itile) = 50.0_rfreal
113 pdv(dv_tile_countdown,itile) = -log(randunif)
120 pdv(dv_tile_countdown,itile) = (tsum-1.0_rfreal)/coefratio
subroutine plag_injcsetinjection(region, pTilePlag, iTile, tCoeff, tSum, poolVol, injectQ, ratio)
subroutine registerfunction(global, funName, fileName)
REAL(RFREAL) function rand1uniform(rdata)
subroutine deregisterfunction(global)