filpol.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\filpol.f
00002 !
00061                      SUBROUTINE FILPOL
00062 !                    *****************
00063 !
00064      &( F , C , XSOM , YSOM , NSOM , MESH )
00065 !
00066 !***********************************************************************
00067 ! BIEF   V6P1                                   21/08/2010
00068 !***********************************************************************
00069 !
00070 !
00071 !
00072 !
00073 !
00074 !
00075 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00076 !| C              |-->| CONSTANT TO BE PRESCRIBED INSIDE THE POLYGON.
00077 !| F              |<->| THE RESULT (VECTOR)
00078 !| MESH           |-->| MESH STRUCTURE
00079 !| NSOM           |-->| NUMBER OF VERTICES IN THE POLYGON
00080 !| XSOM           |-->| ABSCISSAE OF VERTICES IN THE POLYGON
00081 !| YSOM           |-->| ORDINATES OF VERTICES IN THE POLYGON
00082 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00083 !
00084       USE BIEF, EX_FILPOL => FILPOL
00085 !
00086       IMPLICIT NONE
00087       INTEGER LNG,LU
00088       COMMON/INFO/LNG,LU
00089 !
00090 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00091 !
00092       INTEGER, INTENT(IN) :: NSOM
00093       DOUBLE PRECISION, INTENT(IN) :: C,XSOM(*),YSOM(*)
00094       TYPE(BIEF_OBJ), INTENT(INOUT) :: F
00095       TYPE(BIEF_MESH), INTENT(IN) :: MESH
00096 !
00097 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00098 !
00099       INTEGER NPOIN,IELM
00100 !
00101 !-----------------------------------------------------------------------
00102 !
00103 !  TYPE OF ELEMENT FOR VELOCITY
00104 !
00105       IELM = F%ELM
00106 !
00107 !-----------------------------------------------------------------------
00108 !
00109       IF(IELM.EQ.10) THEN
00110 !
00111         CALL FILP10( F%R , C , XSOM , YSOM , NSOM ,
00112      &       MESH%X%R,MESH%Y%R,MESH%NELEM,MESH%NELMAX,MESH%IKLE%I)
00113 !
00114       ELSEIF(IELM.EQ.11) THEN
00115 !
00116         NPOIN = F%DIM1
00117         CALL FILP11(F%R,C,XSOM,YSOM,NSOM,MESH%X%R,MESH%Y%R,NPOIN)
00118 !
00119       ELSEIF(IELM.EQ.12) THEN
00120 !
00121         NPOIN = F%DIM1 - MESH%NELEM
00122         CALL FILP12( F%R , C , XSOM , YSOM , NSOM , MESH%X%R , MESH%Y%R,
00123      &               NPOIN , MESH%NELEM , MESH%NELMAX , MESH%IKLE%I)
00124 !
00125       ELSE
00126 !
00127 !       ELM NOT IMPLEMENTED: ERROR
00128 !
00129         IF (LNG.EQ.1) WRITE(LU,100) IELM
00130         IF (LNG.EQ.2) WRITE(LU,101) IELM
00131 100     FORMAT(1X,'FILPOL (BIEF) : IELM = ',1I6,' ELEMENT NON PREVU')
00132 101     FORMAT(1X,'FILPOL (BIEF): IELM = ',1I6,' ELEMENT NOT AVAILABLE')
00133         CALL PLANTE(1)
00134         STOP
00135 !
00136       ENDIF
00137 !
00138 !-----------------------------------------------------------------------
00139 !
00140       RETURN
00141       END

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