cdlproj.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac2d\cdlproj.f
00002 !
00046                      SUBROUTINE CDLPROJ
00047 !                    ******************
00048 !
00049      &(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KNEU,UA)
00050 !
00051 !***********************************************************************
00052 ! TELEMAC2D   V6P1                                   21/08/2010
00053 !***********************************************************************
00054 !
00055 !
00056 !
00057 !
00058 !
00059 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00060 !| KNEU           |-->| CONVENTION FOR NEUMANN POINTS
00061 !| LIMPRO         |-->| TYPES OF BOUNDARY CONDITION
00062 !| NBOR           |-->| GLOBAL INDICES FOR BORD NODES
00063 !| NPTFR          |-->| TOTAL NUMBER OF BOUNDARY NODES
00064 !| NS             |-->| TOTAL NUMBER OF NODES
00065 !| UA             |<->| WORKING TABLE
00066 !| XNEBOR         |-->| OUTWARD UNIT NORMAL (X COMPONENT)
00067 !| YNEBOR         |-->| OUTWARD UNIT NORMAL (Y COMPONENT)
00068 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00069 !
00070       IMPLICIT NONE
00071       INTEGER LNG,LU
00072       COMMON/INFO/LNG,LU
00073 !
00074 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00075 !
00076       INTEGER, INTENT(IN) :: NS,NPTFR,KNEU
00077       INTEGER, INTENT(IN) :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00078       DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00079       DOUBLE PRECISION, INTENT(INOUT) :: UA(3,NS)
00080 !
00081 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00082 !
00083       INTEGER IS,K
00084 !
00085       DOUBLE PRECISION VNX,VNY,CEN
00086 !
00087 !-----------------------------------------------------------------------
00088 !
00089 !  SLIPING CONDITION
00090 !  ***********************
00091 !
00092 !
00093       DO K=1,NPTFR
00094 !
00095         IF(LIMPRO(K,1).EQ.KNEU) THEN
00096 !
00097           IS=NBOR(K)
00098           VNX=XNEBOR(K)
00099           VNY=YNEBOR(K)
00100           CEN=UA(2,IS)*VNX+UA(3,IS)*VNY
00101           UA(2,IS) = UA(2,IS) -CEN*VNX
00102           UA(3,IS) = UA(3,IS) -CEN*VNY
00103 !
00104         ENDIF
00105 !
00106       ENDDO
00107 !
00108 !-----------------------------------------------------------------------
00109 !
00110       RETURN
00111       END

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