Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AfterUpdateMP.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: check and/or modify conserved variable fields for RocfluidMP
26 !
27 ! Description: none.
28 !
29 ! Input: pRegion = data of current region,
30 !
31 ! Output: pRegion%levels%*%cv = modified solution
32 !
33 ! Notes: none.
34 !
35 !******************************************************************************
36 !
37 ! $Id: AfterUpdateMP.F90,v 1.6 2008/12/06 08:44:08 mtcampbe Exp $
38 !
39 ! Copyright: (c) 2004-2006 by the University of Illinois
40 !
41 !******************************************************************************
42 
43 SUBROUTINE afterupdatemp( pRegion,istage )
44 
45  USE moddatatypes
46  USE moddatastruct, ONLY : t_region
47  USE modglobal, ONLY : t_global
48  USE moderror
49  USE modparameters
50 #ifdef INRT
52 #endif
53 
54 #ifdef RFLO
56 #endif
57 
58 #ifdef RFLU
62 #endif
63 
64 #ifdef INRT
68 #ifdef RFLO
70 #endif
71 #endif
72 
73 #ifdef PEUL
75 #endif
76 
77 #ifdef PLAG
79 #endif
80 
81  IMPLICIT NONE
82 
83 ! ... parameters
84  TYPE(t_region), POINTER :: pregion
85  INTEGER, INTENT(IN) :: istage
86 
87 ! ... local variables
88  CHARACTER(CHRLEN) :: rcsidentstring
89 
90  LOGICAL :: finalstage
91 
92  TYPE(t_global), POINTER :: global
93 
94 !******************************************************************************
95 
96  rcsidentstring = &
97  '$RCSfile: AfterUpdateMP.F90,v $ $Revision: 1.6 $'
98 
99  global => pregion%global
100 
101  CALL registerfunction( global,'AfterUpdateMP',&
102  'AfterUpdateMP.F90' )
103 
104  finalstage = (istage == global%nrkSteps)
105 
106 ! check positivity ------------------------------------------------------------
107 
108 #ifdef RFLO
109  IF (finalstage) &
110  CALL rflo_checkvalidity(pregion)
111 #ifdef PLAG
112  IF (finalstage) &
113  CALL plag_checkvalidity(pregion)
114 #endif
115 #endif
116 
117 #ifdef RFLU
118  CALL rflu_checkvaliditywrapper(pregion)
119  CALL rflu_enforceboundswrapper(pregion)
120  CALL rflu_checkpositivitywrapper(pregion)
121 #endif
122 
123 #ifdef INRT
124  IF (global%inrtUsed .AND. finalstage) THEN
125 
126  IF (pregion%inrtInput%inrts(inrt_type_burning)%used) THEN
127  CALL inrt_setparticletemp(pregion)
128  CALL inrt_vaporenergyconversion(pregion)
129  END IF ! burning Used
130 
131 #ifdef RFLO
132  IF (pregion%inrtInput%twoDAverage /= 0) THEN
133  CALL inrt_twodimaverage(pregion)
134  END IF
135 #endif
136 
137  IF (pregion%inrtInput%inrts(inrt_type_burning)%used) THEN
138  CALL inrt_burnstatusupdate(pregion)
139  END IF ! burning used
140 
141  END IF ! inrtUsed
142 #endif
143 
144 #ifdef PEUL
145  IF (global%peulUsed .AND. finalstage) THEN
146  CALL peul_enforcepositivity(pregion)
147  END IF ! peulUsed
148 #endif
149 
150 ! finalize ====================================================================
151 
152  CALL deregisterfunction( global )
153 
154 END SUBROUTINE afterupdatemp
155 
156 !******************************************************************************
157 !
158 ! RCS Revision history:
159 !
160 ! $Log: AfterUpdateMP.F90,v $
161 ! Revision 1.6 2008/12/06 08:44:08 mtcampbe
162 ! Updated license.
163 !
164 ! Revision 1.5 2008/11/19 22:17:22 mtcampbe
165 ! Added Illinois Open Source License/Copyright
166 !
167 ! Revision 1.4 2006/03/27 15:17:26 haselbac
168 ! Fixed screwed-up last check-in
169 !
170 ! Revision 1.3 2006/03/26 20:21:07 haselbac
171 ! Changed to wrappers bcos of GL model
172 !
173 ! Revision 1.2 2005/12/01 21:50:11 fnajjar
174 ! Added call to PLAG_CheckValidity
175 !
176 ! Revision 1.1 2004/12/01 16:47:41 haselbac
177 ! Initial revision after changing case
178 !
179 ! Revision 1.5 2004/08/04 00:26:49 wasistho
180 ! call rflo_checkvalidity only at finalstage
181 !
182 ! Revision 1.4 2004/07/26 19:02:36 wasistho
183 ! add RFLO_CheckValidity
184 !
185 ! Revision 1.3 2004/03/25 21:14:20 jferry
186 ! changed AfterUpdate to call most subroutines only after final RK stage
187 !
188 ! Revision 1.2 2004/03/05 22:09:00 jferry
189 ! created global variables for peul, plag, and inrt use
190 !
191 ! Revision 1.1 2004/03/02 21:47:28 jferry
192 ! Added After Update interactions
193 !
194 !******************************************************************************
195 
196 
197 
198 
199 
200 
201 
subroutine peul_enforcepositivity(region)
subroutine rflu_enforceboundswrapper(pRegion)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine inrt_vaporenergyconversion(region)
subroutine rflu_checkpositivitywrapper(pRegion)
subroutine inrt_twodimaverage(region)
subroutine rflo_checkvalidity(region)
subroutine, public plag_checkvalidity(pRegion)
subroutine afterupdatemp(pRegion, istage)
subroutine inrt_setparticletemp(region)
subroutine deregisterfunction(global)
Definition: ModError.F90:469
subroutine rflu_checkvaliditywrapper(pRegion)
subroutine inrt_burnstatusupdate(region)