54 TYPE(t_region
),
POINTER :: regions(:)
57 INTEGER :: ireg, ipatch, ipatchsrc
60 CHARACTER(CHRLEN) ::
msg
62 INTEGER :: bctype, iregsrc, lbs, l1bs, l1es, l2bs, l2es
69 global => regions(1)%global
72 'RFLO_FindSourcePatches.F90' )
76 DO ireg=1,global%nRegions
77 DO ipatch=1,regions(ireg)%nPatches
79 patch => regions(ireg)%levels(1)%patches(ipatch)
82 IF ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
83 (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) .OR. &
84 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) .OR. &
85 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
86 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
THEN
87 iregsrc =
patch%srcRegion
98 DO ipatchsrc=1,regions(iregsrc)%nPatches
99 IF (iregsrc/=ireg .OR. ipatchsrc/=ipatch)
THEN
100 patchsrc => regions(iregsrc)%levels(1)%patches(ipatchsrc)
101 IF (patchsrc%bcType==bctype .AND. &
102 patchsrc%lbound==lbs .AND. &
103 patchsrc%l1beg ==l1bs .AND. &
104 patchsrc%l1end ==l1es .AND. &
105 patchsrc%l2beg ==l2bs .AND. &
106 patchsrc%l2end ==l2es)
THEN
107 patch%srcPatch = ipatchsrc
112 IF (
patch%srcPatch < 0)
THEN
113 WRITE(
msg,1000) ireg,ipatch,bctype
114 CALL
errorstop( global,err_patch_nosource,__line__,
msg )
125 1000
FORMAT(
'Region ',i5,
', patch ',i3,
', BC type ',i3)
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
subroutine registerfunction(global, funName, fileName)
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine rflo_findsourcepatches(regions)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)