71 TYPE(t_region
),
INTENT(INOUT),
TARGET :: region
74 INTEGER :: iedge, icont, ipcls
77 CHARACTER(CHRLEN) :: rcsidentstring
79 INTEGER ::
icell, indpeul0, ipeul, ncont,
nedges, npcls
83 INTEGER,
POINTER,
DIMENSION(:) :: pcvplagmass
84 INTEGER,
POINTER,
DIMENSION(:,:) :: paivl
86 REAL(RFREAL) :: capturearea, coeffscour, diaml, mdotdepo, &
87 onefourth, peulconc,
pi, relvelmagl
88 REAL(RFREAL),
DIMENSION(3) :: vell, vels
89 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: pcvs, pdvl
91 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: pdvg
94 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: pcvg
99 TYPE(t_plag),
POINTER :: pplag
102 TYPE(t_peul),
POINTER :: ppeul
106 TYPE(t_spec),
POINTER :: ppeul
108 TYPE(t_mixt),
POINTER :: pmixt
113 rcsidentstring =
'$RCSfile: INRT_CalcScouring.F90,v $ $Revision: 1.4 $'
115 global => region%global
118 'INRT_CalcScouring.F90' )
128 ilev = region%currLevel
129 IF (global%plagUsed) npcls = region%levels(ilev)%plag%nPcls
132 IF (global%plagUsed) npcls = region%plag%nPcls
135 IF (npcls < 1) go to 999
140 IF ( region%mixt%cvState /= cv_mixt_state_duvwp )
THEN
141 CALL
errorstop(global,err_cv_state_invalid,__line__)
148 pplag => region%levels(ilev)%plag
150 ppeul => region%levels(ilev)%peul
152 pmixt => region%levels(ilev)%mixt
160 pinputinrt => region%inrtInput
180 pinrtscour => pinputinrt%inrts(inrt_type_scouring)
184 onefourth = 1.0_rfreal/4.0_rfreal
187 ncont = region%plagInput%nCont
188 nedges = pinrtscour%nEdges
190 indpeul0 = pinputinrt%indPeul0
196 diaml = pdvl(dv_plag_diam,ipcls)
198 vell(1) = pdvl(dv_plag_uvel,ipcls)
199 vell(2) = pdvl(dv_plag_vvel,ipcls)
200 vell(3) = pdvl(dv_plag_wvel,ipcls)
202 icell = paivl(aiv_plag_icells,ipcls)
208 vels(1) = pdvg(dv_mixt_uvel,
icell)
209 vels(2) = pdvg(dv_mixt_vvel,
icell)
210 vels(3) = pdvg(dv_mixt_wvel,
icell)
213 vels(1) = pcvg(cv_mixt_xvel,
icell)
214 vels(2) = pcvg(cv_mixt_yvel,
icell)
215 vels(3) = pcvg(cv_mixt_zvel,
icell)
218 relvelmagl =
sqrt( ( vell(1)-vels(1) )**2 &
219 + ( vell(2)-vels(2) )**2 &
220 + ( vell(3)-vels(3) )**2 )
224 ipeul = pinrtscour%edges(iedge)%iNode(1) - indpeul0
225 peulconc = pcvs(ipeul,
icell)
236 coeffscour = pinrtscour%data(inrt_dat_scouring_coef0 + iedge)
238 capturearea = onefourth *
pi * diaml**2 * coeffscour
240 mdotdepo = peulconc * capturearea * relvelmagl
242 pplag%inrtSources(iedge,ipcls) = mdotdepo
subroutine registerfunction(global, funName, fileName)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE icell
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
subroutine inrt_calcscouring(region)