assvec.f

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

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