66 TYPE(t_region
),
POINTER :: regions(:)
69 INTEGER :: ireg,ipeul,iplag,iedge
72 INTEGER,
PARAMETER :: nkeys_max = 40
73 INTEGER,
PARAMETER :: npeul_max = 10
75 CHARACTER(CHRLEN) :: rcsidentstring
76 CHARACTER(CHRLEN) :: keys(nkeys_max)
78 INTEGER ::
brbeg,brend
79 INTEGER :: nplag,npeul
80 INTEGER :: nfixedimplkeys,nfixednodekeys,nkeys
81 INTEGER :: ind,indplag0,indpeul0
82 INTEGER :: ikey,ikeyused,ikeycoef0,ikeynode0,ikeyplagactv,ikeyplagperm
83 INTEGER :: ikeypeulactv0,ikeypeulperm0,ikeyactv,ikeyperm
85 LOGICAL :: defined(nkeys_max)
88 REAL(RFREAL) :: vals(nkeys_max)
96 rcsidentstring =
'$RCSfile: INRT_ReadScouring.F90,v $ $Revision: 1.3 $'
98 global => regions(1)%global
101 'INRT_ReadScouring.F90' )
110 keys(ikeyused) =
'USED'
112 ikeycoef0 = nfixedimplkeys
118 ikeynode0 = ikeycoef0 + npeul_max
119 ikeyplagactv = ikeynode0 + 1
120 ikeyplagperm = ikeynode0 + 2
123 keys(ikeyplagactv) =
'PLAG_ACTV'
124 keys(ikeyplagperm) =
'PLAG_PERM'
126 ikeypeulactv0 = ikeynode0 + nfixednodekeys
127 ikeypeulperm0 = ikeypeulactv0 + npeul_max
139 keys(ikeypeulactv0+ipeul) = trim(keys(ikeypeulactv0+ipeul))//
'_ACTV'
140 keys(ikeypeulperm0+ipeul) = trim(keys(ikeypeulperm0+ipeul))//
'_PERM'
143 nkeys = ikeypeulperm0 + npeul_max
145 IF (nkeys > nkeys_max) CALL
errorstop( global,err_exceeds_decl_mem,__line__ )
153 CALL
readsection( global,if_input,nkeys,keys,vals,defined )
154 brbeg = lbound(regions,1)
155 brend = ubound(regions,1)
160 input => regions(ireg)%inrtInput
161 inrt =>
input%inrts(inrt_type_scouring)
165 IF (.NOT.
input%defaultRead) &
166 CALL
errorstop( global,err_inrt_defunread,__line__ )
168 IF (inrt%used) CALL
errorstop( global,err_inrt_read,__line__ )
175 IF (npeul > npeul_max) &
176 CALL
errorstop( global,err_exceeds_decl_mem,__line__ )
178 indplag0 =
input%indPlag0
179 indpeul0 =
input%indPeul0
185 IF (defined(ikeyused))
THEN
186 IF (nint(vals(ikeyused)) == 0) inrt%used = .false.
189 IF (nplag < 1) inrt%used = .false.
190 IF (npeul < 1) inrt%used = .false.
192 IF (.NOT. inrt%used) cycle
200 DO iedge = 1,inrt%nEdges
202 ipeul = inrt%edges(iedge)%iNode(1) - indpeul0
204 IF (ipeul < 1 .OR. ipeul > npeul) &
205 CALL
errorstop( global,err_inrt_indexrange,__line__ )
207 ikey = ikeycoef0 + ipeul
208 ind = inrt_dat_scouring_coef0 + iedge
212 IF (defined(ikey)) coef = vals(ikey)
214 IF (coef < 0._rfreal) CALL
errorstop( global,err_inrt_badval,__line__ )
216 inrt%data(ind) = coef
224 ind = indplag0 + iplag
226 IF (defined(ikeyplagactv)) &
228 inrt%activeness(ind))
230 IF (defined(ikeyplagperm)) &
232 inrt%permission(ind))
240 ikeyactv = ikeypeulactv0 + ipeul
241 ikeyperm = ikeypeulperm0 + ipeul
242 ind = indpeul0 + ipeul
244 IF (defined(ikeyactv)) &
246 inrt%activeness(ind))
248 IF (defined(ikeyperm)) &
250 inrt%permission(ind))
subroutine makenumberedkeys(keys, indBegin, string, numBegin, numEnd, numSkip)
subroutine registerfunction(global, funName, fileName)
subroutine inrt_determinetokens(region, inrt)
**********************************************************************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 brbeg
subroutine inrt_readscouring(regions)
subroutine inrt_definescouring(region)
subroutine input(X, NNODE, NDC, NCELL, NFCE, NBPTS, NBFACE, ITYP, NPROP, XBNDY, XFAR, YFAR, ZFAR)
subroutine inrt_setactiveness(global, val, actv)
subroutine readsection(global, fileID, nvals, keys, vals, defined)
subroutine readregionsection(global, fileID, nvals, keys, vals, brbeg, brend, defined)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
subroutine inrt_setpermission(global, val, perm)