Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NumericalDissipation.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: Compute fluxes related to numerical dissipation.
26 !
27 ! Description:
28 ! None.
29 !
30 ! Input:
31 ! region data of current region
32 !
33 ! Output:
34 ! None
35 !
36 ! Notes: None.
37 !
38 ! ******************************************************************************
39 !
40 ! $Id: NumericalDissipation.F90,v 1.6 2008/12/06 08:44:09 mtcampbe Exp $
41 !
42 ! Copyright: (c) 2001-2006 by the University of Illinois
43 !
44 ! ******************************************************************************
45 
46 SUBROUTINE numericaldissipation(region)
47 
48  USE moddatatypes
49  USE modglobal, ONLY: t_global
50  USE moddatastruct, ONLY : t_region
51  USE moderror
52  USE modparameters
53 
54 #ifdef RFLO
57 #endif
58 
59  IMPLICIT NONE
60 
61 ! ******************************************************************************
62 ! Definitions and declarations
63 ! ******************************************************************************
64 
65 ! ==============================================================================
66 ! Arguments
67 ! ==============================================================================
68 
69  TYPE(t_region), TARGET :: region
70 
71 ! ==============================================================================
72 ! Locals
73 ! ==============================================================================
74 
75  INTEGER :: spacediscr, spaceorder
76 
77  TYPE(t_global), POINTER :: global
78 #ifdef RFLU
79  TYPE(t_region), POINTER :: pregion
80 #endif
81 
82 ! ******************************************************************************
83 ! Start
84 ! ******************************************************************************
85 
86  global => region%global
87 
88  CALL registerfunction( global,'NumericalDissipation',&
89  'NumericalDissipation.F90' )
90 
91 #ifdef RFLU
92  pregion => region
93 #endif
94 
95 ! ******************************************************************************
96 ! Get dimensions and pointers
97 ! ******************************************************************************
98 
99  spacediscr = region%mixtInput%spaceDiscr
100  spaceorder = region%mixtInput%spaceOrder
101 
102 #ifdef RFLO
103 ! ******************************************************************************
104 ! 2nd-order central scheme
105 ! ******************************************************************************
106 
107  IF (spacediscr==discr_cen_scal .AND. &
108  (spaceorder==discr_order_1 .OR. spaceorder==discr_order_2)) THEN
109  CALL rflo_centraldissipation( region )
110  ENDIF
111 #endif
112 
113 #ifdef RFLO
114 ! ******************************************************************************
115 ! Roe upwind scheme-
116 ! ******************************************************************************
117 
118  IF (spacediscr == discr_upw_roe) THEN
119  IF (spaceorder == discr_order_1) THEN
120  CALL rflo_roedissipfirst( region )
121  ELSE IF (spaceorder == discr_order_2) THEN
122  CALL rflo_roedissipsecond( region )
123  ENDIF
124  ENDIF
125 #endif
126 
127 ! ******************************************************************************
128 ! End
129 ! ******************************************************************************
130 
131  CALL deregisterfunction(region%global)
132 
133 END SUBROUTINE numericaldissipation
134 
135 ! ******************************************************************************
136 !
137 ! RCS Revision history:
138 !
139 ! $Log: NumericalDissipation.F90,v $
140 ! Revision 1.6 2008/12/06 08:44:09 mtcampbe
141 ! Updated license.
142 !
143 ! Revision 1.5 2008/11/19 22:17:23 mtcampbe
144 ! Added Illinois Open Source License/Copyright
145 !
146 ! Revision 1.4 2006/05/01 20:58:56 haselbac
147 ! Not needed for RFLU
148 !
149 ! Revision 1.3 2006/03/26 20:21:19 haselbac
150 ! Rewrite bcos of of GL model
151 !
152 ! Revision 1.2 2005/05/16 20:39:27 haselbac
153 ! Changed args to pRegion, now USE flux moduless
154 !
155 ! Revision 1.1 2004/12/01 16:49:45 haselbac
156 ! Initial revision after changing case
157 !
158 ! Revision 1.18 2004/01/29 22:52:42 haselbac
159 ! Modified for unsteady flows
160 !
161 ! Revision 1.17 2003/12/04 03:23:01 haselbac
162 ! Added second-order schemes
163 !
164 ! Revision 1.16 2003/11/20 16:40:35 mdbrandy
165 ! Backing out RocfluidMP changes from 11-17-03
166 !
167 ! Revision 1.13 2003/05/29 17:28:42 jblazek
168 ! Implemented Roe scheme.
169 !
170 ! Revision 1.12 2003/05/15 02:57:02 jblazek
171 ! Inlined index function.
172 !
173 ! Revision 1.11 2003/04/29 22:52:35 jferry
174 ! removed call to PEUL_CentralDissipation
175 !
176 ! Revision 1.10 2003/03/11 16:04:19 jferry
177 ! Enclosed USE statements for multi-physics routines within ifdefs
178 !
179 ! Revision 1.9 2003/02/11 22:52:50 jferry
180 ! Initial import of Rocsmoke
181 !
182 ! Revision 1.8 2002/09/09 15:19:31 haselbac
183 ! mixtInput now under regions
184 !
185 ! Revision 1.7 2002/09/05 17:40:20 jblazek
186 ! Variable global moved into regions().
187 !
188 ! Revision 1.6 2002/07/29 17:13:08 jblazek
189 ! Clean up after RFLU and TURB.
190 !
191 ! Revision 1.5 2002/07/25 14:50:18 haselbac
192 ! Modified logic because of optimal LES fluxes
193 !
194 ! Revision 1.4 2002/05/04 16:36:16 haselbac
195 ! Added RFLU statements
196 !
197 ! Revision 1.3 2002/02/21 23:25:05 jblazek
198 ! Blocks renamed as regions.
199 !
200 ! Revision 1.2 2002/01/28 23:55:22 jblazek
201 ! Added flux computation (central scheme).
202 !
203 ! Revision 1.1 2002/01/23 03:51:24 jblazek
204 ! Added low-level time-stepping routines.
205 !
206 ! ******************************************************************************
207 
208 
209 
210 
211 
212 
213 
subroutine rflo_centraldissipation(region)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine rflo_roedissipsecond(region)
subroutine rflo_roedissipfirst(region)
subroutine deregisterfunction(global)
Definition: ModError.F90:469
subroutine numericaldissipation(region)