gtsh31.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\gtsh31.f
00002 !
00041                      SUBROUTINE GTSH31
00042 !                    *****************
00043 !
00044      &(SHP,ELT,IKLE,ELTCAR,NPOIN,NELMAX)
00045 !
00046 !***********************************************************************
00047 ! BIEF   V6P3                                   21/09/2012
00048 !***********************************************************************
00049 !
00050 !
00051 !
00052 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00053 !| ELT            |<--| ELEMENT CHOSEN FOR EVERY POINT
00054 !| ELTCAR         |-->| STARTING ELEMENT FOR LINEAR AND QUADRATIC POINTS
00055 !| IKLE           |-->| CONNECTIVITY TABLE
00056 !| NELMAX         |-->| MAXIMUM NUMBER OF ELEMENTS
00057 !| NPOIN          |-->| NUMBER OF POINTS
00058 !| NSEG           |-->| NUMBER OF SEGMENTS
00059 !| SHP            |<--| BARYCENTRIC COORDINATES OF NODES IN THEIR
00060 !|                |   | ASSOCIATED ELEMENT "ELT"
00061 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00062 !
00063       IMPLICIT NONE
00064       INTEGER LNG,LU
00065       COMMON/INFO/LNG,LU
00066 !
00067 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00068 !
00069       INTEGER, INTENT(IN)             :: NPOIN,NELMAX
00070       INTEGER, INTENT(IN)             :: IKLE(NELMAX,4),ELTCAR(NPOIN)
00071       INTEGER, INTENT(INOUT)          :: ELT(NPOIN)
00072       DOUBLE PRECISION, INTENT(INOUT) :: SHP(4,NPOIN)
00073 !
00074 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00075 !
00076       INTEGER I,IELEM,IPLAN
00077 !
00078 !-----------------------------------------------------------------------
00079 !
00080       DO I=1,NPOIN
00081         IELEM=ELTCAR(I)
00082         ELT(I) = IELEM
00083         IF(IELEM.NE.0) THEN
00084           IF(IKLE(IELEM,1).EQ.I) THEN
00085             SHP(1,I)=1.D0
00086             SHP(2,I)=0.D0
00087             SHP(3,I)=0.D0
00088             SHP(4,I)=0.D0
00089           ELSEIF(IKLE(IELEM,2).EQ.I) THEN
00090             SHP(1,I)=0.D0
00091             SHP(2,I)=1.D0
00092             SHP(3,I)=0.D0
00093             SHP(4,I)=0.D0
00094           ELSEIF(IKLE(IELEM,3).EQ.I) THEN
00095             SHP(1,I)=0.D0
00096             SHP(2,I)=0.D0
00097             SHP(3,I)=1.D0
00098             SHP(4,I)=0.D0
00099           ELSEIF(IKLE(IELEM,4).EQ.I) THEN
00100             SHP(1,I)=0.D0
00101             SHP(2,I)=0.D0
00102             SHP(3,I)=0.D0
00103             SHP(4,I)=1.D0
00104           ELSE
00105             WRITE(LU,*) 'PROBLEM IN GTSH31'
00106             WRITE(LU,*) 'POINT ',I,' ELEMENT ',IELEM
00107             WRITE(LU,*) 'NPOIN=',NPOIN
00108             CALL PLANTE(1)
00109             STOP
00110           ENDIF
00111         ENDIF
00112       ENDDO
00113 !
00114 !-----------------------------------------------------------------------
00115 !
00116       RETURN
00117       END

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