69 TYPE(t_region
),
POINTER :: regions(:)
80 INTEGER ::
brbeg, brend
82 INTEGER,
PARAMETER :: nvals_max = 20
84 REAL(RFREAL) :: vals(nvals_max)
85 LOGICAL :: defined(nvals_max)
86 CHARACTER(20) :: keys(nvals_max)
87 CHARACTER(256) :: sectionline,
line(2)
91 global => regions(1)%global
93 'RADI_ReadRadiSection.F90' )
98 keys( 1) =
'RADIMODEL'
100 keys( 3) =
'FLUXLIMITER'
106 keys( 9) =
'CONPARTVFRAC'
107 keys(10) =
'CONPARTDIAM'
108 keys(11) =
'CONPARTQE'
109 keys(12) =
'DISPARTVFRAC'
110 keys(13) =
'DISPARTDIAM'
111 keys(14) =
'DISPARTQE'
112 keys(15) =
'SOLMETHOD'
114 keys(17) =
'NAZIMUTHAL'
115 keys(18) =
'NINTANGLES'
116 keys(19) =
'POLANGLES'
117 keys(20) =
'AZIANGLES'
128 IF (
nvals-1 /= 14)
THEN
129 CALL
errorstop( global,err_radi_input,__line__, &
130 'number of input parameters being read is inconsistent' )
140 regions(
brbeg:brend)%radiInput%radiModel = int(vals(1)+0.5_rfreal)
143 IF (int(vals(2)+0.5_rfreal) <= 1)
THEN
144 regions(
brbeg:brend)%radiInput%media = radi_media_artif
146 regions(
brbeg:brend)%radiInput%media = radi_media_real
150 IF (int(vals(3)+0.5_rfreal) <= 0)
THEN
151 regions(
brbeg:brend)%radiInput%fluxLim = fld_lim_none
153 regions(
brbeg:brend)%radiInput%fluxLim = fld_lim_lp
157 IF (defined(4)) regions(
brbeg:brend)%radiInput%smoocf = vals(4)
160 regions(
brbeg:brend)%radiInput%spaceDiscr = int(vals(5)+0.5_rfreal)
163 IF (defined(6)) regions(
brbeg:brend)%radiInput%vis2 = abs(vals(6))
166 IF (vals(7) > 1.e-10_rfreal)
THEN
167 regions(
brbeg:brend)%radiInput%vis4 = 1._rfreal/vals(7)
168 ELSEIF (vals(7) > 0._rfreal .AND. vals(7) <= 1.e-10_rfreal)
THEN
169 regions(
brbeg:brend)%radiInput%vis4 = 1.e+10_rfreal
170 ELSEIF (vals(7) <= 0._rfreal )
THEN
171 regions(
brbeg:brend)%radiInput%vis4 = 0.0_rfreal
176 regions(
brbeg:brend)%radiInput%spaceOrder = int(vals(8)+0.5_rfreal)
180 DO ireg =
brbeg,brend
181 regions(ireg)%radiInput%optConst(phase_prop_v,radi_phase_conpart)= &
185 IF (defined(10))
THEN
186 DO ireg =
brbeg,brend
187 regions(ireg)%radiInput%optConst(phase_prop_d,radi_phase_conpart)= &
191 IF (defined(11))
THEN
192 DO ireg =
brbeg,brend
193 regions(ireg)%radiInput%optConst(phase_prop_q,radi_phase_conpart)= &
197 IF (defined(12))
THEN
198 DO ireg =
brbeg,brend
199 regions(ireg)%radiInput%optConst(phase_prop_v,radi_phase_dispart)= &
203 IF (defined(13))
THEN
204 DO ireg =
brbeg,brend
205 regions(ireg)%radiInput%optConst(phase_prop_d,radi_phase_dispart)= &
209 IF (defined(14))
THEN
210 DO ireg =
brbeg,brend
211 regions(ireg)%radiInput%optConst(phase_prop_q,radi_phase_dispart)= &
216 IF (defined(15))
THEN
217 regions(
brbeg:brend)%radiInput%solMethod = int(vals(15)+0.5_rfreal)
219 IF (defined(16))
THEN
220 regions(
brbeg:brend)%radiInput%nPol = int(vals(16)+0.5_rfreal)
222 IF (defined(17))
THEN
223 regions(
brbeg:brend)%radiInput%nAzi = int(vals(17)+0.5_rfreal)
225 IF (defined(18))
THEN
226 regions(
brbeg:brend)%radiInput%nAng = int(vals(18)+0.5_rfreal)
229 rewind(if_input, err=10)
231 READ(if_input,
'(A256)',err=10,
end=79) sectionline
233 SELECT CASE(trim(sectionline))
242 IF (defined(19) .AND. defined(
nvals-1))
THEN
243 regions(
brbeg:brend)%radiInput%line(1) =
line(1)
245 regions(
brbeg:brend)%radiInput%nAng = 1
246 regions(
brbeg:brend)%radiInput%line(1) =
'45'
248 IF (defined(20) .AND. defined(
nvals))
THEN
249 regions(
brbeg:brend)%radiInput%line(2) =
line(2)
251 regions(
brbeg:brend)%radiInput%nAng = 1
252 regions(
brbeg:brend)%radiInput%line(2) =
'45'
261 radiinput%radiModel = nint(vals(1))
264 IF (nint(vals(2)) <= 1)
THEN
265 radiinput%media = radi_media_artif
267 radiinput%media = radi_media_real
271 IF (nint(vals(3)) <= 0)
THEN
272 radiinput%fluxLim = fld_lim_none
274 radiinput%fluxLim = fld_lim_lp
279 radiinput%smoocf = vals(4)
283 radiinput%spaceDiscr = nint(vals(5))
287 radiinput%vis2 = abs(vals(6))
291 IF (vals(7) > 1.e-10_rfreal)
THEN
292 radiinput%vis4 = 1._rfreal/vals(7)
293 ELSEIF (vals(7) > 0._rfreal .AND. vals(7) <= 1.e-10_rfreal)
THEN
294 radiinput%vis4 = 1.e+10_rfreal
295 ELSEIF (vals(7) <= 0._rfreal )
THEN
296 radiinput%vis4 = 0.0_rfreal
301 radiinput%spaceOrder = nint(vals(8))
305 radiinput%optConst(phase_prop_v,radi_phase_conpart)= abs(vals(9))
307 radiinput%optConst(phase_prop_d,radi_phase_conpart)= abs(vals(10))
309 radiinput%optConst(phase_prop_q,radi_phase_conpart)= abs(vals(11))
311 radiinput%optConst(phase_prop_v,radi_phase_dispart)= abs(vals(12))
313 radiinput%optConst(phase_prop_d,radi_phase_dispart)= abs(vals(13))
315 radiinput%optConst(phase_prop_q,radi_phase_dispart)= abs(vals(14))
317 IF (defined(15))
THEN
318 radiinput%solMethod = nint(vals(15))
321 IF (defined(16))
THEN
322 radiinput%nPol = nint(vals(16))
325 IF (defined(17))
THEN
326 radiinput%nAzi = nint(vals(17))
329 IF (defined(18))
THEN
330 radiinput%nAng = nint(vals(18))
333 rewind(if_input, err=10)
335 READ(if_input,
'(A256)',err=10,
end=89) sectionline
337 SELECT CASE(trim(sectionline))
346 IF (defined(19) .AND. defined(
nvals-1))
THEN
347 radiinput%line(1) =
line(1)
350 radiinput%line(1) =
'45'
352 IF (defined(20) .AND. defined(
nvals))
THEN
353 radiinput%line(2) =
line(2)
356 radiinput%line(2) =
'45'
367 CALL
errorstop( global,err_file_read,__line__, &
368 'reading Radiation section in Input File' )
CImg< T > & line(const unsigned int y0)
Get a line.
subroutine readstringsection(global, fileID, nvals, keys, vals, defined)
subroutine registerfunction(global, funName, fileName)
subroutine radi_readradisection(regions)
**********************************************************************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 readsection(global, fileID, nvals, keys, vals, defined)
subroutine readregionsection(global, fileID, nvals, keys, vals, brbeg, brend, 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 errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)