Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLU_ComputeFluxInv.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: Wrapper function for computing inviscid fluxes of mixture.
26 !
27 ! Description: None.
28 !
29 ! Input:
30 ! pRegion Pointer to region data
31 ! fluxPart Part of flux (central or dissipation or both)
32 !
33 ! Output: None.
34 !
35 ! Notes: None.
36 !
37 ! ******************************************************************************
38 !
39 ! $Id: RFLU_ComputeFluxInv.F90,v 1.3 2008/12/06 08:44:29 mtcampbe Exp $
40 !
41 ! Copyright: (c) 2006 by the University of Illinois
42 !
43 ! ******************************************************************************
44 
45 
46 SUBROUTINE rflu_computefluxinv(pRegion,fluxPart)
47 
48  USE moddatatypes
49  USE modparameters
50  USE moderror
51  USE modglobal, ONLY: t_global
52  USE moddatastruct, ONLY: t_region
53 
56  USE rflu_modroeflux
57 
58  IMPLICIT NONE
59 
60 ! ******************************************************************************
61 ! Declarations and definitions
62 ! ******************************************************************************
63 
64 ! ==============================================================================
65 ! Arguments
66 ! ==============================================================================
67 
68  INTEGER, INTENT(IN) :: fluxpart
69  TYPE(t_region), POINTER :: pregion
70 
71 ! ==============================================================================
72 ! Locals
73 ! ==============================================================================
74 
75  CHARACTER(CHRLEN) :: rcsidentstring
76  TYPE(t_global), POINTER :: global
77 
78 ! ******************************************************************************
79 ! Start
80 ! ******************************************************************************
81 
82  rcsidentstring = '$RCSfile: RFLU_ComputeFluxInv.F90,v $ $Revision: 1.3 $'
83 
84  global => pregion%global
85 
86  CALL registerfunction(global,'RFLU_ComputeFluxInv',&
87  'RFLU_ComputeFluxInv.F90')
88 
89 ! ******************************************************************************
90 ! Compute fluxes
91 ! ******************************************************************************
92 
93  SELECT CASE ( pregion%mixtInput%spaceDiscr )
94  CASE ( discr_upw_roe )
95  CALL rflu_roe_computeflux(pregion,fluxpart)
96  CASE ( discr_upw_hllc )
97  IF ( fluxpart == flux_part_central .OR. fluxpart == flux_part_both ) THEN
98  CALL rflu_hllc_computeflux(pregion)
99  END IF ! fluxPart
100  CASE ( discr_upw_ausmplus )
101  IF ( fluxpart == flux_part_central .OR. fluxpart == flux_part_both ) THEN
102  CALL rflu_ausm_computeflux(pregion)
103  END IF ! fluxPart
104  CASE default
105  CALL errorstop(global,err_reached_default,__line__)
106  END SELECT ! pMixtInput%spaceDiscr
107 
108 ! ******************************************************************************
109 ! End
110 ! ******************************************************************************
111 
112  CALL deregisterfunction(global)
113 
114 END SUBROUTINE rflu_computefluxinv
115 
116 ! ******************************************************************************
117 !
118 ! RCS Revision history:
119 !
120 ! $Log: RFLU_ComputeFluxInv.F90,v $
121 ! Revision 1.3 2008/12/06 08:44:29 mtcampbe
122 ! Updated license.
123 !
124 ! Revision 1.2 2008/11/19 22:17:42 mtcampbe
125 ! Added Illinois Open Source License/Copyright
126 !
127 ! Revision 1.1 2006/05/01 21:02:58 haselbac
128 ! Initial revision
129 !
130 ! ******************************************************************************
131 
132 
133 
134 
135 
136 
137 
subroutine rflu_computefluxinv(pRegion, fluxPart)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine, public rflu_roe_computeflux(pRegion, fluxPart)
subroutine, public rflu_hllc_computeflux(pRegion)
subroutine, public rflu_ausm_computeflux(pRegion)
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
subroutine deregisterfunction(global)
Definition: ModError.F90:469