Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ReadAccelerationSection.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 acceleration terms.
26 !
27 ! Description: None.
28 !
29 ! Input:
30 ! global Pointer to global data
31 !
32 ! Output: None.
33 !
34 ! Notes: None.
35 !
36 ! ******************************************************************************
37 !
38 ! $Id: ReadAccelerationSection.F90,v 1.6 2008/12/06 08:44:09 mtcampbe Exp $
39 !
40 ! Copyright: (c) 2003-2005 by the University of Illinois
41 !
42 ! ******************************************************************************
43 
44 SUBROUTINE readaccelerationsection(global)
45 
46  USE moddatatypes
47  USE modglobal, ONLY: t_global
48  USE moderror
49  USE modparameters
50 
51  USE modinterfaces, ONLY: readsection
52 
53  IMPLICIT NONE
54 
55 ! ******************************************************************************
56 ! Declarations and definitions
57 ! ******************************************************************************
58 
59 ! ==============================================================================
60 ! Arguments
61 ! ==============================================================================
62 
63  TYPE(t_global), POINTER :: global
64 
65 ! ==============================================================================
66 ! Local variables
67 ! ==============================================================================
68 
69  LOGICAL :: defined(5)
70  CHARACTER(10) :: keys(5)
71  REAL(RFREAL) :: vals(5)
72 
73 ! ******************************************************************************
74 ! Start
75 ! ******************************************************************************
76 
77  CALL registerfunction( global,'ReadAccelerationSection',&
78  'ReadAccelerationSection.F90' )
79 
80 ! ******************************************************************************
81 ! Specify keywords and search for them
82 ! ******************************************************************************
83 
84  keys(1) = 'TYPE'
85  keys(2) = 'ACCELX'
86  keys(3) = 'ACCELY'
87  keys(4) = 'ACCELZ'
88  keys(5) = 'GRAVITY'
89 
90  CALL readsection(global,if_input,5,keys,vals,defined)
91 
92 ! ******************************************************************************
93 ! Set values
94 ! ******************************************************************************
95 
96  IF ( defined(1) .EQV. .true. ) THEN
97  IF ( nint(vals(1)) == 1 ) THEN
98  global%accelOn = .true.
99  ELSE
100  global%accelOn = .false.
101  END IF ! NINT(vals)
102  ELSE
103  global%accelOn = .false.
104  END IF ! defined
105 
106  IF ( defined(2) .EQV. .true. ) THEN
107  global%accelX = vals(2)
108  END IF ! defined
109 
110  IF ( defined(3) .EQV. .true. ) THEN
111  global%accelY = vals(3)
112  END IF ! defined
113 
114  IF ( defined(4) .EQV. .true. ) THEN
115  global%accelZ = vals(4)
116  END IF ! defined
117 
118  IF ( defined(5) .EQV. .true. ) THEN
119  global%gravity = vals(5)
120  END IF ! defined
121 
122 ! ******************************************************************************
123 ! End
124 ! ******************************************************************************
125 
126  CALL deregisterfunction(global)
127 
128 END SUBROUTINE readaccelerationsection
129 
130 ! ******************************************************************************
131 !
132 ! RCS Revision history:
133 !
134 ! $Log: ReadAccelerationSection.F90,v $
135 ! Revision 1.6 2008/12/06 08:44:09 mtcampbe
136 ! Updated license.
137 !
138 ! Revision 1.5 2008/11/19 22:17:23 mtcampbe
139 ! Added Illinois Open Source License/Copyright
140 !
141 ! Revision 1.4 2006/10/20 21:20:19 mparmar
142 ! Added reading of gravity
143 !
144 ! Revision 1.3 2006/04/07 15:19:15 haselbac
145 ! Removed tabs
146 !
147 ! Revision 1.2 2005/11/10 01:55:42 haselbac
148 ! Added Rocflu support, clean-up
149 !
150 ! Revision 1.1 2004/12/01 16:50:09 haselbac
151 ! Initial revision after changing case
152 !
153 ! Revision 1.4 2003/11/20 16:40:35 mdbrandy
154 ! Backing out RocfluidMP changes from 11-17-03
155 !
156 ! Revision 1.1 2003/08/28 20:05:38 jblazek
157 ! Added acceleration terms.
158 !
159 ! ******************************************************************************
160 
161 
162 
163 
164 
165 
166 
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine readaccelerationsection(global)
subroutine readsection(global, fileID, nvals, keys, vals, defined)
subroutine deregisterfunction(global)
Definition: ModError.F90:469