Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PLAG_ReadDisPartnContSection.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: read in user input related to discrete particle module.
26 !
27 ! Description: none.
28 !
29 ! Input: user input file.
30 !
31 ! Output: regions = number of constituents and their properties.
32 !
33 ! Notes: none.
34 !
35 !******************************************************************************
36 !
37 ! $Id: PLAG_ReadDisPartnContSection.F90,v 1.5 2008/12/06 08:44:35 mtcampbe Exp $
38 !
39 ! Copyright: (c) 2002 by the University of Illinois
40 !
41 !******************************************************************************
42 
43 SUBROUTINE plag_readdispartncontsection( regions )
44 
45  USE moddatatypes
46  USE moddatastruct, ONLY : t_region
47  USE modglobal, ONLY : t_global
48  USE modpartlag, ONLY : t_plag_input
51  USE moderror
52  USE modparameters
53  USE modmaterials, ONLY : t_material
55  IMPLICIT NONE
56 
57 ! ... parameters
58  TYPE(t_region), POINTER :: regions(:)
59 
60 ! ... loop variables
61  INTEGER :: ival, ireg
62 
63 ! ... local variables
64  CHARACTER(CHRLEN) :: rcsidentstring
65  CHARACTER(15) :: keysncont
66  CHARACTER(CHRLEN), POINTER :: strvalsncont(:)
67 
68  INTEGER :: brbeg, brend, errorflag, ncols, ncont, nregions, nrows
69 
70  LOGICAL :: definedncont
71 
72  REAL(RFREAL), POINTER :: valsncont(:,:)
73 
74  TYPE(t_global), POINTER :: global
75  TYPE(t_material), POINTER :: pmaterial
76 
77 !******************************************************************************
78 
79  rcsidentstring = '$RCSfile: PLAG_ReadDisPartnContSection.F90,v $ $Revision: 1.5 $'
80 
81  global => regions(1)%global
82 
83  CALL registerfunction( global, 'PLAG_ReadDisPartnContSection',&
84  'PLAG_ReadDisPartnContSection.F90' )
85 
86 ! Read section pertinent to constituents --------------------------------------
87 
88  definedncont = .false.
89  keysncont = 'NCONT'
90 ! nCols = 1
91  ncols = 2
92 
93  nregions = global%nRegions
94 
95 #ifdef RFLO
96  brbeg = 1
97  brend = nregions
98 #endif
99 #ifdef RFLU
100  brbeg = lbound(regions,1)
101  brend = ubound(regions,1)
102 #endif
103 
104 ! CALL ReadListSection( global, IF_INPUT,keysnCont,nCols,nRows, &
105 ! valsnCont,definednCont )
106 
107  CALL readprefixedlistsection( global, if_input,keysncont,ncols,nrows, &
108  valsncont,strvalsncont,definedncont )
109 
110  IF (definedncont) THEN
111  regions(brbeg:brend)%plagInput%nCont = nrows
112 
113  DO ireg = brbeg,brend
114  ALLOCATE( regions(ireg)%plagInput%molw(nrows),stat=errorflag )
115  global%error = errorflag
116  IF (global%error /= err_none) THEN
117  CALL errorstop( global, err_allocate,__line__ ,'regions%plagInput%molw' )
118  END IF ! global%error
119 
120  ALLOCATE( regions(ireg)%plagInput%dens(nrows),stat=errorflag )
121  global%error = errorflag
122  IF (global%error /= err_none) THEN
123  CALL errorstop( global, err_allocate,__line__ ,'regions%plagInput%dens' )
124  END IF ! global%error
125 
126  ALLOCATE( regions(ireg)%plagInput%spht(nrows),stat=errorflag )
127  global%error = errorflag
128  IF (global%error /= err_none) THEN
129  CALL errorstop( global, err_allocate,__line__ ,'regions%plagInput%spht' )
130  END IF ! global%error
131 
132  ALLOCATE( regions(ireg)%plagInput%surftens(nrows),stat=errorflag )
133  global%error = errorflag
134  IF (global%error /= err_none) THEN
135  CALL errorstop( global, err_allocate,__line__ ,'regions%plagInput%surftens' )
136  END IF ! global%error
137 
138  ALLOCATE( regions(ireg)%plagInput%injcMassFluxRatio(nrows),stat=errorflag )
139  global%error = errorflag
140  IF (global%error /= err_none) THEN
141  CALL errorstop( global, err_allocate,__line__ , &
142  'regions%plagInput%injcMassFluxRatio' )
143  END IF ! global%error
144 
145  ALLOCATE( regions(ireg)%plagInput%materialIndex(nrows),stat=errorflag )
146  global%error = errorflag
147  IF (global%error /= err_none) THEN
148  CALL errorstop( global, err_allocate,__line__ , &
149  'regions%plagInput%imaterialIndex' )
150  END IF ! global%error
151 
152  ALLOCATE( regions(ireg)%plagInput%materialName(nrows),stat=errorflag )
153  global%error = errorflag
154  IF (global%error /= err_none) THEN
155  CALL errorstop( global, err_allocate,__line__ , &
156  'regions%plagInput%materialName' )
157  END IF ! global%error
158 
159  ALLOCATE( regions(ireg)%plagInput%injcTemp(nrows),stat=errorflag )
160  global%error = errorflag
161  IF (global%error /= err_none) THEN
162  CALL errorstop( global, err_allocate,__line__ , &
163  'regions%plagInput%injcTemp' )
164  END IF ! global%error
165 
166  END DO !iReg
167 
168  DO ireg= brbeg,brend
169  ncont = regions(ireg)%plagInput%nCont
170  DO ival=1, ncont
171  CALL inrt_setmaterial(global,pmaterial,strvalsncont(ival))
172 
173  regions(ireg)%plagInput%materialIndex(ival) = pmaterial%index
174  regions(ireg)%plagInput%materialName(ival) = pmaterial%name
175 
176  regions(ireg)%plagInput%molw(ival) = pmaterial%molw
177  regions(ireg)%plagInput%dens(ival) = pmaterial%dens
178  regions(ireg)%plagInput%spht(ival) = pmaterial%spht
179  regions(ireg)%plagInput%surftens(ival) = pmaterial%surftens
180  regions(ireg)%plagInput%injcMassFluxRatio(ival) = abs(valsncont(ival,1))
181  regions(ireg)%plagInput%injcTemp(ival) = abs(valsncont(ival,2))
182  ENDDO ! ival
183  ENDDO ! iReg
184 
185  ELSE
186  CALL errorstop( global, err_missing_value,__line__)
187  ENDIF ! definednCont
188 
189 ! deallocate pointer arrays
190 
191  DEALLOCATE( strvalsncont, stat=errorflag )
192  global%error = errorflag
193  IF (global%error /= err_none) THEN
194  CALL errorstop( global, err_deallocate,__line__ ,'strValsnCont' )
195  END IF ! global%error
196 
197  DEALLOCATE( valsncont, stat=errorflag )
198  global%error = errorflag
199  IF (global%error /= err_none) THEN
200  CALL errorstop( global, err_deallocate,__line__ ,'valsnCont' )
201  END IF ! global%error
202 
203 ! finalize --------------------------------------------------------------------
204 
205  CALL deregisterfunction( global )
206 
207 END SUBROUTINE plag_readdispartncontsection
208 
209 !******************************************************************************
210 !
211 ! RCS Revision history:
212 !
213 ! $Log: PLAG_ReadDisPartnContSection.F90,v $
214 ! Revision 1.5 2008/12/06 08:44:35 mtcampbe
215 ! Updated license.
216 !
217 ! Revision 1.4 2008/11/19 22:17:48 mtcampbe
218 ! Added Illinois Open Source License/Copyright
219 !
220 ! Revision 1.3 2006/09/18 20:37:35 fnajjar
221 ! Added injcTemp in particle input
222 !
223 ! Revision 1.2 2005/12/01 18:39:15 fnajjar
224 ! Added error trap for missing input value
225 !
226 ! Revision 1.1 2004/12/01 20:58:04 fnajjar
227 ! Initial revision after changing case
228 !
229 ! Revision 1.7 2004/02/26 21:02:20 haselbac
230 ! Added RFLU support
231 !
232 ! Revision 1.6 2003/09/26 21:48:20 fnajjar
233 ! Changed interface call for INRT_SetMaterial to ModInterfacesInteract
234 !
235 ! Revision 1.5 2003/09/13 20:14:22 fnajjar
236 ! Added infrastructure for Breakup model
237 !
238 ! Revision 1.4 2003/03/24 23:28:41 jferry
239 ! converted SetMaterial to INRT_SetMaterial
240 !
241 ! Revision 1.3 2003/03/12 21:21:46 fnajjar
242 ! Use Material datastructure for Particle properties
243 !
244 ! Revision 1.2 2003/01/10 17:03:41 f-najjar
245 ! Bug fix to read properly input data for all regions
246 !
247 ! Revision 1.1 2002/10/25 14:19:16 f-najjar
248 ! Initial Import of Rocpart
249 !
250 !
251 !******************************************************************************
252 
253 
254 
255 
256 
257 
258 
subroutine inrt_setmaterial(global, material, name)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine readlistsection(global, fileID, key, nCols, nRows, vals, defined)
**********************************************************************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 brbeg
subroutine readprefixedlistsection(global, fileID, key, nCols, nRows, vals, strVals, defined)
subroutine plag_readdispartncontsection(regions)
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
subroutine deregisterfunction(global)
Definition: ModError.F90:469