Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TURB_RansSAGetEddyVis.F90
Go to the documentation of this file.
1 ! *********************************************************************
2 ! * Rocstar Simulation Suite *
3 ! * Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4 ! * *
5 ! * Illinois Rocstar LLC *
6 ! * Champaign, IL *
7 ! * www.illinoisrocstar.com *
8 ! * sales@illinoisrocstar.com *
9 ! * *
10 ! * License: See LICENSE file in top level of distribution package or *
11 ! * http://opensource.org/licenses/NCSA *
12 ! *********************************************************************
13 ! *********************************************************************
14 ! * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15 ! * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16 ! * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17 ! * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18 ! * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19 ! * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20 ! * Arising FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21 ! * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22 ! *********************************************************************
23 !******************************************************************************
24 !
25 ! Purpose: update eddy viscosity and turbulent thermal conductivity from
26 ! working variable tilde[nu]
27 !
28 ! Description: in SA formulation (La Recherche Aerospatiale 1, 5 (1994)):
29 ! xi = tilde[nu]/nu
30 ! fv1 = xi^3/(xi^3 + cv1^3)
31 ! nu_t = tilde[nu]*fv1
32 !
33 ! Input: region = data of current region,
34 !
35 ! Output: region%levels%mixt%tv(MUET,:) and tv(TCOT,:)
36 !
37 ! Notes: none.
38 !
39 !******************************************************************************
40 !
41 ! $Id: TURB_RansSAGetEddyVis.F90,v 1.6 2009/08/12 04:15:59 mtcampbe Exp $
42 !
43 ! Copyright: (c) 2003 by the University of Illinois
44 !
45 !******************************************************************************
46 
47 SUBROUTINE turb_ranssageteddyvis( region )
48 
49  USE moddatatypes
50  USE moddatastruct, ONLY : t_region
51  USE modglobal, ONLY : t_global
52  USE moderror
53  USE modparameters
55 #ifdef RFLO
57 
58 #include "Indexing.h"
59 #endif
60 
61  IMPLICIT NONE
62 
63 ! ... parameters
64  TYPE(t_region) :: region
65 
66 ! ... loop variables
67  INTEGER :: ic
68 
69 ! ... local variables
70  TYPE(t_global), POINTER :: global
71 
72  INTEGER :: indcp, ibc, iec, npow
73  REAL(RFREAL), POINTER :: cv(:,:), tv(:,:), gv(:,:), tcv(:,:)
74  REAL(RFREAL) :: rprt, cpprt, xi, fv1, cv1, rnuet
75 
76 #ifdef RFLO
77  INTEGER :: idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend
78  INTEGER :: ilev, icoff, ijcoff
79 #endif
80 
81 !******************************************************************************
82 
83  global => region%global
84 
85  CALL registerfunction( global,'TURB_RansSAGetEddyVis',&
86  'TURB_RansSAGetEddyVis.F90' )
87 
88 ! get coefficients and constants ----------------------------------------------
89 
90  cv1 = region%turbInput%const(mc_sa_cv1)
91 
92  IF (region%turbInput%functV1 == sa_fv1_pow3) THEN
93  npow = 3
94  ELSE
95  npow = 2
96  ENDIF
97 
98 ! get dimensions and pointers -------------------------------------------------
99 
100 #ifdef RFLO
101  ilev = region%currLevel
102  indcp = region%levels(ilev)%mixt%indCp
103  rprt = 1._rfreal/region%levels(ilev)%mixt%prTurb
104 
105  CALL rflo_getdimensdummy( region,ilev,idcbeg,idcend, &
106  jdcbeg,jdcend,kdcbeg,kdcend )
107  CALL rflo_getcelloffset( region,ilev,icoff,ijcoff )
108  ibc = indijk(idcbeg,jdcbeg,kdcbeg,icoff,ijcoff)
109  iec = indijk(idcend,jdcend,kdcend,icoff,ijcoff)
110 
111  cv => region%levels(ilev)%mixt%cv
112  tv => region%levels(ilev)%mixt%tv
113  gv => region%levels(ilev)%mixt%gv
114  tcv => region%levels(ilev)%turb%cv
115 #endif
116 
117 #ifdef RFLU
118  indcp = region%mixtInput%indCp
119  rprt = 1._rfreal/region%mixtInput%prTurb
120 
121  ibc = 1
122  iec = region%grid%nCellsTot
123 
124  cv => region%mixt%cv
125  tv => region%mixt%tv
126  gv => region%mixt%gv
127  tcv => region%turb%cv
128 #endif
129 
130 ! update eddy viscosity and turbulent thermal conductivity
131 
132  DO ic=ibc,iec
133  cpprt = gv(gv_mixt_cp,ic*indcp)*rprt
134 
135 ! Temporary clipping fix
136  tcv(cv_sa_nutil,ic) = max(tcv(cv_sa_nutil,ic),real_small)
137 !
138  rnuet = tcv(cv_sa_nutil,ic)
139  xi = rnuet/tv(tv_mixt_muel,ic)
140  fv1 = xi**npow/(xi**npow + cv1**npow)
141  tv(tv_mixt_muet,ic) = fv1*rnuet
142  tv(tv_mixt_tcot,ic) = cpprt*tv(tv_mixt_muet,ic)
143  ENDDO !ic
144 
145 ! finalize --------------------------------------------------------------------
146 
147  CALL deregisterfunction( global )
148 
149 END SUBROUTINE turb_ranssageteddyvis
150 
151 !******************************************************************************
152 !
153 ! RCS Revision history:
154 !
155 ! $Log: TURB_RansSAGetEddyVis.F90,v $
156 ! Revision 1.6 2009/08/12 04:15:59 mtcampbe
157 ! Major update, bugfix from Abe development, more propagation compatibility,
158 ! some Rocstar IO changes, Ju's temporary clipping fix for turbulence. A bug
159 ! fix for initialization IO.
160 !
161 ! Revision 1.5 2008/12/06 08:44:42 mtcampbe
162 ! Updated license.
163 !
164 ! Revision 1.4 2008/11/19 22:17:54 mtcampbe
165 ! Added Illinois Open Source License/Copyright
166 !
167 ! Revision 1.3 2004/03/24 03:37:02 wasistho
168 ! prepared for RFLU
169 !
170 ! Revision 1.2 2004/03/20 03:28:29 wasistho
171 ! prepared for RFLU
172 !
173 ! Revision 1.1 2004/03/05 04:37:00 wasistho
174 ! changed nomenclature
175 !
176 ! Revision 1.3 2004/02/19 04:04:05 wasistho
177 ! added new rans/SA parameter VISCFUNCTION
178 !
179 ! Revision 1.2 2003/10/20 20:27:56 wasistho
180 ! made consistent with compressible SA formulation
181 !
182 ! Revision 1.1 2003/10/07 02:17:03 wasistho
183 ! initial installation of RaNS-SA and DES
184 !
185 !
186 !******************************************************************************
187 
188 
189 
190 
191 
192 
193 
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idcend
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
Definition: Vector_n.h:354
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ic
subroutine rflo_getdimensdummy(region, iLev, idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kdcbeg
subroutine turb_ranssageteddyvis(region)
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idcbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jdcend
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jdcbeg
subroutine deregisterfunction(global)
Definition: ModError.F90:469