The TELEMAC-MASCARET system  trunk
vc17aa.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE vc17aa
3 ! *****************
4 !
5  &( xmul,su,sv,u,v,xel,yel,surfac,ikle1,ikle2,ikle3,nelem,nelmax,
6  & w1,w2,w3)
7 !
8 !***********************************************************************
9 ! BIEF V7P2 21/08/2016
10 !***********************************************************************
11 !
12 !brief FIRST STEP TO COMPUTE TURBULENT PRODUCTION TERM
13 ! FOR SPALART ALLMARAS MODEL
14 !
15 !code
16 !+ /
17 !+ VEC(I) = XMUL / PSI(I) *
18 !+ /OMEGA
19 !+
20 !+ DU DV
21 !+ ( -- - -- )^2 ) D(OMEGA)
22 !+ DY DX
23 !+
24 !+
25 !+ U AND V ARE VECTORS
26 !+
27 !+ PSI(I) IS A BASE OF TYPE IELM
28 !
29 !warning THE JACOBIAN MUST BE POSITIVE
30 !
31 !history A. BOURGOIN (LNHE)
32 !+ 09/07/2016
33 !+ V7P2
34 !+
35 !
36 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 !| IKLE1 |-->| FIRST POINT OF TRIANGLES
38 !| IKLE2 |-->| SECOND POINT OF TRIANGLES
39 !| IKLE3 |-->| THIRD POINT OF TRIANGLES
40 !| NELEM |-->| NUMBER OF ELEMENTS
41 !| NELMAX |-->| MAXIMUM NUMBER OF ELEMENTS
42 !| SU |-->| BIEF_OBJ STRUCTURE OF U
43 !| SV |-->| BIEF_OBJ STRUCTURE OF V
44 !| SURFAC |-->| AREA OF TRIANGLES
45 !| U |-->| FUNCTION USED IN THE VECTOR FORMULA
46 !| V |-->| FUNCTION USED IN THE VECTOR FORMULA
47 !| W1 |<--| RESULT IN NON ASSEMBLED FORM
48 !| W2 |<--| RESULT IN NON ASSEMBLED FORM
49 !| W3 |<--| RESULT IN NON ASSEMBLED FORM
50 !| XEL |-->| ABSCISSAE OF POINTS IN THE MESH, PER ELEMENT
51 !| XMUL |-->| MULTIPLICATION COEFFICIENT
52 !| YEL |-->| ORDINATES OF POINTS IN THE MESH, PER ELEMENT
53 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54 !
55  USE bief, ex_vc17aa => vc17aa
57 !
58 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
59 !
60  INTEGER, INTENT(IN) :: NELEM,NELMAX
61  INTEGER, INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
62 !
63  DOUBLE PRECISION, INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
64  DOUBLE PRECISION, INTENT(INOUT) ::W1(nelmax),W2(nelmax),W3(nelmax)
65  DOUBLE PRECISION, INTENT(IN) :: SURFAC(nelmax)
66  DOUBLE PRECISION, INTENT(IN) :: XMUL
67 !
68 ! STRUCTURES OF U, V AND REAL DATA
69 !
70  TYPE(bief_obj), INTENT(IN) :: SU,SV
71  DOUBLE PRECISION, INTENT(IN) :: U(*),V(*)
72 !
73 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
74 !
75  INTEGER IELEM,IELMU,IELMV
76  DOUBLE PRECISION FACT,XSUR12,U21,U31,V21,V31,X2,X3,Y2,Y3
77 !
78 !-----------------------------------------------------------------------
79 !
80  xsur12 = xmul / 12.d0
81 !
82 !-----------------------------------------------------------------------
83 !
84 ! BEWARE: U IS QUASI-BUBBLE AND U IS P2; ARE TREATED AS IF LINEAR HERE
85 !
86 !-----------------------------------------------------------------------
87 !
88  ielmu=su%ELM
89  ielmv=sv%ELM
90 !
91  IF( (ielmu.EQ.11.AND.ielmv.EQ.11)
92  & .OR.(ielmu.EQ.12.AND.ielmv.EQ.12)
93  & .OR.(ielmu.EQ.13.AND.ielmv.EQ.13)) THEN
94 !
95  DO ielem = 1 , nelem
96 !
97  x2 = xel(ielem,2)
98  x3 = xel(ielem,3)
99  y2 = yel(ielem,2)
100  y3 = yel(ielem,3)
101 !
102  u21 = u(ikle2(ielem)) - u(ikle1(ielem))
103  u31 = u(ikle3(ielem)) - u(ikle1(ielem))
104  v21 = v(ikle2(ielem)) - v(ikle1(ielem))
105  v31 = v(ikle3(ielem)) - v(ikle1(ielem))
106 !
107  fact = (( x2*u31-x3*u21+y2*v31-y3*v21)**2)* xsur12 /
108  & surfac(ielem)
109 !
110  w1(ielem) = fact
111  w2(ielem) = fact
112  w3(ielem) = fact
113 !
114  ENDDO ! IELEM
115 !
116 !-----------------------------------------------------------------------
117 !
118  ELSE
119 !
120 !-----------------------------------------------------------------------
121 !
122  WRITE(lu,101) ielmu,su%NAME
123  WRITE(lu,201) ielmv,sv%NAME
124  WRITE(lu,301)
125 101 FORMAT(1x,'VC17AA (BIEF) :',/,
126  & 1x,'DISCRETIZATION OF U:',1i6,
127  & 1x,'REAL NAME: ',a6)
128 201 FORMAT(1x,'DISCRETIZATION OF V:',1i6,
129  & 1x,'REAL NAME: ',a6)
130 301 FORMAT(1x,'CASE NOT IMPLEMENTED')
131  CALL plante(1)
132  stop
133 !
134  ENDIF
135 !
136 !-----------------------------------------------------------------------
137 !
138  RETURN
139  END
140 
subroutine vc17aa(XMUL, SU, SV, U, V, XEL, YEL, SURFAC, IKLE1, IKLE2, IKLE3, NELEM, NELMAX, W1, W2, W3)
Definition: vc17aa.f:8
Definition: bief.f:3