Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLU_GetCvLoc.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: Get variable location for mixture conserved variables.
26 !
27 ! Description: None.
28 !
29 ! Input:
30 ! pRegion Pointer to region data
31 !
32 ! Output: None.
33 !
34 ! Notes: None.
35 !
36 ! ******************************************************************************
37 !
38 ! $Id: RFLU_GetCvLoc.F90,v 1.4 2008/12/06 08:44:12 mtcampbe Exp $
39 !
40 ! Copyright: (c) 2004-2006 by the University of Illinois
41 !
42 ! ******************************************************************************
43 
44 INTEGER FUNCTION rflu_getcvloc(global,fluidModel,var)
45 
46  USE moddatatypes
47  USE moderror
48  USE modparameters
49  USE modglobal, ONLY: t_global
50  USE moddatastruct, ONLY: t_region
51 
52  IMPLICIT NONE
53 
54 ! ******************************************************************************
55 ! Declarations and definitions
56 ! ******************************************************************************
57 
58 ! ==============================================================================
59 ! Arguments
60 ! ==============================================================================
61 
62  INTEGER, INTENT(IN) :: fluidmodel,var
63  TYPE(t_global), POINTER :: global
64 
65 ! ==============================================================================
66 ! Locals
67 ! ==============================================================================
68 
69  CHARACTER(CHRLEN) :: rcsidentstring
70 
71 ! ******************************************************************************
72 ! Start
73 ! ******************************************************************************
74 
75  rcsidentstring = '$RCSfile: RFLU_GetCvLoc.F90,v $ $Revision: 1.4 $'
76 
77  CALL registerfunction(global,'RFLU_GetCvLoc',&
78  'RFLU_GetCvLoc.F90')
79 
80 ! ******************************************************************************
81 ! Set variable info depending on fluid model
82 ! ******************************************************************************
83 
84  SELECT CASE ( fluidmodel )
85 
86 ! ==============================================================================
87 ! Incompressible fluid
88 ! ==============================================================================
89 
90  CASE ( fluid_model_incomp )
91  SELECT CASE ( var )
92  CASE ( cv_mixt_xvel )
93  rflu_getcvloc = 1
94  CASE ( cv_mixt_yvel )
95  rflu_getcvloc = 2
96  CASE ( cv_mixt_zvel )
97  rflu_getcvloc = 3
98  CASE ( cv_mixt_pres )
99  rflu_getcvloc = 4
100  CASE default
101  CALL errorstop(global,err_reached_default,__line__)
102  END SELECT ! var
103 
104 ! ==============================================================================
105 ! Compressible fluid
106 ! ==============================================================================
107 
108  CASE ( fluid_model_comp )
109  SELECT CASE ( var )
110  CASE ( cv_mixt_dens )
111  rflu_getcvloc = 1
112  CASE ( cv_mixt_xmom:cv_mixt_xvel )
113  rflu_getcvloc = 2
114  CASE ( cv_mixt_ymom:cv_mixt_yvel )
115  rflu_getcvloc = 3
116  CASE ( cv_mixt_zmom:cv_mixt_zvel )
117  rflu_getcvloc = 4
118  CASE ( cv_mixt_ener:cv_mixt_pres )
119  rflu_getcvloc = 5
120  CASE default
121  CALL errorstop(global,err_reached_default,__line__)
122  END SELECT ! var
123 
124 ! ==============================================================================
125 ! Default
126 ! ==============================================================================
127 
128  CASE default
129  CALL errorstop(global,err_reached_default,__line__)
130  END SELECT ! fluidModel
131 
132 ! ******************************************************************************
133 ! End
134 ! ******************************************************************************
135 
136  CALL deregisterfunction(global)
137 
138 END FUNCTION rflu_getcvloc
139 
140 ! ******************************************************************************
141 !
142 ! RCS Revision history:
143 !
144 ! $Log: RFLU_GetCvLoc.F90,v $
145 ! Revision 1.4 2008/12/06 08:44:12 mtcampbe
146 ! Updated license.
147 !
148 ! Revision 1.3 2008/11/19 22:17:25 mtcampbe
149 ! Added Illinois Open Source License/Copyright
150 !
151 ! Revision 1.2 2006/03/26 20:21:33 haselbac
152 ! Removed error trap for GL model
153 !
154 ! Revision 1.1 2004/11/06 03:16:43 haselbac
155 ! Initial revision
156 !
157 ! ******************************************************************************
158 
159 
160 
161 
162 
163 
164 
INTEGER function rflu_getcvloc(global, fluidModel, var)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
subroutine deregisterfunction(global)
Definition: ModError.F90:469