The TELEMAC-MASCARET system  trunk
source.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE source
3 ! *****************
4 !
5  & (s0u,s0v,s0w,s1u,s1v,s1w,
6  & un3,vn3,wsn3,wn3,
7  & volu,volun,t3,npoin3,ntrac,lt,at,dt,prive,nonhyd,
8  & npoin2,nsce,isce,ksce,qsce,usce,vsce,maxsce)
9 !
10 !***********************************************************************
11 ! TELEMAC3D V6P1 21/08/2010
12 !***********************************************************************
13 !
14 !brief PREPARES SOURCE TERMS FOR DIFFUSION OF TRACERS.
15 !
16 !history CDG/SOGREAH
17 !+ **/06/2001
18 !+
19 !+ TRACER SOURCES
20 !
21 !history J-M HERVOUET (LNHE)
22 !+ 29/08/2008
23 !+ V5P6
24 !+
25 !
26 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
27 !+ 13/07/2010
28 !+ V6P0
29 !+ Translation of French comments within the FORTRAN sources into
30 !+ English comments
31 !
32 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
33 !+ 21/08/2010
34 !+ V6P0
35 !+ Creation of DOXYGEN tags for automated documentation and
36 !+ cross-referencing of the FORTRAN sources
37 !
38 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 !| AT |-->| TIME
40 !| DT |-->| TIME STEP
41 !| ISCE |-->| NODE ADRESSES IN 2D MESH FOR SOURCES
42 !| KSCE |<->| NUMBER OF PLANE FOR SOURCES
43 !| LT |-->| ITERATION NUMBER
44 !| MAXSCE |-->| MAXIMUM NUMBER OF SOURCES
45 !| NONHYD |-->| LOGICAL FOR NON-HYDROSTATIC OPTION
46 !| NPOIN2 |-->| NUMBER OF POINTS IN 2D
47 !| NPOIN3 |-->| NUMBER OF POINTS IN THE MESH
48 !| NSCE |-->| NUMBER OF GIVEN POINTS FOR SOURCES
49 !| NTRAC |-->| NUMBER OF TRACERS
50 !| PRIVE |-->| BLOCK OF ARRAYS FOR USER
51 !| QSCE |-->| WATER DISCHARGE OF SOURCES
52 !| S0U |<->| EXPLICIT SOURCE TERMS ON VELOCITIES U
53 !| S0V |<->| EXPLICIT SOURCE TERMS ON VELOCITIES V
54 !| S0W |<->| EXPLICIT SOURCE TERMS ON VELOCITIES W
55 !| S1U |<->| IMPLICIT SOURCE TERMS ON VELOCITIES U
56 !| S1V |<->| IMPLICIT SOURCE TERMS ON VELOCITIES V
57 !| S1W |<->| IMPLICIT SOURCE TERMS ON VELOCITIES W
58 !| T3 |<->| WORK ARRAY: NOT USED
59 !| UN3 |-->| COMPONENTS OF VELOCITY AT PREVIOUS TIME STEP
60 !| USCE |-->| VELOCITY FOR SOURCE
61 !| VN3 |-->| COMPONENTS OF VELOCITY AT PREVIOUS TIME STEP
62 !| VOLU |-->| VOLUME AROUND POINTS AT TIME N+1
63 !| VOLUN |-->| VOLUME AROUND POINTS AT TIME N
64 !| VSCE |-->| VELOCITY FOR SOURCE
65 !| WN3 |-->| COMPONENTS OF VELOCITY AT PREVIOUS TIME STEP
66 !| WSN3 |-->| SIGMA-TRANSFORMED VERTICAL VELOCITY COMPONENT
67 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 !
69  USE bief
71  IMPLICIT NONE
72 !
73 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
74 !
75  INTEGER, INTENT(IN) :: NPOIN3, NTRAC, LT, MAXSCE
76 !
77  TYPE(bief_obj), INTENT(IN) :: UN3, VN3, WSN3, WN3
78  TYPE(bief_obj), INTENT(INOUT) :: S0U, S0V, S1U, S1V, S0W, S1W
79  TYPE(bief_obj), INTENT(INOUT) :: T3
80  TYPE(bief_obj), INTENT(IN) :: VOLU, VOLUN,PRIVE
81 !
82  DOUBLE PRECISION, INTENT(IN) :: AT,DT
83  LOGICAL, INTENT(IN) :: NONHYD
84 !
85  INTEGER, INTENT(IN) :: NPOIN2
86  INTEGER, INTENT(IN) :: NSCE
87  INTEGER, INTENT(IN) :: ISCE(nsce)
88  INTEGER, INTENT(IN) :: KSCE(nsce)
89  DOUBLE PRECISION, INTENT(IN) :: QSCE(nsce)
90  DOUBLE PRECISION, INTENT(IN) :: USCE(nsce)
91  DOUBLE PRECISION, INTENT(IN) :: VSCE(nsce)
92 !
93 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
94 !
95 !
96 !-----------------------------------------------------------------------
97 !
98 ! BEWARE : BE SURE TO DO S0U = S0U + YOUR SOURCE TERMS
99 ! BECAUSE S0U HAS ALREADY BEEN INITIALISED IN TRISOU
100 !
101 !
102 ! INITIALISES OTHER SOURCE TERMS
103 !
104  s1u%TYPR='0'
105  s1v%TYPR='0'
106  IF(nonhyd) THEN
107  s0w%TYPR='0'
108  s1w%TYPR='0'
109  ENDIF
110 
111  CALL user_source
112  & (s0u,s0v,s0w,s1u,s1v,s1w,
113  & un3,vn3,wsn3,wn3,
114  & volu,volun,t3,npoin3,ntrac,lt,at,dt,prive,nonhyd,
115  & npoin2,nsce,isce,ksce,qsce,usce,vsce,maxsce)
116 !
117 !-----------------------------------------------------------------------
118 !
119  RETURN
120  END
subroutine source(S0U, S0V, S0W, S1U, S1V, S1W, UN3, VN3, WSN3, WN3, VOLU, VOLUN, T3, NPOIN3, NTRAC, LT, AT, DT, PRIVE, NONHYD, NPOIN2, NSCE, ISCE, KSCE, QSCE, USCE, VSCE, MAXSCE)
Definition: source.f:10
subroutine user_source(S0U, S0V, S0W, S1U, S1V, S1W, UN3, VN3, WSN3, WN3, VOLU, VOLUN, T3, NPOIN3, NTRAC, LT, AT, DT, PRIVE, NONHYD, NPOIN2, NSCE, ISCE, KSCE, QSCE, USCE, VSCE, MAXSCE)
Definition: user_source.f:10
Definition: bief.f:3