gtsh41.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\gtsh41.f
00002 !
00059                      SUBROUTINE GTSH41
00060 !                    *****************
00061 !
00062      &(SHP,SHZ,SHF,WS,FS,ELT,ETA,FRE,IKLE,ELTCAR,
00063      & NPOIN2,NELMAX2,NPLAN,JF,NF,YA4D)
00064 !
00065 !***********************************************************************
00066 ! BIEF   V6P2                                   21/08/2010
00067 !***********************************************************************
00068 !
00069 !
00070 !
00071 !
00072 !
00073 !
00074 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00075 !| ELT            |<--| 2D ELEMENT CHOSEN FOR EVERY POINT
00076 !| ETA            |-->| LEVEL CHOSEN FOR EVERY POINT
00077 !| ELTCAR         |-->| STARTING ELEMENT FOR LINEAR AND QUADRATIC POINTS
00078 !| IKLE           |-->| CONNECTIVITY TABLE
00079 !| NELMAX2        |-->| MAXIMUM NUMBER OF 2D ELEMENTS
00080 !| NPLAN          |-->| NUMBER OF PLANES
00081 !| NPOIN          |-->| NUMBER OF POINTS
00082 !| NSEG           |-->| NUMBER OF SEGMENTS
00083 !| QUAB           |-->| IF YES, THERE ARE QUASI-BUBBLE VARIABLES
00084 !| QUAD           |-->| IF YES, THERE ARE QUADRATIC VARIABLES
00085 !| SHP            |<--| BARYCENTRIC COORDINATES OF NODES IN THEIR
00086 !|                |   | ASSOCIATED ELEMENT "ELT"
00087 !| SHZ            |<--| BARYCENTRIC COORDINATES ON THE VERTICAL
00088 !| WS             |-->| VERTICAL VELOCITY IN TRANSFORMED MESH
00089 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00090 !
00091       IMPLICIT NONE
00092       INTEGER LNG,LU
00093       COMMON/INFO/LNG,LU
00094 !
00095 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00096 !
00097       INTEGER, INTENT(IN)             :: NPOIN2,NELMAX2,NPLAN,JF,NF
00098       INTEGER, INTENT(IN)             :: IKLE(NELMAX2,*),ELTCAR(*)
00099       INTEGER, INTENT(INOUT)          :: ELT(NPOIN2,NPLAN)
00100       INTEGER, INTENT(INOUT)          :: ETA(NPOIN2,NPLAN)
00101       INTEGER, INTENT(INOUT)          :: FRE(NPOIN2,NPLAN)
00102       DOUBLE PRECISION, INTENT(INOUT) :: SHP(3,NPOIN2,NPLAN)
00103       DOUBLE PRECISION, INTENT(INOUT) :: SHZ(NPOIN2,NPLAN)
00104       DOUBLE PRECISION, INTENT(INOUT) :: SHF(NPOIN2,NPLAN)
00105       DOUBLE PRECISION, INTENT(IN)    :: WS(NPOIN2,NPLAN)
00106       DOUBLE PRECISION, INTENT(IN)    :: FS(NPOIN2,NPLAN)
00107       LOGICAL         , INTENT(IN)    :: YA4D
00108 !
00109 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00110 !
00111       INTEGER I,IELEM,IPLAN
00112 !
00113 !-----------------------------------------------------------------------
00114 !
00115 !     POINTS IN THE BOTTOM (LIKE GTSH11)
00116 !
00117       DO I=1,NPOIN2
00118         IELEM=ELTCAR(I)
00119         ELT(I,1) = IELEM
00120         IF(IELEM.NE.0) THEN
00121           IF(IKLE(IELEM,1).EQ.I) THEN
00122             SHP(1,I,1)=1.D0
00123             SHP(2,I,1)=0.D0
00124             SHP(3,I,1)=0.D0
00125           ELSEIF(IKLE(IELEM,2).EQ.I) THEN
00126             SHP(1,I,1)=0.D0
00127             SHP(2,I,1)=1.D0
00128             SHP(3,I,1)=0.D0
00129           ELSEIF(IKLE(IELEM,3).EQ.I) THEN
00130             SHP(1,I,1)=0.D0
00131             SHP(2,I,1)=0.D0
00132             SHP(3,I,1)=1.D0
00133           ELSE
00134             WRITE(LU,*) 'PROBLEM IN GTSH41'
00135             CALL PLANTE(1)
00136             STOP
00137           ENDIF
00138         ENDIF
00139       ENDDO
00140 !
00141 !     OTHER PLANES
00142 !
00143       DO IPLAN=2,NPLAN
00144         DO I=1,NPOIN2
00145           ELT(I,IPLAN) = ELT(I,1)
00146           SHP(1,I,IPLAN)=SHP(1,I,1)
00147           SHP(2,I,IPLAN)=SHP(2,I,1)
00148           SHP(3,I,IPLAN)=SHP(3,I,1)
00149         ENDDO
00150       ENDDO
00151 !
00152 !     NOW ETA AND SHZ, DONE DEPENDING ON THE VERTICAL VELOCITY
00153 !
00154       DO IPLAN = 1,NPLAN
00155         DO I=1,NPOIN2
00156           IF((WS(I,IPLAN).GT.0.D0.AND.IPLAN.NE.1).OR.
00157      &                                              IPLAN.EQ.NPLAN) THEN
00158             ETA(I,IPLAN) = IPLAN-1
00159             SHZ(I,IPLAN) = 1.D0
00160           ELSE
00161             ETA(I,IPLAN) = IPLAN
00162             SHZ(I,IPLAN) = 0.D0
00163           ENDIF
00164         ENDDO
00165       ENDDO
00166 !
00167 !     NOW FRE AND SHF, DONE DEPENDING ON THE FREQUENCY VELOCITY
00168 !
00169       IF(YA4D) THEN
00170         DO IPLAN = 1,NPLAN
00171           DO I=1,NPOIN2
00172             IF((FS(I,IPLAN).GT.0.D0.AND.JF.NE.1).OR.JF.EQ.NF) THEN
00173               FRE(I,IPLAN) = JF-1
00174               SHF(I,IPLAN) = 1.D0
00175             ELSE
00176               FRE(I,IPLAN) = JF
00177               SHF(I,IPLAN) = 0.D0
00178             ENDIF
00179           ENDDO
00180         ENDDO
00181       ENDIF
00182 !
00183 !-----------------------------------------------------------------------
00184 !
00185       RETURN
00186       END

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