gredel_fdnrst.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\gretel\gredel_fdnrst.f
00002 !
00046                         SUBROUTINE GREDEL_FDNRST
00047 !                       ***************************
00048      &(IFRM,ITO,X,Y,NODENRS,NPOIN2,IFRM1,ITOP1)
00049 !
00050 !***********************************************************************
00051 ! PARALLEL   V6P0                                   21/08/2010
00052 !***********************************************************************
00053 !
00054 !
00055 !
00056 !
00057 !
00058 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00059 !| IFRM           |-->|
00060 !| IFRM1          |---|
00061 !| ITO            |-->|
00062 !| ITOP1          |---|
00063 !| NODENRS        |-->| IF > 0 : NODE NUMBER
00064 !|                |   | IF
00065 !| NPOIN2         |-->| NUMBER OF POINTS IN 2D
00066 !| NPTFR          |-->| NOMBRE DE POINTS FRONTIERES
00067 !| X,Y            |-->| NODE COORDINATES
00068 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00069 !
00070       IMPLICIT NONE
00071       INTEGER LNG,LU
00072       COMMON/INFO/LNG,LU
00073 !
00074 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00075 !
00076       INTEGER, INTENT(IN)          :: IFRM,ITO,NPOIN2
00077       INTEGER, INTENT(IN)          :: NODENRS(NPOIN2)
00078       INTEGER, INTENT(INOUT)       :: IFRM1,ITOP1
00079       REAL, INTENT(IN) :: X(NPOIN2), Y(NPOIN2)
00080 !
00081 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00082 !
00083       INTEGER IPOIN
00084       REAL XFRM1,XTOP1,YFRM1,YTOP1,DISFRM,DISTO,DX,DY
00085 !
00086 !-----------------------------------------------------------------------
00087 !
00088       XFRM1  = X(IFRM)
00089       YFRM1  = Y(IFRM)
00090       XTOP1  = X(ITO )
00091       YTOP1  = Y(ITO )
00092       DISFRM = XFRM1-XTOP1
00093       XFRM1  = XFRM1 + DISFRM
00094       XTOP1  = XTOP1 - DISFRM
00095       DISFRM = YFRM1-YTOP1
00096       YFRM1  = YFRM1 + DISFRM
00097       YTOP1  = YTOP1 - DISFRM
00098 !
00099       DX     = XFRM1-X(1)
00100       DY     = YFRM1-Y(1)
00101       DISFRM = DX*DX + DY*DY
00102       DX     = XTOP1-X(1)
00103       DY     = YTOP1-Y(1)
00104       DISTO  = DX*DX + DY*DY
00105       IFRM1  = 1
00106       ITOP1  = 1
00107       DO IPOIN = 2, NPOIN2
00108         DX     = XFRM1-X(IPOIN)
00109         DY     = YFRM1-Y(IPOIN)
00110         DX     = DX*DX + DY*DY
00111         IF(DX.LT.DISFRM) THEN
00112           DISFRM = DX
00113           IFRM1  = IPOIN
00114         ENDIF
00115         DX     = XTOP1-X(IPOIN)
00116         DY     = YTOP1-Y(IPOIN)
00117         DX     = DX*DX + DY*DY
00118         IF(DX.LT.DISTO) THEN
00119           DISTO  = DX
00120           ITOP1  = IPOIN
00121         ENDIF
00122       ENDDO
00123       IFRM1 = NODENRS(IFRM1)
00124       ITOP1 = NODENRS(ITOP1)
00125 !
00126 !-----------------------------------------------------------------------
00127 !
00128       RETURN
00129       END SUBROUTINE GREDEL_FDNRST

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0