mass3d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac3d\mass3d.f
00002 !
00080                      SUBROUTINE MASS3D
00081 !                    *****************
00082 !
00083      &(INFO,LT)
00084 !
00085 !***********************************************************************
00086 ! TELEMAC3D   V6P1                                   21/08/2010
00087 !***********************************************************************
00088 !
00089 !
00090 !
00091 !
00092 !
00093 !
00094 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00095 !| INFO           |-->| LOGICAL TO INDICATE IF PRINTINGS MUST BE DONE
00096 !| LT             |-->| CURRENT TIME STEP NUMBER
00097 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00098 !
00099       USE BIEF
00100       USE DECLARATIONS_TELEMAC
00101       USE DECLARATIONS_TELEMAC3D
00102       IMPLICIT NONE
00103       INTEGER LNG,LU
00104       COMMON/INFO/LNG,LU
00105 !
00106 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00107 !
00108       INTEGER, INTENT(IN) :: LT
00109       LOGICAL, INTENT(IN) :: INFO
00110 !
00111 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00112 !
00113       INTEGER ITRAC,I
00114 !
00115 !***********************************************************************
00116 !
00117 ! FUNCTIONS
00118 !
00119       DOUBLE PRECISION P_DSUM
00120       EXTERNAL P_DSUM
00121 !
00122 !***********************************************************************
00123 !
00124 !   WATER MASS
00125 !   ==========
00126 !
00127       CALL VECTOR
00128      &  (T2_01,'=','MASVEC          ',IELM2H,1.D0,H,SVIDE,SVIDE,
00129      &  SVIDE, SVIDE, SVIDE, MESH2D, MSK, MASKEL)
00130       MASSE_WATER = BIEF_SUM(T2_01)
00131 !
00132       IF(NCSIZE.GT.1) MASSE_WATER = P_DSUM(MASSE_WATER)
00133 !
00134       IF(INFO.AND.LT.EQ.0) THEN
00135         IF(LNG.EQ.1) THEN
00136           WRITE(LU,*) 'MASSE D''EAU INITIALE DANS LE DOMAINE :',
00137      &                MASSE_WATER
00138         ENDIF
00139         IF(LNG.EQ.2) THEN
00140           WRITE(LU,*) 'INITIAL MASS OF WATER IN THE DOMAIN :',
00141      &                MASSE_WATER
00142         ENDIF
00143       ENDIF
00144 !
00145 !   TRACERS MASS
00146 !   ============
00147 !
00148       IF(NTRAC.GT.0) THEN
00149 !
00150         DO ITRAC=1,NTRAC
00151 !
00152 !         UP TO RELEASE 5.4
00153 !
00154 !         CALL VECTOR
00155 !    &    (T3_01, '=', 'MASVEC          ', IELM3, 1.D0,
00156 !    &     TA%ADR(ITRAC)%P,
00157 !    &     SVIDE, SVIDE, SVIDE, SVIDE, SVIDE, MESH3D, MSK, MASKEL)
00158 !         MASSE%R(5+ITRAC) = SUM(T3_01)
00159 !
00160 !         FROM RELEASE 5.5 ON
00161 !
00162 !         THE 2 VERSIONS ARE NOT EQUIVALENT WHEN VOLU IS COMPUTED
00163 !         WITH FORMULA MASBAS2 WHICH GIVES A COMPATIBILITY WITH 2D
00164 !         WHEN THERE IS A MASS-LUMPING
00165 !
00166 !         TRACERS IN MASSE COME AFTER U,V,W,K AND EPSILON (HENCE THE 5)
00167 !
00168           MASSE%R(5+ITRAC) = 0.D0
00169           DO I=1,NPOIN3
00170             MASSE%R(5+ITRAC)=MASSE%R(5+ITRAC)+TA%ADR(ITRAC)%P%R(I)*
00171      &                                        VOLU%R(I)
00172           ENDDO
00173 !
00174 !         END OF MODIFICATION BETWEEN 5.4 AND 5.5
00175 !
00176           IF(NCSIZE.GT.1) MASSE%R(5+ITRAC) = P_DSUM(MASSE%R(5+ITRAC))
00177 !
00178         ENDDO
00179 !
00180       ENDIF
00181 !
00182 !-----------------------------------------------------------------------
00183 !
00184 !101   FORMAT(' MASSE D''EAU INITIALE DANS LE DOMAINE : ',3X, G16.7)
00185 !102   FORMAT(' INITIAL MASS OF WATER IN THE DOMAIN :',3X,G16.7)
00186 !
00187 !-----------------------------------------------------------------------
00188 !
00189       RETURN
00190       END

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