62 INTEGER,
PARAMETER :: nvals_max = 19
64 CHARACTER(10) :: keys(nvals_max)
66 LOGICAL :: defined(nvals_max)
68 REAL(RFREAL) :: vals(nvals_max)
73 'ReadTimestepSection.F90' )
86 keys(10) =
'STARTTIME'
87 keys(11) =
'STARTITER'
88 keys(12) =
'SOLVERTYPE'
90 keys(14) =
'MAXSUBITER'
91 keys(15) =
'TOLSUBITER'
92 keys(16) =
'PREDICTSOL'
93 keys(17) =
'DTMINLIMIT'
97 CALL
readsection( global,if_input,nvals_max,keys,vals,defined )
99 IF (defined(1).eqv..true.)
THEN
100 global%flowType = flow_steady
101 IF (vals(1) > 0.9_rfreal) global%flowType = flow_unsteady
103 IF (defined( 2).eqv..true.) global%dtImposed = abs(vals(2))
104 IF (defined( 3).eqv..true.) global%maxTime = abs(vals(3))
105 IF (defined( 4).eqv..true.) global%writeTime = abs(vals(4))
106 IF (defined( 5).eqv..true.) global%printTime = abs(vals(5))
107 IF (defined( 6).eqv..true.) global%maxIter = int(abs(vals(6))+0.5_rfreal)
108 IF (defined( 7).eqv..true.) global%resTol = abs(vals(7))
109 IF (defined( 8).eqv..true.) global%writeIter =
max(1,int(abs(vals(8))+0.5_rfreal))
110 IF (defined( 9).eqv..true.) global%printIter =
max(1,int(abs(vals(9))+0.5_rfreal))
112 IF (defined(10).eqv..true.) global%timeStamp = abs(vals(10))
114 IF (defined(10).eqv..true.) global%timeStampPrep = abs(vals(10))
116 IF (defined(11).eqv..true.) global%currentIter = int(abs(vals(11))+0.5_rfreal)
118 IF (defined(12).eqv..true.)
THEN
119 global%solverType = solv_explicit
120 IF (vals(12) > 0.9_rfreal) global%solverType = solv_implicit
123 IF (defined(13).eqv..true.) global%tstepOrder =
max(2,int(abs(vals(13))+0.5_rfreal))
124 IF (defined(14).eqv..true.) global%maxSubIter =
max(1,int(abs(vals(14))+0.5_rfreal))
125 IF (defined(15).eqv..true.) global%tolSubIter = abs(vals(15))
126 IF (defined(16).eqv..true.)
THEN
127 IF (vals(16) < 0.9_rfreal)
THEN
128 global%predictSol = .false.
130 global%predictSol = .true.
133 IF ( defined(18) .eqv..true.)
THEN
134 global%rkScheme = int(abs(vals(18)) + 0.5_rfreal)
137 IF (defined(19).eqv..true.)
THEN
138 IF (vals(19) < 0.9_rfreal)
THEN
139 global%dtFixed = .false.
141 global%dtFixed = .true.
148 IF ( defined(10) .EQV. .true. )
THEN
149 global%currentTime = global%timeStamp
151 global%currentTime = 0.0_rfreal
154 IF ( defined(10) .EQV. .false. )
THEN
155 global%timeStampPrep = 0.0_rfreal
158 IF ( defined(12) .EQV. .true. )
THEN
159 IF ( nint(vals(12)) == solv_explicit )
THEN
160 global%solverType = solv_explicit
162 global%solverType = solv_implicit_nk
165 IF ( defined(17) .EQV. .true. )
THEN
166 global%dtMinLimit = abs(vals(17))
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
subroutine registerfunction(global, funName, fileName)
subroutine readsection(global, fileID, nvals, keys, vals, defined)
subroutine readtimestepsection(global)
subroutine deregisterfunction(global)