ADflow  v1.0
ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.
paramTurb.F90
Go to the documentation of this file.
1 module paramturb
2 !
3 ! Module that contains the constants for the turbulence models
4 ! as well as some global variables/parameters for the turbulent
5 ! routines.
6 !
7  use constants, only: realtype, inttype
8  implicit none
9  save
10 !
11 ! Spalart-Allmaras constants.
12 !
13  real(kind=realtype), parameter :: rsak = 0.41_realtype
14  real(kind=realtype), parameter :: rsacb1 = 0.1355_realtype
15  real(kind=realtype), parameter :: rsacb2 = 0.622_realtype
16  real(kind=realtype), parameter :: rsacb3 = 0.66666666667_realtype
17  real(kind=realtype), parameter :: rsacv1 = 7.1_realtype
18  real(kind=realtype), parameter :: rsacw1 = rsacb1 / (rsak * rsak) &
19  + (1.+rsacb2) / rsacb3
20  real(kind=realtype), parameter :: rsacw2 = 0.3_realtype
21  real(kind=realtype), parameter :: rsacw3 = 2.0_realtype
22  real(kind=realtype), parameter :: rsact1 = 1.0_realtype
23  real(kind=realtype), parameter :: rsact2 = 2.0_realtype
24  real(kind=realtype), parameter :: rsact3 = 1.2_realtype
25  real(kind=realtype), parameter :: rsact4 = 0.5_realtype
26  real(kind=realtype), parameter :: rsacrot = 2.0_realtype
27 
28 !
29 ! K-omega constants.
30 !
31  real(kind=realtype), parameter :: rkwk = 0.41_realtype
32  real(kind=realtype), parameter :: rkwsigk1 = 0.5_realtype
33  real(kind=realtype), parameter :: rkwsigw1 = 0.5_realtype
34  real(kind=realtype), parameter :: rkwsigd1 = 0.5_realtype
35  real(kind=realtype), parameter :: rkwbeta1 = 0.0750_realtype
36  real(kind=realtype), parameter :: rkwbetas = 0.09_realtype
37 !
38 ! K-omega SST constants.
39 !
40  real(kind=realtype), parameter :: rsstk = 0.41_realtype
41  real(kind=realtype), parameter :: rssta1 = 0.31_realtype
42  real(kind=realtype), parameter :: rsstbetas = 0.09_realtype
43 
44  real(kind=realtype), parameter :: rsstsigk1 = 0.85_realtype
45  real(kind=realtype), parameter :: rsstsigw1 = 0.5_realtype
46  real(kind=realtype), parameter :: rsstbeta1 = 0.0750_realtype
47 
48  real(kind=realtype), parameter :: rsstsigk2 = 1.0_realtype
49  real(kind=realtype), parameter :: rsstsigw2 = 0.856_realtype
50  real(kind=realtype), parameter :: rsstbeta2 = 0.0828_realtype
51 !
52 ! K-tau constants.
53 !
54  real(kind=realtype), parameter :: rktk = 0.41_realtype
55  real(kind=realtype), parameter :: rktsigk1 = 0.5_realtype
56  real(kind=realtype), parameter :: rktsigt1 = 0.5_realtype
57  real(kind=realtype), parameter :: rktsigd1 = 0.5_realtype
58  real(kind=realtype), parameter :: rktbeta1 = 0.0750_realtype
59  real(kind=realtype), parameter :: rktbetas = 0.09_realtype
60 !
61 ! V2-f constants.
62 !
63  real(kind=realtype), parameter :: rvfc1 = 1.4_realtype
64  real(kind=realtype), parameter :: rvfc2 = 0.3_realtype
65  real(kind=realtype), parameter :: rvfbeta = 1.9_realtype
66  real(kind=realtype), parameter :: rvfsigk1 = 1.0_realtype
67  real(kind=realtype), parameter :: rvfsige1 = 0.7692307692_realtype
68  real(kind=realtype), parameter :: rvfsigv1 = 1.00_realtype
69  real(kind=realtype), parameter :: rvfcn = 70.0_realtype
70 
71  real(kind=realtype), parameter :: rvfn1cmu = 0.190_realtype
72  real(kind=realtype), parameter :: rvfn1a = 1.300_realtype
73  real(kind=realtype), parameter :: rvfn1b = 0.250_realtype
74  real(kind=realtype), parameter :: rvfn1cl = 0.300_realtype
75  real(kind=realtype), parameter :: rvfn6cmu = 0.220_realtype
76  real(kind=realtype), parameter :: rvfn6a = 1.400_realtype
77  real(kind=realtype), parameter :: rvfn6b = 0.045_realtype
78  real(kind=realtype), parameter :: rvfn6cl = 0.230_realtype
79 
80  real(kind=realtype) :: rvflimitk, rvflimite, rvfcl
81  real(kind=realtype) :: rvfcmu
82 !
83 ! Variables to store the parameters for the wall functions fits.
84 ! As these variables depend on the turbulence model they are set
85 ! during runtime. Allocatables are used, because the number of
86 ! fits could be different for the different models.
87 ! The curve is divided in a number of intervals and is
88 ! constructed such that both the function and the derivatives
89 ! are continuous. Consequently cubic polynomials are used.
90 !
91  ! nFit: Number of intervals of the curve.
92  ! ypT(0:nFit): y+ values at the interval boundaries.
93  ! reT(0:nFit): Reynolds number at the interval
94  ! boundaries, where the Reynolds number is
95  ! defined with the local velocity and the
96  ! wall distance.
97  ! up0(nFit): Coefficient 0 in the fit for the
98  ! nondimensional tangential velocity as a
99  ! function of the Reynolds number.
100  ! up1(nFit): Idem for coefficient 1.
101  ! up2(nFit): Idem for coefficient 2.
102  ! up3(nFit): Idem for coefficient 3.
103  ! tup0(nFit,nt1:nt2): Coefficient 0 in the fit for the
104  ! nondimensional turbulence variables as a
105  ! function of y+.
106  ! tup1(nFit,nt1:nt2): Idem for coefficient 1.
107  ! tup2(nFit,nt1:nt2): Idem for coefficient 2.
108  ! tup3(nFit,nt1:nt2): Idem for coefficient 3.
109  ! tuLogFit(nt1:nt2): Whether or not the logarithm of the variable
110  ! has been fitted.
111 
112  integer(kind=intType) :: nfit
113 
114  real(kind=realtype), dimension(:), allocatable :: ypt, ret
115  real(kind=realtype), dimension(:), allocatable :: up0, up1
116  real(kind=realtype), dimension(:), allocatable :: up2, up3
117 
118  real(kind=realtype), dimension(:, :), allocatable :: tup0, tup1
119  real(kind=realtype), dimension(:, :), allocatable :: tup2, tup3
120 #ifndef USE_TAPENADE
121  real(kind=realtype), dimension(:), allocatable :: yptb, retb
122  real(kind=realtype), dimension(:), allocatable :: up0b, up1b
123  real(kind=realtype), dimension(:), allocatable :: up2b, up3b
124 #endif
125 
126  logical, dimension(:), allocatable :: tulogfit
127 
128 end module paramturb
real(kind=realtype), parameter rvfn6cmu
Definition: paramTurb.F90:75
real(kind=realtype), parameter rssta1
Definition: paramTurb.F90:41
real(kind=realtype), parameter rvfc2
Definition: paramTurb.F90:64
real(kind=realtype), dimension(:, :), allocatable tup1
Definition: paramTurb.F90:118
real(kind=realtype), parameter rsacw1
Definition: paramTurb.F90:18
real(kind=realtype), parameter rkwsigd1
Definition: paramTurb.F90:34
real(kind=realtype), parameter rsak
Definition: paramTurb.F90:13
real(kind=realtype), parameter rsstbeta1
Definition: paramTurb.F90:46
integer(kind=inttype) nfit
Definition: paramTurb.F90:112
real(kind=realtype), parameter rkwbetas
Definition: paramTurb.F90:36
real(kind=realtype), parameter rktbeta1
Definition: paramTurb.F90:58
real(kind=realtype) rvflimite
Definition: paramTurb.F90:80
real(kind=realtype), dimension(:), allocatable ypt
Definition: paramTurb.F90:114
real(kind=realtype), parameter rvfn6a
Definition: paramTurb.F90:76
real(kind=realtype), dimension(:), allocatable ret
Definition: paramTurb.F90:114
real(kind=realtype), dimension(:), allocatable up1b
Definition: paramTurb.F90:122
real(kind=realtype), dimension(:), allocatable yptb
Definition: paramTurb.F90:121
real(kind=realtype), parameter rvfn1cmu
Definition: paramTurb.F90:71
real(kind=realtype), parameter rktsigk1
Definition: paramTurb.F90:55
real(kind=realtype), parameter rkwsigk1
Definition: paramTurb.F90:32
real(kind=realtype), parameter rktsigt1
Definition: paramTurb.F90:56
real(kind=realtype), parameter rsact4
Definition: paramTurb.F90:25
real(kind=realtype), parameter rsstk
Definition: paramTurb.F90:40
real(kind=realtype), parameter rsstbeta2
Definition: paramTurb.F90:50
real(kind=realtype), parameter rvfn6cl
Definition: paramTurb.F90:78
real(kind=realtype), dimension(:), allocatable up0b
Definition: paramTurb.F90:122
real(kind=realtype), parameter rsstbetas
Definition: paramTurb.F90:42
real(kind=realtype) rvfcmu
Definition: paramTurb.F90:81
real(kind=realtype), parameter rvfsigv1
Definition: paramTurb.F90:68
real(kind=realtype), parameter rsstsigw1
Definition: paramTurb.F90:45
real(kind=realtype), parameter rktbetas
Definition: paramTurb.F90:59
real(kind=realtype), dimension(:), allocatable up1
Definition: paramTurb.F90:115
real(kind=realtype), parameter rsacrot
Definition: paramTurb.F90:26
real(kind=realtype), parameter rktk
Definition: paramTurb.F90:54
real(kind=realtype), parameter rvfcn
Definition: paramTurb.F90:69
logical, dimension(:), allocatable tulogfit
Definition: paramTurb.F90:126
real(kind=realtype), parameter rsacb2
Definition: paramTurb.F90:15
real(kind=realtype), dimension(:), allocatable up3b
Definition: paramTurb.F90:123
real(kind=realtype), parameter rvfn6b
Definition: paramTurb.F90:77
real(kind=realtype), parameter rsstsigk2
Definition: paramTurb.F90:48
real(kind=realtype), dimension(:, :), allocatable tup2
Definition: paramTurb.F90:119
real(kind=realtype), parameter rvfbeta
Definition: paramTurb.F90:65
real(kind=realtype), dimension(:, :), allocatable tup0
Definition: paramTurb.F90:118
real(kind=realtype), parameter rsstsigw2
Definition: paramTurb.F90:49
real(kind=realtype), parameter rsact1
Definition: paramTurb.F90:22
real(kind=realtype) rvfcl
Definition: paramTurb.F90:80
real(kind=realtype), parameter rsact3
Definition: paramTurb.F90:24
real(kind=realtype), parameter rvfsigk1
Definition: paramTurb.F90:66
real(kind=realtype), parameter rvfsige1
Definition: paramTurb.F90:67
real(kind=realtype), parameter rktsigd1
Definition: paramTurb.F90:57
real(kind=realtype), dimension(:), allocatable up2b
Definition: paramTurb.F90:123
real(kind=realtype), parameter rvfn1cl
Definition: paramTurb.F90:74
real(kind=realtype) rvflimitk
Definition: paramTurb.F90:80
real(kind=realtype), parameter rkwk
Definition: paramTurb.F90:31
real(kind=realtype), dimension(:), allocatable up0
Definition: paramTurb.F90:115
real(kind=realtype), parameter rsstsigk1
Definition: paramTurb.F90:44
real(kind=realtype), dimension(:), allocatable up2
Definition: paramTurb.F90:116
real(kind=realtype), parameter rsacw3
Definition: paramTurb.F90:21
real(kind=realtype), parameter rvfn1a
Definition: paramTurb.F90:72
real(kind=realtype), parameter rsacw2
Definition: paramTurb.F90:20
real(kind=realtype), parameter rvfn1b
Definition: paramTurb.F90:73
real(kind=realtype), parameter rsacv1
Definition: paramTurb.F90:17
real(kind=realtype), dimension(:), allocatable retb
Definition: paramTurb.F90:121
real(kind=realtype), parameter rsact2
Definition: paramTurb.F90:23
real(kind=realtype), parameter rkwsigw1
Definition: paramTurb.F90:33
real(kind=realtype), dimension(:, :), allocatable tup3
Definition: paramTurb.F90:119
real(kind=realtype), parameter rkwbeta1
Definition: paramTurb.F90:35
real(kind=realtype), parameter rvfc1
Definition: paramTurb.F90:63
real(kind=realtype), parameter rsacb3
Definition: paramTurb.F90:16
real(kind=realtype), parameter rsacb1
Definition: paramTurb.F90:14
real(kind=realtype), dimension(:), allocatable up3
Definition: paramTurb.F90:116