Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ReadRocketSection.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 rockets
26 !
27 ! Description: none.
28 !
29 ! Input: user input file.
30 !
31 ! Output: global = constraint params
32 !
33 ! Notes: none.
34 !
35 !******************************************************************************
36 
37 
38 SUBROUTINE readrocketsection( global )
39 
40  USE moddatatypes
41  USE modglobal, ONLY : t_global
42  USE modinterfaces, ONLY : readsection
43  USE moderror
44  USE modparameters
45  USE modmpi
46 
47  IMPLICIT NONE
48 
49 ! ... parameters
50  TYPE(t_global), POINTER :: global
51 
52 ! ... local variables
53  INTEGER :: nvals
54  INTEGER, PARAMETER :: nvals_max = 15
55 
56  CHARACTER(10) :: keys(nvals_max)
57  LOGICAL :: hasacase
58  LOGICAL :: defined(nvals_max)
59  REAL(RFREAL) :: vals(nvals_max)
60 
61 !******************************************************************************
62 
63  CALL registerfunction( global,'ReadRocketSection',&
64  'ReadRocketSection.F90' )
65 ! specify keywords and search for them
66 
67  nvals = nvals_max
68 
69  keys(1) = 'CASERAD'
70  keys(2) = 'HEADEND'
71  keys(3) = 'AFTEND'
72  keys(4) = 'COORDL'
73  keys(5) = 'TOL1'
74  keys(6) = 'TOL2'
75  keys(7) = 'ELLIPSL'
76  keys(8) = 'ELLIPST'
77  keys(9) = 'NOZY'
78  keys(10) = 'LMIN'
79  keys(11) = 'LMAX'
80  keys(12) = 'T1MIN'
81  keys(13) = 'T1MAX'
82  keys(14) = 'T2MIN'
83  keys(15) = 'T2MAX'
84 
85  CALL readsection( global,if_input,nvals,keys,vals,defined )
86 
87  IF (defined( 1)) THEN
88  hasacase = .true.
89  global%cnstrCaseRad = vals( 1)
90  ELSE
91  global%cnstrCaseRad = -999999_rfreal
92  ENDIF
93 
94  IF (defined( 2)) THEN
95  global%cnstrHeadEnd = vals( 2)
96  ELSE
97  global%cnstrHeadEnd = -9999999_rfreal
98  ENDIF
99 
100  IF (defined( 3)) THEN
101  global%cnstrAftEnd = vals( 3)
102  ELSE
103  global%cnstrAftEnd = 9999999_rfreal
104  ENDIF
105 
106  IF (defined( 4)) THEN
107  IF(vals( 4) == 1.0) THEN
108  global%cnstrCoordL = xcoord
109  global%cnstrCoordT1 = ycoord
110  global%cnstrCoordT2 = zcoord
111  ELSE IF (vals(4) == 2.0) THEN
112  global%cnstrCoordL = ycoord
113  global%cnstrCoordT1 = zcoord
114  global%cnstrCoordT2 = xcoord
115  ELSE
116  global%cnstrCoordL = zcoord
117  global%cnstrCoordT1 = xcoord
118  global%cnstrCoordT2 = ycoord
119  ENDIF
120  ELSE
121  global%cnstrCoordL = xcoord
122  global%cnstrCoordT1 = ycoord
123  global%cnstrCoordT2 = zcoord
124  ENDIF
125 
126  IF (defined( 5)) THEN
127  global%cnstrTol1 = vals( 5)
128  ELSE
129  global%cnstrTol1 = 0.000001_rfreal
130  ENDIF
131  IF (defined( 6)) THEN
132  global%cnstrTol2 = vals(6)
133  ELSE
134  global%cnstrTol2 = 0.00000001_rfreal
135  ENDIF
136 
137  IF (defined( 7)) THEN
138  global%cnstrEllipsL = vals(7)
139  ELSE
140  global%cnstrEllipsL = 1.0_rfreal
141  ENDIF
142 
143  IF (defined( 8)) THEN
144  global%cnstrEllipsT = vals(8)
145  ELSE
146  global%cnstrEllipsT = global%cnstrCaseRad
147  ENDIF
148 
149  IF (defined( 9)) THEN
150  global%cnstrNozY = vals(9)
151  ELSE
152  global%cnstrNozY = 1.0_rfreal
153  ENDIF
154  IF (defined( 10)) THEN
155  global%cnstrLMinPlane = vals(10)
156  ELSE
157  global%cnstrLMinPlane = -9999999_rfreal
158  ENDIF
159  IF (defined( 11)) THEN
160  global%cnstrLMaxPlane = vals(11)
161  ELSE
162  global%cnstrLMaxPlane = 9999999_rfreal
163  ENDIF
164  IF (defined( 12)) THEN
165  global%cnstrT1MinPlane = vals(12)
166  ELSE
167  global%cnstrT1MinPlane = -9999999_rfreal
168  ENDIF
169  IF (defined( 13)) THEN
170  global%cnstrT1MaxPlane = vals(13)
171  ELSE
172  global%cnstrT1MaxPlane = 9999999_rfreal
173  ENDIF
174  IF (defined( 14)) THEN
175  global%cnstrT2MinPlane = vals(14)
176  ELSE
177  global%cnstrT2MinPlane = -9999999_rfreal
178  ENDIF
179  IF (defined( 15)) THEN
180  global%cnstrT2MaxPlane = vals(15)
181  ELSE
182  global%cnstrT2MaxPlane = 9999999_rfreal
183  ENDIF
184 
185 
186 ! finalize
187 
188  CALL deregisterfunction( global )
189 
190 END SUBROUTINE readrocketsection
191 
192 
193 
194 
195 
196 
197 
198 
subroutine readrocketsection(global)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine readsection(global, fileID, nvals, keys, 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 USE ModDataTypes USE nvals
subroutine deregisterfunction(global)
Definition: ModError.F90:469