coef.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac3d\coef.f
00002 !
00049                      SUBROUTINE COEF
00050 !                    ***************
00051 !
00052      &     (IVIDE , EPAI , TRA01 ,
00053      &      NPFMAX, IMAX , NDEB  ,
00054      &      RHOS  , GRAV , DTC   , DSIG1    )
00055 !
00056 !***********************************************************************
00057 ! TELEMAC3D   V6P1                                   21/08/2010
00058 !***********************************************************************
00059 !
00060 !
00061 !
00062 !
00063 !
00064 !
00065 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00066 !| DSIG1          |-->| DERIVATIVE OF THE EFFECTIVE STRESS
00067 !|                |   | AT THE FIRST POINT OF THE MESH
00068 !| DTC            |-->| TIME STEP FOR CONSOLIDATION
00069 !| EPAI           |-->| THICKNESS OF MESH ELEMENTS DISCRETISING THE BED
00070 !| GRAV           |-->| GRAVITY ACCELERATION
00071 !| IMAX           |-->| NUMBER OF POINTS AT THE BOTTOM MESH
00072 !| IVIDE          |-->| INDEX OF EMPTY SPACES AT MESH POINTS
00073 !| NDEB           |-->| INDEX LIMITING THE RANGE OF RESOLUTION
00074 !| NPFMAX         |-->| MAXIMUM NUMBER OF HORIZONTAL PLANES THAT
00075 !|                |   | DISCRETISE MUDDY BOTTOM
00076 !| RHOS           |-->| SEDIMENT DENSITY
00077 !| TRA01          |<->| WORKING ARRAY
00078 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00079 !
00080       IMPLICIT NONE
00081 !
00082 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00083 !
00084       INTEGER, INTENT(IN) ::  NPFMAX , IMAX,NDEB
00085 !
00086       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPFMAX,6)
00087       DOUBLE PRECISION, INTENT(IN) :: EPAI(NPFMAX-1), IVIDE(NPFMAX)
00088       DOUBLE PRECISION, INTENT(IN) :: RHOS , GRAV ,DTC , DSIG1
00089 !
00090 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00091 !
00092       INTEGER I
00093       DOUBLE PRECISION A , D
00094 !
00095 !=======================================================================
00096 !
00097 !      -----INITIALISES THE COEFFICIENTS-----
00098 !
00099       DO I=NDEB,IMAX
00100         TRA01(I,3)=0.D0
00101         TRA01(I,4)=1.D0
00102         TRA01(I,5)=0.D0
00103         TRA01(I,6)=0.D0
00104       END DO
00105 !
00106 !     -----COMPUTES THE COEFFICIENTS AT THE MESH NODES-----
00107 !
00108 !     ...NODE ON THE BOTTOM:
00109       TRA01(NDEB,5)=-1.D0
00110       TRA01(NDEB,6)=(RHOS-1000.D0)*GRAV*EPAI(1)/DSIG1
00111 !
00112 !     ...INTERIOR NODE:
00113       DO I=NDEB+1,IMAX-1
00114 !
00115         IF (TRA01(I,1).GE.1.D-10) THEN
00116           A=TRA01(I,1)/(EPAI(I-1))
00117           D=1.D0
00118         ELSE
00119           A=TRA01(I,1)/(EPAI(I))
00120           D=0.D0
00121         ENDIF
00122 !
00123         TRA01(I,3)=DTC*(-(TRA01(I,2)+TRA01(I-1,2))/((EPAI(I)+EPAI(I-1))
00124      &                *EPAI(I-1))-D*A)
00125         TRA01(I,5)=DTC*((1.D0-D)*A-((TRA01(I,2)+TRA01(I+1,2))
00126      &                /((EPAI(I)+EPAI(I-1))*EPAI(I))))
00127         TRA01(I,4)=1.D0-TRA01(I,3)-TRA01(I,5)
00128         TRA01(I,6)=IVIDE(I)
00129 !
00130       END DO
00131 !
00132 !     ...INTERFACE NODE:
00133       TRA01(IMAX,6)=IVIDE(IMAX)
00134 !
00135       RETURN
00136       END SUBROUTINE COEF

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