34 1 X, IRECT, LMSR, MSR,
35 2 NSV, ILOC, IRTL, NSEG,
36 3 XFACE, NBSECNDS, ITAB, HAS_MOVED,
37 4 TAB_RMAX, TAB_RMAX_UID,LFT, LLT,
51#include "implicit_f.inc"
59 INTEGER,
INTENT(INOUT) :: LFT
60 INTEGER,
INTENT(INOUT) :: LLT
61 INTEGER,
INTENT(INOUT) :: NFT
62 INTEGER,
INTENT(IN) :: IRECT(4,*), LMSR(*), MSR(*), NSV(*), ILOC(*), NSEG(*)
63 INTEGER,
INTENT(INOUT) :: IRTL(*)
64 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: xface
67 INTEGER TAB_RMAX_UID(4,*),HAS_MOVED(*)
68 INTEGER NBSECNDS,ITAB(*)
73 INTEGER I, IL, JL, L, JJJ, JJ, J1, J2, LL1, LL2, LL, LG, IG, JG, M, N
74 INTEGER KM1(4), KN1(4), LSEG, LSEG_OLD, LSEG_NEW, IFLAG
75 INTEGER FACE_GLOB_ID(4)
82 INTEGER IS_SUP_FACE_ID
83 EXTERNAL is_sup_face_id
90 has_moved(1:nbsecnds) = 1
91 tab_rmax(1:nbsecnds) = zero
92 tab_rmax_uid(1:4,1:nbsecnds) = 0
102 IF(xface(i)==zero)
THEN
113 face_glob_id(1) = itab(msr(irect(1,l)))
114 face_glob_id(2) = itab(msr(irect(2,l)))
115 face_glob_id(3) = itab(msr(irect(3,l)))
116 face_glob_id(4) = itab(msr(irect(4,l)))
120 IF(irect(jj,l)==jl)
EXIT
124 IF(jj==3.AND.irect(3,l)==irect(4,l)) j1=1
128 iflag=is_sup_face_id(tab_rmax_uid(1,il),face_glob_id)
130 IF(bmin > bmax .OR. (bmin == bmax .AND. iflag == 1))
THEN
134 tab_rmax_uid(1,il) = face_glob_id(1)
135 tab_rmax_uid(2,il) = face_glob_id(2)
136 tab_rmax_uid(3,il) = face_glob_id(3)
137 tab_rmax_uid(4,il) = face_glob_id(4)
140 IF(bmin >= zero)
THEN
154 IF(irect(jj,lg)==jl)
EXIT
158 IF(jj==3.AND.irect(3,lg)==irect(4,lg)) j1=1
159 face_glob_id(1) =itab(msr(irect(1,lg)))
160 face_glob_id(2) =itab(msr(irect(2,lg)))
161 face_glob_id(3) =itab(msr(irect(3,lg)))
162 face_glob_id(4) =itab(msr(irect(4,lg)))
166 iflag=is_sup_face_id(tab_rmax_uid(1,il),face_glob_id)
167 IF(bmin > bmax .OR. (bmin == bmax .AND. iflag == 1))
THEN
171 tab_rmax_uid(1,il) = face_glob_id(1)
172 tab_rmax_uid(2,il) = face_glob_id(2)
173 tab_rmax_uid(3,il) = face_glob_id(3)
174 tab_rmax_uid(4,il) = face_glob_id(4)
177 IF(bmin < zero) cycle
188 tab_rmax_uid(1,il) = itab(msr(irect(1,lseg_new)))
189 tab_rmax_uid(2,il) = itab(msr(irect(2,lseg_new)))
190 tab_rmax_uid(3,il) = itab(msr(irect(3,lseg_new)))
191 tab_rmax_uid(4,il) = itab(msr(irect(4,lseg_new)))
subroutine i8msr3(x, irect, lmsr, msr, nsv, iloc, irtl, nseg, xface, nbsecnds, itab, has_moved, tab_rmax, tab_rmax_uid, lft, llt, nft)