36 integer ieg(*),nflow,i,ielprop(*),index,nelem
47 if(lakon(nelem)(2:8).eq.
'REBRJI2')
then 48 if(1.d0-(prop(index+5)+prop(index+6))/
49 & prop(index+4).gt.0.01d0)
then 50 write(*,*)
'*ERROR in checkinputvaluesnet:' 51 write(*,*)
' in element type RESTRICTOR 52 & BRANCH JOINT IDELCHIK2' 53 write(*,*)
' A0 ist not equal to A1+A2' 54 write(*,*)
' element number: ',nelem
58 elseif((lakon(nelem)(2:3).eq.
'OR').and.
59 & (lakon(nelem)(2:5).ne.
'ORC1').and.
60 & (lakon(nelem)(2:5).ne.
'ORBT').and.
61 & (lakon(nelem)(2:5).ne.
'ORPN').and.
62 & (lakon(nelem)(2:5).ne.
'ORFL'))
then 63 if(prop(index+2).lt.0.d0)
then 64 write(*,*)
'*ERROR in checkinputvaluesnet: diameter ' 65 write(*,*)
' of the orifice is not positive' 66 write(*,*)
' element number: ',nelem
69 if(prop(index+3).lt.0.d0)
then 70 write(*,*)
'*ERROR in checkinputvaluesnet:' 71 write(*,*)
' length of the orifice is 73 write(*,*)
' element number: ',nelem
76 if((lakon(nelem)(2:5).ne.
'ORC1').and.
77 & (lakon(nelem)(2:5).ne.
'ORBF').and.
78 & (lakon(nelem)(2:5).ne.
'ORRG').and.
79 & (lakon(nelem)(2:5).ne.
'ORSG').and.
80 & (lakon(nelem)(2:5).ne.
'ORGA').and.
81 & (lakon(nelem)(2:5).ne.
'ORBO'))
then 82 if((prop(index+4).gt.1.d-20).and.
83 & (prop(index+5).gt.1.d-20))
then 85 &
'*ERROR in checkinputvaluesnet:' 86 write(*,*)
'either the radius of 87 & the orifice must be zero or the chamfer angle' 88 write(*,*)
' element number: ',nelem
92 if(prop(index+4)/prop(index+2).lt.0.d0)
then 93 write(*,*)
'*ERROR in checkinputvaluesnet: ' 95 &
' r/d of an orifice must not be negative' 96 write(*,*)
' element number: ',nelem
99 if(prop(index+4)/prop(index+2).gt.0.82d0)
then 101 &
'*ERROR in checkinputvaluesnet: ' 102 write(*,*)
' r/d of an orifice 103 & must not not exceed 0.82' 104 write(*,*)
' element number: ',nelem
107 if(prop(index+5).lt.0.d0)
then 108 write(*,*)
'*ERROR in checkinputvaluesnet:' 109 write(*,*)
' the chamfer angle of an 110 & orifice must not be negative' 111 write(*,*)
' element number: ',nelem
114 if(prop(index+5).gt.90.d0)
then 116 &
'*ERROR in checkinputvaluesnet: ' 117 write(*,*)
' the chamfer angle of an 118 & orifice must not exceed 90°' 119 write(*,*)
' element number: ',nelem
122 if(prop(index+6).lt.0.d0)
then 123 write(*,*)
'*ERROR in checkinputvaluesnet:' 124 write(*,*)
' d/D (orifice)must not be negative' 125 write(*,*)
' element number: ',nelem
128 if(prop(index+6).gt.0.5d0)
then 129 write(*,*)
'*ERROR in checkinputvaluesnet:' 130 write(*,*)
' d/D (orifice)must not exceed 0.5' 131 write(*,*)
' element number: ',nelem
134 if(prop(index+3)/prop(index+2).lt.0.d0)
then 136 &
'*ERROR in checkinputvaluesnet:' 137 write(*,*)
' L/d of an orifice 138 & must not be negative' 139 write(*,*)
' element number: ',nelem
142 if(lakon(nelem)(4:4).eq.
'P')
then 143 if(prop(index+3)/prop(index+2).gt.2.d0)
then 145 &
'*ERROR in checkinputvaluesnet: ' 146 write(*,*)
' L/d of an orifice 147 & with Parker must not exceed 2' 148 write(*,*)
' element number: ',nelem
152 elseif((lakon(nelem)(2:5).eq.
'ORBT'))
then 153 if(prop(index+2).lt.0.d0)
then 154 write(*,*)
'*ERROR in checkinputvaluesnet:' 155 write(*,*)
' ps1/pt1 (bleedtapping) 156 & must not be negative' 157 write(*,*)
' element number: ',nelem
160 if(prop(index+2).gt.1.d0)
then 161 write(*,*)
'*ERROR in checkinputvaluesnet: ' 162 write(*,*)
' ps1/pt1 (bleed tapping) 164 write(*,*)
' element number: ',nelem
167 elseif((lakon(nelem)(2:5).eq.
'ORPN'))
then 168 if(prop(index+2).lt.0.d0)
then 169 write(*,*)
'*ERROR in checkinputvaluesnet: ' 170 write(*,*)
' theta (preswirlnozzle) 171 & Nmust not be negative' 172 write(*,*)
' element number: ',nelem
175 if(prop(index+2).gt.90.d0)
then 176 write(*,*)
'*ERROR in checkinputvaluesnet:' 177 write(*,*)
' theta (preswirl nozzle) 178 & must not exceed 90°' 179 write(*,*)
' element number: ',nelem
182 if(prop(index+3).lt.0.d0)
then 183 write(*,*)
'*ERROR in checkinputvaluesnet: ' 184 write(*,*)
' k_phi (preswirl nozzle) 185 & must not be negative' 186 write(*,*)
' element number: ',nelem
189 if(prop(index+3).gt.1.05d0)
then 190 write(*,*)
'*ERROR in checkinputvaluesnet: ' 191 write(*,*)
' k_phi (preswirlnozzle) 192 & must not exceed 1.05' 193 write(*,*)
' element number: ',nelem
196 elseif((lakon(nelem)(2:5).eq.
'ORBG'))
then 197 if(prop(index+1).lt.0.d0)
then 198 write(*,*)
'*ERROR in checkinputvaluesnet: ' 199 write(*,*)
' section area is not positive' 200 write(*,*)
' element number: ',nelem
203 if(prop(index+2).lt.0.d0 .or.
204 & prop(index+2).ge.1.d0)
then 205 write(*,*)
'*ERROR in checkinputvaluesnet: ' 206 write(*,*)
' using Bragg Method' 207 write(*,*)
' Cd by crtitical pressure ratio ' 208 write(*,*)
' *FLUID SECTIONS position 2' 209 write(*,*)
' 0 < Cd _crit < 1' 210 write(*,*)
' element number: ',nelem
214 elseif((lakon(nelem)(2:4).eq.
'LAB').and.
215 & (lakon(nelem)(2:5).ne.
'LABF').and.
216 & (lakon(nelem)(2:5).ne.
'LABD'))
then 217 if((prop(index+1).gt.1000.d0)
218 & .or.(prop(index+1).lt.0.d0))
then 220 &
'*ERROR in checkinputvaluesnet: 221 & the selected pitch t' 222 write(*,*)
' for the labyrinth is not correct' 223 write(*,*)
' 0<=t<=1000 mm' 224 write(*,*)
' element number: ',nelem
227 if((prop(index+2).gt.100d0)
228 & .or.(prop(index+2).lt.0.d0))
then 230 &
'*ERROR in checkinputvaluesnet: 231 & the selected gap s' 232 write(*,*)
' for the labyrinth is not correct' 233 write(*,*)
' 0<=s<=100 mm' 234 write(*,*)
' element number: ',nelem
237 if((prop(index+3).gt.5000.d0)
238 & .or.(prop(index+3).lt.0.d0))
then 239 write(*,*)
'*ERROR in checkinputvaluesnet:' 240 write(*,*)
' the selected diameter d' 241 write(*,*)
' for the labyrinth is not correct' 242 write(*,*)
' 0<=d<=5000' 243 write(*,*)
' element number: ',nelem
246 if((prop(index+5).gt.9.d0)
247 & .or.(prop(index+5).lt.0.d0))
then 248 write(*,*)
'*ERROR in checkinputvaluesnet:' 249 write(*,*)
' the selected spike number n' 250 write(*,*)
' for the labyrinth is not correct' 251 write(*,*)
' 0<=n<=9' 252 write(*,*) prop(index+4)
253 write(*,*)
' element number: ',nelem
256 if((prop(index+5).gt.100.d0)
257 & .or.(prop(index+5).lt.0.d0))
then 258 write(*,*)
'*ERROR in checkinputvaluesnet:' 259 write(*,*)
' the selected spike breadth' 260 write(*,*)
' for the labyrinth is not correct' 261 write(*,*)
' 0<=b<=100 mm' 262 write(*,*)
' element number: ',nelem
265 if((prop(index+6).gt.9.d0)
266 & .or.(prop(index+6).lt.0.d0))
then 267 write(*,*)
'*ERROR in checkinputvaluesnet:' 268 write(*,*)
' the selected spike height' 269 write(*,*)
' for the labyrinth is not correct' 270 write(*,*)
' 0<=b<=20 mm' 271 write(*,*)
' element number: ',nelem
274 if((prop(index+7).gt.4.d0)
275 & .or.(prop(index+7).lt.0.d0))
then 276 write(*,*)
'*ERROR in checkinputvaluesnet:' 277 write(*,*)
' the selected Honeycomb cell width' 278 write(*,*)
' for the labyrinth is not correct' 279 write(*,*)
' 0<=L<=4 mm' 280 write(*,*)
' element number: ',nelem
283 if((prop(index+8).gt.5.d0)
284 & .or.(prop(index+8).lt.0.d0))
then 285 write(*,*)
'*ERROR in checkinputvaluesnet:' 286 write(*,*)
' the selected edge radius' 287 write(*,*)
' for the labyrinth is not correct' 288 write(*,*)
' 0<=r<=5 mm' 289 write(*,*)
' element number: ',nelem
292 if((prop(index+9).gt.100.d0)
293 & .or.(prop(index+9).lt.0.d0))
then 294 write(*,*)
'*ERROR in checkinputvaluesnet:' 295 write(*,*)
' the selected position of the spike' 296 write(*,*)
' for the labyrinth is not correct' 297 write(*,*)
' 0<=X<=0.1 mm' 298 write(*,*)
' element number: ',nelem
301 if((prop(index+10).gt.100.d0)
302 & .or.(prop(index+10).lt.0.d0))
then 303 write(*,*)
'*ERROR in checkinputvaluesnet:' 304 write(*,*)
' the selected height of the step' 305 write(*,*)
' for the labyrinth is not correct' 306 write(*,*)
' 0<=Hst<=0.1 mm' 307 write(*,*)
' element number: ',nelem
311 elseif((lakon(nelem)(2:6).eq.
'CARBS'))
then 312 if(lakon(nelem)(2:8).eq.
'CARBSGE')
then 313 if(prop(index+1).le.0.d0)
then 314 write(*,*)
'*ERROR in checkinputvaluesnet:' 315 write(*,*)
' the selected diameter of 318 &
' has been defined as less or equal to 0' 319 write(*,*)
' element number: ',nelem
323 if((prop(index+1).le.0.d0)
324 & .or.(prop(index+2).le.0.d0)
325 & .or.(prop(index+3).le.0.d0))
then 326 write(*,*)
'*ERROR in checkinputvaluesnet:' 327 write(*,*)
' the selected diameter' 328 write(*,*)
' or the selected length' 330 &
' or the selected gap of the carbon seal' 332 &
' has been defined as less or equal to 0' 333 write(*,*)
' element number: ',nelem
338 elseif((lakon(nelem)(2:4).eq.
'RCVL'))
then 339 if(prop(index+2).lt.(prop(index+3)))
then 340 write(*,*)
'*ERROR in checkinputvaluesnet: ' 341 write(*,*)
' element TYPE=ROTATING CAVITY 343 write(*,*)
' the specified upstream radius is smaller 345 write(*,*)
' the specified downstream radius!' 346 write(*,*)
' Please check the element definition.' 347 write(*,*)
' element number: ',nelem
350 elseif((lakon(nelem)(2:4).eq.
'RCVN'))
then 351 if(prop(index+1).lt.(prop(index+2)))
then 352 write(*,*)
'*ERROR in checkinputvaluesnet: ' 353 write(*,*)
' element TYPE=ROTATING CAVITY 355 write(*,*)
' the specified upstream radius is smaller 357 write(*,*)
' the specified downstream radius!' 358 write(*,*)
' Please check the element definition.' 359 write(*,*)
' element number: ',nelem
363 elseif(lakon(nelem)(2:3).eq.
'RE')
then 364 if(((prop(index+1).le.0.d0)
365 & .or.(prop(index+2).le.0.d0)
366 & .or.(prop(index+3).le.0.d0))
367 & .and.(lakon(nelem)(2:5).ne.
'REBR')
368 & .and.(lakon(nelem)(2:5).ne.
'REEX')
369 & .and.(lakon(nelem)(2:7).ne.
'REWAOR')
370 & .and.(lakon(nelem)(2:5).ne.
'REEN'))
then 371 write(*,*)
'*ERROR in checkinputvaluesnet:' 372 write(*,*)
' A1,A2 or Dh less or equal 0' 373 write(*,*)
' element number: ',nelem
376 elseif((lakon(nelem)(2:5).eq.
'REEL'))
then 377 if(prop(index+1).ge.(prop(index+2)))
then 378 write(*,*)
'*ERROR in checkinputvaluesnet:' 380 &
' Section A1 is greater than section A2' 381 write(*,*)
' element number: ',nelem
385 elseif((lakon(nelem)(2:5).eq.
'RECO'))
then 386 if(prop(index+1).lt.(prop(index+2)))
then 387 write(*,*)
'*ERROR in checkinputvaluesnet:' 389 &
' Section A2 is greater than section A1' 390 write(*,*)
' element number: ',nelem
395 if((lakon(nelem)(2:5).eq.
'REBR'))
then 396 if((prop(index+1).le.0.d0)
397 & .or.(prop(index+2).le.0.d0)
398 & .or.(prop(index+3).le.0.d0))
then 399 write(*,*)
'*ERROR in checkinputvaluesnet:' 400 write(*,*)
' trying to define a branch ' 401 write(*,*)
' all three elements must be different 403 write(*,*)
' element number: ',nelem
406 elseif((prop(index+4).le.0.d0)
407 & .or.(prop(index+5).le.0.d0)
408 & .or.(prop(index+6).le.0.d0))
then 409 write(*,*)
'*ERROR in checkinputvaluesnet:' 410 write(*,*)
' trying to define a branch ' 411 write(*,*)
' all sections must be positive' 412 write(*,*)
' element number: ',nelem
415 elseif((prop(index+7).lt.0)
416 & .or.(prop(index+8).lt.0))
then 417 write(*,*)
'*ERROR in checkinputvaluesnet:' 418 write(*,*)
' trying to define a branch ' 419 write(*,*)
' alpha1 & 2 cannot be negative' 420 write(*,*)
' element number: ',nelem
423 elseif((prop(index+7).gt.90)
424 & .or.(prop(index+8).gt.90))
then 425 write(*,*)
'*ERROR in checkinputvaluesnet:' 426 write(*,*)
' trying to define a branch ' 427 write(*,*)
' alpha1 & 2 cannot greater than 429 write(*,*)
' element number: ',nelem
432 elseif((lakon(nelem)(6:8).eq.
'SI1')
433 & .or.(lakon(nelem)(6:8).eq.
'JI1')
434 & .or.(lakon(nelem)(6:8).eq.
'JI2'))
then 435 if(prop(index+7).gt.0)
then 436 write(*,*)
'*ERROR in checkinputvaluesnet:' 437 write(*,*)
' trying to define a branch ' 439 &
' Type IDELCHIK JOINT1 or SPLIT1&2' 440 write(*,*)
' alpha1 must be 0 degrees' 441 write(*,*)
' element number: ',nelem
445 elseif((lakon(nelem)(6:8).eq.
'SI1').or.
446 & (lakon(nelem)(6:8).eq.
'JI1'))
then 447 if(prop(index+4).ne.(prop(index+5)))
then 448 write(*,*)
'*ERROR in checkinputvaluesnet:' 449 write(*,*)
' trying to define a branch ' 450 write(*,*)
' Type IDELCHIK SPLIT1 or JOINT1 ' 452 write(*,*)
' element number: ',nelem
456 elseif(lakon(nelem)(6:8).eq.
'JI2')
then 457 if((prop(index+5)+(prop(index+6)))
458 & .ne.prop(index+4))
then 459 write(*,*)
'*ERROR in checkinputvaluesnet:' 460 write(*,*)
' trying to define a branch ' 461 write(*,*)
' Type IDELCHIK JOINT2 ' 462 write(*,*)
' A1+A2 must be equal to A0' 463 write(*,*)
' element number: ',nelem
471 elseif((lakon(nelem)(2:3).eq.
'VO'))
then 475 if((prop(index+1).le.0.d0) .or.
476 & (prop(index+2).le.0.d0))
then 477 write(*,*)
'*ERROR in checkinputvaluesnet:' 478 write(*,*)
' trying to define a VORTEX' 479 write(*,*)
' R1 and R2 must be positive' 480 write(*,*)
' element number: ',nelem
483 elseif(prop(index+3).le.0.d0)
then 484 write(*,*)
'*ERROR in checkinputvaluesnet:' 485 write(*,*)
' trying to define a VORTEX' 486 write(*,*)
' eta must be different positive' 487 write(*,*)
' element number: ',nelem
493 if((lakon(nelem)(2:5).eq.
'VOFR'))
then 497 if(prop(index+6).ne.0d0)
then 501 if(prop(index+7).ne.0.d0)
then 502 write(*,*)
'*ERROR in checkinputvaluesnet:' 503 write(*,*)
' trying to define a FREE VORTEX' 505 &
' rotation speed and upstream element' 506 write(*,*)
' cannot be simultaneously used ' 507 write(*,*)
' element number: ',nelem
514 elseif((lakon(nelem)(2:5).eq.
'VOFO'))
then 518 if(prop(index+4).le.0.d0)
then 519 write(*,*)
'*ERROR in checkinputvaluesnet:' 520 write(*,*)
' trying to define a FORCED VORTEX' 521 write(*,*)
' Core swirl ratio Kr is strictly 523 write(*,*)
' element number: ',nelem
526 if(prop(index+4).gt.1.d0)
then 527 write(*,*)
'*ERROR in checkinputvaluesnet:' 528 write(*,*)
' trying to define a FORCED VORTEX' 529 write(*,*)
' Core swirl ratio Kr is 531 write(*,*)
' element number: ',nelem
537 if(prop(index+5).le.0.d0)
then 538 write(*,*)
'*ERROR in checkinputvaluesnet:' 539 write(*,*)
' trying to define a FORCED VORTEX' 541 &
' Rotation speed n is strictly positive' 542 write(*,*)
' element number: ',nelem
549 elseif((lakon(nelem)(2:4).eq.
'ATR').or.
550 & (lakon(nelem)(2:4).eq.
'RTA'))
then 551 if(prop(index+1).le.0.d0)
then 552 write(*,*)
'*ERROR in checkinputvaluesnet:' 553 write(*,*)
' trying to define an element' 554 write(*,*)
' TYPE= ABSOLUTE TO RELATIVE or' 555 write(*,*)
' TYPE= RELATIVE TO ABSOLUTE' 556 write(*,*)
' Rotation speed is strictly positive' 557 write(*,*)
' element number: ',nelem
559 elseif(prop(index+3).ne.0.d0)
then 560 if(prop(index+2).ne.0.d0)
then 561 write(*,*)
'*ERROR in checkinputvaluesnet:' 562 write(*,*)
' trying to define an element' 563 write(*,*)
' TYPE= ABSOLUTE TO RELATIVE or' 564 write(*,*)
' TYPE= RELATIVE TO ABSOLUTE' 565 write(*,*)
' reference element has been provided' 566 write(*,*)
' but tengential velocity 567 & is already defined' 568 write(*,*)
' element number: ',nelem
572 elseif((lakon(nelem)(2:5).ne.
'LIPU').and.
573 & (lakon(nelem).ne.
' ').and.
574 & (lakon(nelem)(2:4).ne.
'LAB').and.
575 & (lakon(nelem)(2:5).ne.
'CHAR').and.
576 & (lakon(nelem)(2:6).ne.
'CARBS'))
then 577 if((prop(index+1).lt.0.d0))
then 578 write(*,*)
'*ERROR in checkinputvaluesnet: section area' 579 write(*,*)
' is not positive' 580 write(*,*)
' element number: ',nelem