asmvec.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\asmvec.f
00002 !
00059                      SUBROUTINE ASMVEC
00060 !                    *****************
00061 !
00062      &(X, IKLE,NPOIN,NELEM,NELMAX,NDP,W,INIT,LV)
00063 !
00064 !***********************************************************************
00065 ! BIEF   V6P1                                   21/08/2010
00066 !***********************************************************************
00067 !
00068 !
00069 !
00070 !
00071 !
00072 !
00073 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00074 !| IKLE           |-->| CONNECTIVITY TABLE
00075 !| INIT           |-->| LOGICAL : IF TRUE X IS INITIALISED TO 0.
00076 !| LV             |-->| VECTOR LENGTH OF THE COMPUTER
00077 !| NDP            |-->| SECOND DIMENSION OF IKLE
00078 !| NELEM          |-->| NUMBER OF ELEMENTS IN THE MESH
00079 !| NELMAX         |-->| FIRST DIMENSION OF IKLE AND W.
00080 !| NPOIN          |-->| NUMBER OF POINTS IN X
00081 !| W              |-->| WORK ARRAY WITH A NON ASSEMBLED FORM OF THE
00082 !|                |   | RESULT
00083 !|                |   | W HAS DIMENSION NELMAX * NDP(IELM)
00084 !|                |   | NDP IS THE NUMBER OF POINTS IN THE ELEMENT
00085 !| X              |<->| ASSEMBLED VECTOR
00086 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00087 !
00088       USE BIEF, EX_ASMVEC => ASMVEC
00089 !
00090       IMPLICIT NONE
00091       INTEGER LNG,LU
00092       COMMON/INFO/LNG,LU
00093 !
00094 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00095 !
00096       INTEGER         , INTENT(IN)    :: NELMAX,NPOIN,NELEM,NDP,LV
00097       DOUBLE PRECISION, INTENT(INOUT) :: X(NPOIN)
00098       INTEGER         , INTENT(IN)    :: IKLE(NELMAX,NDP)
00099       DOUBLE PRECISION, INTENT(IN)    :: W(NELMAX,NDP)
00100       LOGICAL         , INTENT(IN)    :: INIT
00101 !
00102 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00103 !
00104       INTEGER IDP
00105 !
00106 !-----------------------------------------------------------------------
00107 !   INITIALISES VECTOR X TO 1 IF(INIT)
00108 !-----------------------------------------------------------------------
00109 !
00110       IF(INIT) CALL OV( 'X=C     ' , X , X , X , 1.D0 , NPOIN )
00111 !
00112 !-----------------------------------------------------------------------
00113 !   ASSEMBLES, CONTRIBUTION OF LOCAL POINTS 1,... TO NDP
00114 !-----------------------------------------------------------------------
00115 !
00116       DO IDP = 1 , NDP
00117 !
00118         CALL ASMVE1(X, IKLE(1,IDP),W(1,IDP),NPOIN,NELEM,NELMAX,LV)
00119 !
00120       ENDDO
00121 !
00122 !-----------------------------------------------------------------------
00123 !
00124       RETURN
00125       END

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