cpikle2.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\cpikle2.f
00002 !
00055                      SUBROUTINE CPIKLE2
00056 !                    ******************
00057 !
00058      &(IKLE3,KLEI3,IKLES,NELEM2,NELMAX2,NPOIN2,NPLAN)
00059 !
00060 !***********************************************************************
00061 ! BIEF   V6P1                                   21/08/2010
00062 !***********************************************************************
00063 !
00064 !
00065 !
00066 !
00067 !
00068 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00069 !| IKLE3          |<->| 3D CONNECTIVITY TABLE
00070 !| IKLES          |-->| 2D CONNECTIVITY TABLE WITH DIMENSION (3,NELEM2)
00071 !| KLEI3          |<--| LIKE IKLE3 BUT WITH SWAPPED DIMENSIONS
00072 !| NELEM2         |-->| NUMBER OF ELEMENTS IN 2D
00073 !| NELMAX2        |-->| MAXIMUM NUMBER OF ELEMENTS IN 2D
00074 !| NPLAN          |-->| NUMBER OF PLANES
00075 !| NPOIN2         |-->| NUMBER OF POINTS IN 2D
00076 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00077 !
00078       IMPLICIT NONE
00079       INTEGER LNG,LU
00080       COMMON/INFO/LNG,LU
00081 !
00082 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00083 !
00084       INTEGER, INTENT(IN)    :: NELEM2,NELMAX2,NPOIN2,NPLAN
00085       INTEGER, INTENT(IN)    :: IKLES(3,NELEM2)
00086       INTEGER, INTENT(INOUT) :: IKLE3(NELMAX2,NPLAN-1,6)
00087       INTEGER, INTENT(INOUT) :: KLEI3(6,NELMAX2,NPLAN-1)
00088 !
00089 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00090 !
00091       INTEGER IELEM,I
00092 !
00093 !-----------------------------------------------------------------------
00094 !
00095 !     BOTTOM AND TOP OF ALL LAYERS
00096 !
00097       IF(NPLAN.GE.2) THEN
00098         DO I = 1,NPLAN-1
00099           DO IELEM = 1,NELEM2
00100             IKLE3(IELEM,I,1) = IKLES(1,IELEM) + (I-1)*NPOIN2
00101             IKLE3(IELEM,I,2) = IKLES(2,IELEM) + (I-1)*NPOIN2
00102             IKLE3(IELEM,I,3) = IKLES(3,IELEM) + (I-1)*NPOIN2
00103             IKLE3(IELEM,I,4) = IKLES(1,IELEM) +  I   *NPOIN2
00104             IKLE3(IELEM,I,5) = IKLES(2,IELEM) +  I   *NPOIN2
00105             IKLE3(IELEM,I,6) = IKLES(3,IELEM) +  I   *NPOIN2
00106             KLEI3(1,IELEM,I) = IKLES(1,IELEM) + (I-1)*NPOIN2
00107             KLEI3(2,IELEM,I) = IKLES(2,IELEM) + (I-1)*NPOIN2
00108             KLEI3(3,IELEM,I) = IKLES(3,IELEM) + (I-1)*NPOIN2
00109             KLEI3(4,IELEM,I) = IKLES(1,IELEM) +  I   *NPOIN2
00110             KLEI3(5,IELEM,I) = IKLES(2,IELEM) +  I   *NPOIN2
00111             KLEI3(6,IELEM,I) = IKLES(3,IELEM) +  I   *NPOIN2
00112           ENDDO
00113         ENDDO
00114       ELSE
00115         IF(LNG.EQ.1) WRITE(LU,*) 'CPIKLE2 : IL FAUT AU MOINS 2 PLANS'
00116         IF(LNG.EQ.2) WRITE(LU,*) 'CPIKLE2 : MINIMUM OF 2 PLANES NEEDED'
00117         CALL PLANTE(1)
00118         STOP
00119       ENDIF
00120 !
00121 !-----------------------------------------------------------------------
00122 !
00123       RETURN
00124       END

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