File: /nfs/home/0/users/jenkins/mfix.git/model/flow_to_vel.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 SUBROUTINE FLOW_TO_VEL_NEW(DO_VEL_CHECK, M_TOT, SKIP, BCV)
23
24 use param, only: DIM_M
25 use param1, only: UNDEFINED
26 use geometry, only: NO_I, NO_J, NO_K
27 use physprop, only: SMAX
28 use discretelement, only: DES_MMAX
29 use bc, only: BC_MASSFLOW_G
30 use bc, only: BC_VOLFLOW_G
31 use bc, only: BC_MASSFLOW_S
32 use bc, only: BC_VOLFLOW_S
33
34 use error_manager
35 use toleranc
36
37 IMPLICIT NONE
38
39
40
41 LOGICAL, intent(in) :: DO_VEL_CHECK
42
43
44 INTEGER, intent(in) :: M_TOT
45 LOGICAL, intent(in) :: SKIP(DIM_M)
46
47
48 INTEGER, intent(in) :: BCV
49
50
51 LOGICAL :: CONVERTED = .FALSE.
52
53
54 INTEGER :: M
55
56
57 CALL INIT_ERR_MSG("FLOW_TO_VEL_NEW")
58
59
60 IF(BC_MASSFLOW_G(BCV) /= UNDEFINED) &
61 CALL GAS_MASSFLOW_TO_VOLFLOW(BCV)
62
63 DO M=1,M_TOT
64 IF(BC_MASSFLOW_S(BCV,M) /= UNDEFINED) &
65 CALL SOLIDS_MASSFLOW_TO_VOLFLOW(BCV,M,SKIP(M))
66 ENDDO
67
68
69 IF(BC_VOLFLOW_G(BCV) /= UNDEFINED) THEN
70 CALL GAS_VOLFLOW_TO_VELOCITY(DO_VEL_CHECK, BCV)
71
72 = .TRUE.
73 ENDIF
74
75 DO M=1,M_TOT
76 IF(BC_VOLFLOW_S(BCV,M) /= UNDEFINED) THEN
77 CALL SOLIDS_VOLFLOW_TO_VELOCITY(DO_VEL_CHECK, BCV, M, SKIP(M))
78
79 = .TRUE.
80 ENDIF
81 ENDDO
82
83 IF(CONVERTED .AND. (NO_I .OR. NO_J .OR. NO_K)) THEN
84 WRITE(ERR_MSG, 1100)
85 CALL FLUSH_ERR_MSG
86 ENDIF
87
88 CALL FINL_ERR_MSG
89
90 RETURN
91
92 1100 FORMAT('Warning 1100: Some volumetric or mass flow rates have ', &
93 'been converted',/'velocity. Ensure that the third (unused) ',&
94 'dimension in 2D simulations',/'is correctly specified (e.g.',&
95 ', in axisymmetric cylindrical coordinates',/'ZLENGTH = 2*Pi)')
96
97 END SUBROUTINE FLOW_TO_VEL_NEW
98
99
100
101
102
103
104
105
106
107
108
109
110 SUBROUTINE GAS_MASSFLOW_TO_VOLFLOW(BCV)
111
112 use bc, only: BC_MASSFLOW_g
113 use bc, only: BC_P_g
114 use bc, only: BC_T_g
115 use bc, only: BC_VOLFLOW_g
116 use bc, only: BC_X_g
117 use eos, only: EOSG
118 use error_manager
119 use param, only: DIMENSION_BC
120 use param1, only: UNDEFINED
121 use param1, only: ZERO
122 use physprop, only: MW_AVG, MW_g
123 use physprop, only: NMAX
124 use physprop, only: RO_g0
125 use scales, only: P_REF
126 use toleranc
127
128 IMPLICIT NONE
129
130 INTEGER, INTENT(in) :: BCV
131
132
133 DOUBLE PRECISION :: VOLFLOW
134
135 DOUBLE PRECISION :: MW
136
137 DOUBLE PRECISION, EXTERNAL :: CALC_MW
138
139 CALL INIT_ERR_MSG("GAS_MASSFLOW_TO_VOLFLOW")
140
141
142 IF(COMPARE(BC_MASSFLOW_G(BCV),ZERO)) THEN
143 VOLFLOW = ZERO
144
145
146 ELSEIF(RO_G0 /= UNDEFINED) THEN
147 VOLFLOW = BC_MASSFLOW_G(BCV)/RO_G0
148
149
150 ELSEIF(BC_P_G(BCV)/=UNDEFINED .AND. BC_T_G(BCV)/=UNDEFINED) THEN
151 IF(MW_AVG == UNDEFINED) THEN
152 MW = CALC_MW(BC_X_G,DIMENSION_BC,BCV,NMAX(0),MW_G)
153 ELSE
154 MW = MW_AVG
155 ENDIF
156 VOLFLOW = BC_MASSFLOW_G(BCV) / &
157 EOSG(MW,(BC_P_G(BCV)-P_REF),BC_T_G(BCV))
158
159
160
161 ELSE
162 WRITE(ERR_MSG, 1100) BCV
163 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
164
165 1100 FORMAT('Error 1100: Boundary condition ',I3,' failed sanity ', &
166 'check.',/'Please report this to the MFIX mailing list.')
167
168 ENDIF
169
170
171 IF(BC_VOLFLOW_G(BCV) /= UNDEFINED) THEN
172 IF(.NOT.COMPARE(VOLFLOW,BC_VOLFLOW_G(BCV))) THEN
173 WRITE(ERR_MSG,1101) trim(iVar('BC_MASSFLOW_g',BCV)), BCV, &
174 VOLFLOW, BC_VOLFLOW_g(BCV)
175 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
176 ENDIF
177 ELSE
178
179
180 (BCV) = VOLFLOW
181 ENDIF
182
183 1101 FORMAT('Error 1101: Volumetric flow rate calculated from ',A,/ &
184 'does NOT equal the specified volumetric flow rate for BC',I3,&
185 /3x,'>>> Calculated: ',G14.7,/3x,'>>> Specified: ',G14.7,/ &
186 'Please correct the mfix.dat file.')
187
188
189 CALL FINL_ERR_MSG
190
191 RETURN
192
193 END SUBROUTINE GAS_MASSFLOW_TO_VOLFLOW
194
195
196
197
198
199
200
201
202
203
204
205
206 SUBROUTINE SOLIDS_MASSFLOW_TO_VOLFLOW(BCV,M, SKIP_M)
207
208 USE bc, only: BC_MASSFLOW_s
209 USE bc, only: BC_VOLFLOW_s
210 USE bc, only: BC_X_s
211 USE param1, only: UNDEFINED, ZERO
212 USE physprop, only: BASE_ROs
213 USE physprop, only: INERT_SPECIES
214 USE physprop, only: RO_s0
215 USE physprop, only: X_s0
216 use eos, only: EOSS
217 use error_manager
218 use toleranc
219
220 IMPLICIT NONE
221
222
223 INTEGER, INTENT(in) :: BCV, M
224 LOGICAL, INTENT(in) :: SKIP_M
225
226
227 DOUBLE PRECISION :: VOLFLOW
228
229 INTEGER :: INERT
230
231 CALL INIT_ERR_MSG("SOLIDS_MASSFLOW_TO_VOLFLOW")
232
233
234 IF(SKIP_M) THEN
235 WRITE(ERR_MSG,1100) M, BCV, trim(iVar("BC_MASSFLOW_S",BCV,M))
236 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
237 ENDIF
238
239 1100 FORMAT('Error 1100: Solids phase ',I2,' has a specified mass ', &
240 'flow rate',/'at BC ',I3,', ',A,'. But, both BC_ROP_s and ',&
241 'BC_EP_s are zero or undefined.',/'Please correct the ',&
242 'mfix.dat file.')
243
244 IF(COMPARE(BC_MASSFLOW_S(BCV,M),ZERO)) THEN
245 VOLFLOW = ZERO
246
247 ELSEIF(RO_S0(M) /= UNDEFINED) THEN
248 VOLFLOW = BC_MASSFLOW_S(BCV,M)/RO_S0(M)
249 ELSE
250
251 = INERT_SPECIES(M)
252
253 = BC_MASSFLOW_S(BCV,M)/EOSS(BASE_ROs(M), &
254 X_s0(M,INERT), BC_X_S(BCV,M,INERT))
255 ENDIF
256
257
258 IF(BC_VOLFLOW_S(BCV,M) /= UNDEFINED) THEN
259 IF(.NOT.COMPARE(VOLFLOW,BC_VOLFLOW_S(BCV,M))) THEN
260 WRITE(ERR_MSG,1101) trim(iVar('BC_MASSFLOW_S',BCV,M)), BCV, &
261 VOLFLOW, BC_VOLFLOW_S(BCV,M)
262 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
263 ENDIF
264 ELSE
265 BC_VOLFLOW_S(BCV,M) = VOLFLOW
266 ENDIF
267
268 CALL FINL_ERR_MSG
269
270 RETURN
271
272 1101 FORMAT('Error 1101: Volumetric flow rate calculated from ',A,/ &
273 'does NOT equal the specified volumetric flow rate for BC',I3,&
274 /3x,'>>> Calculated: ',G14.7,/3x,'>>> Specified: ',G14.7,/ &
275 'Please correct the mfix.dat file.')
276
277
278 END SUBROUTINE SOLIDS_MASSFLOW_TO_VOLFLOW
279
280
281
282
283
284
285
286
287
288
289
290
291 SUBROUTINE GAS_VOLFLOW_TO_VELOCITY(DO_VEL_CHECK, BCV)
292
293 USE param
294 USE param1
295 USE geometry
296 USE fldvar
297 USE physprop
298 USE run
299 USE bc
300 USE scales
301 USE indices
302 USE funits
303 USE compar
304 USE discretelement
305 USE mfix_pic
306
307 use error_manager
308 use toleranc
309
310 IMPLICIT NONE
311
312
313
314
315 INTEGER, INTENT(in) :: BCV
316
317
318 LOGICAL, INTENT(in) :: DO_VEL_CHECK
319
320
321 DOUBLE PRECISION :: SGN, OFF
322
323
324 DOUBLE PRECISION :: VEL
325
326 CALL INIT_ERR_MSG("GAS_VOLFLOW_TO_VELOCITY")
327
328 SELECT CASE (trim(BC_TYPE(BCV)))
329 CASE ('MASS_INFLOW'); SGN = ONE; OFF = ZERO
330 CASE ('MASS_OUTFLOW'); SGN = -ONE; OFF = ONE
331 CASE DEFAULT
332 write(*,*) 'error in GAS_VOLFLOW_TO_VELOCITY'
333 call mfix_exit(myPE)
334 END SELECT
335
336 SELECT CASE (BC_PLANE(BCV))
337 CASE ('W'); SGN = -SGN
338 CASE ('S'); SGN = -SGN
339 CASE ('B'); SGN = -SGN
340 END SELECT
341
342
343
344 = SGN*BC_VOLFLOW_G(BCV)/(BC_AREA(BCV)*BC_EP_G(BCV))
345
346
347
348
349
350
351 IF(BC_PLANE(BCV) == 'W' .OR. BC_PLANE(BCV)== 'E') THEN
352
353 IF(BC_U_G(BCV) /= UNDEFINED .AND. DO_VEL_CHECK) THEN
354 IF(.NOT.COMPARE(VEL,BC_U_G(BCV))) THEN
355 WRITE(ERR_MSG,1100) BCV, VEL, 'BC_U_g', BC_U_G(BCV)
356 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
357 ENDIF
358 ELSE
359 BC_U_G(BCV) = VEL
360 BC_V_G(BCV) = OFF * BC_V_G(BCV)
361 BC_W_G(BCV) = OFF * BC_W_G(BCV)
362 ENDIF
363
364 ELSEIF(BC_PLANE(BCV) == 'S' .OR. BC_PLANE(BCV)== 'N') THEN
365 IF(BC_V_G(BCV) /= UNDEFINED .AND. DO_VEL_CHECK) THEN
366 IF(.NOT.COMPARE(VEL,BC_V_G(BCV))) THEN
367 WRITE(ERR_MSG, 1100) BCV, VEL, 'BC_V_g', BC_V_G(BCV)
368 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
369 ENDIF
370 ELSE
371 BC_V_G(BCV) = VEL
372 BC_U_G(BCV) = OFF * BC_U_G(BCV)
373 BC_W_G(BCV) = OFF * BC_W_G(BCV)
374 ENDIF
375
376 ELSEIF(BC_PLANE(BCV) == 'B' .OR. BC_PLANE(BCV)== 'T') THEN
377 IF(BC_W_G(BCV) /= UNDEFINED .AND. DO_VEL_CHECK) THEN
378 IF(.NOT.COMPARE(VEL, BC_W_G(BCV))) THEN
379 WRITE(ERR_MSG, 1100) BCV, VEL, 'BC_W_g', BC_W_G(BCV)
380 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
381 ENDIF
382 ELSE
383 BC_W_G(BCV) = VEL
384 BC_U_G(BCV) = OFF * BC_U_G(BCV)
385 BC_V_G(BCV) = OFF * BC_V_G(BCV)
386 ENDIF
387
388 ENDIF
389
390 CALL FINL_ERR_MSG
391
392 RETURN
393
394 1100 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
395 ' Computed velocity is not equal to specified value',/,&
396 ' Value computed from vol. or mass flow = ',G14.7,/,&
397 ' Specified value (',A,') = ',G14.7,/1X,70('*')/)
398
399 END SUBROUTINE GAS_VOLFLOW_TO_VELOCITY
400
401
402
403
404
405
406
407
408
409
410
411
412 SUBROUTINE SOLIDS_VOLFLOW_TO_VELOCITY(DO_VEL_CHECK, BCV, M, SKIP_M)
413
414 USE param
415 USE param1
416 USE geometry
417 USE fldvar
418 USE physprop
419 USE run
420 USE bc
421 USE scales
422 USE indices
423 USE funits
424 USE compar
425 USE discretelement
426 USE mfix_pic
427
428 use error_manager
429 use toleranc
430
431 IMPLICIT NONE
432
433
434
435
436 INTEGER, INTENT(in) :: BCV, M
437
438 LOGICAL, INTENT(in) :: DO_VEL_CHECK, SKIP_M
439
440
441 DOUBLE PRECISION :: VEL
442
443 DOUBLE PRECISION :: SGN, OFF
444
445
446
447 CALL INIT_ERR_MSG("SOLIDS_VOLFLOW_TO_VELOCITY")
448
449 IF(SKIP_M) THEN
450 WRITE(ERR_MSG,1100) M, BCV, trim(iVar("BC_VOLFLOW_S",BCV,M))
451 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
452 ENDIF
453
454 1100 FORMAT('Error 1100: Solids phase ',I2,' has a specified ', &
455 'volumetric flow rate',/'at BC ',I3,', ',A,'. But, both ',&
456 'BC_ROP_s and BC_EP_s are zero or undefined.',/'Please ',&
457 'the mfix.dat file.')
458
459 SELECT CASE (trim(BC_TYPE(BCV)))
460 CASE ('MASS_INFLOW'); SGN = ONE; OFF = ZERO
461 CASE ('MASS_OUTFLOW'); SGN = -ONE; OFF = ONE
462 CASE DEFAULT
463 write(*,*) 'error in SOLIDS_VOLFLOW_TO_VELOCITY'
464 call mfix_exit(myPE)
465 END SELECT
466
467 SELECT CASE (BC_PLANE(BCV))
468 CASE ('W'); SGN = -SGN
469 CASE ('S'); SGN = -SGN
470 CASE ('B'); SGN = -SGN
471 END SELECT
472
473 IF(BC_EP_S(BCV,M) /= ZERO) THEN
474 VEL = SGN * BC_VOLFLOW_S(BCV,M)/(BC_AREA(BCV)*BC_EP_S(BCV,M))
475 ELSE
476 IF(BC_VOLFLOW_S(BCV,M) == ZERO) THEN
477 VEL = ZERO
478 ELSE
479 IF(DMP_LOG)WRITE (UNIT_LOG, 1101) BCV, M
480 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
481 ENDIF
482 ENDIF
483
484 1101 FORMAT('Error 1101: BC No:',I2,' Non-zero vol. or mass flow ',&
485 'specified with BC_ROP_s', I1,' = 0.')
486
487 IF(BC_PLANE(BCV) == 'W' .OR. BC_PLANE(BCV)== 'E') THEN
488 IF(BC_U_S(BCV,M) /= UNDEFINED .AND. DO_VEL_CHECK) THEN
489 IF(.NOT.COMPARE(VEL, BC_U_S(BCV,M))) THEN
490 WRITE(ERR_MSG, 1300) BCV, (-VEL), 'BC_U_s', M, BC_U_S(BCV,M)
491 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
492 ENDIF
493 ELSE
494 BC_U_S(BCV,M) = VEL
495 BC_V_S(BCV,M) = OFF * BC_V_S(BCV,M)
496 BC_W_S(BCV,M) = OFF * BC_W_S(BCV,M)
497 ENDIF
498
499 ELSEIF(BC_PLANE(BCV) == 'S' .OR. BC_PLANE(BCV)== 'N') THEN
500 IF(BC_V_S(BCV,M) /= UNDEFINED .AND. DO_VEL_CHECK) THEN
501 IF(.NOT.COMPARE(VEL,BC_V_S(BCV,M))) THEN
502 WRITE(ERR_MSG,1300) BCV, VEL, 'BC_V_s', M, BC_V_S(BCV,M)
503 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
504 ENDIF
505 ELSE
506 BC_V_S(BCV,M) = VEL
507 BC_U_S(BCV,M) = OFF * BC_U_S(BCV,M)
508 BC_W_S(BCV,M) = OFF * BC_W_S(BCV,M)
509 ENDIF
510
511 ELSEIF(BC_PLANE(BCV) == 'B' .OR. BC_PLANE(BCV)== 'T') THEN
512 IF(BC_W_S(BCV,M) /= UNDEFINED .AND. DO_VEL_CHECK) THEN
513 IF(.NOT.COMPARE(VEL,BC_W_S(BCV,M))) THEN
514 WRITE(ERR_MSG, 1300) BCV, VEL, 'BC_W_s', M, BC_W_S(BCV,M)
515 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
516 ENDIF
517 ELSE
518 BC_W_S(BCV,M) = VEL
519 BC_U_S(BCV,M) = OFF * BC_U_S(BCV,M)
520 BC_V_S(BCV,M) = OFF * BC_V_S(BCV,M)
521 ENDIF
522 ENDIF
523
524
525 CALL FINL_ERR_MSG
526
527 RETURN
528
529 1300 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
530 ' Computed velocity is not equal to specified value',/,&
531 ' Value computed from vol. or mass flow = ',G14.7,/,&
532 ' Specified value (',A,I1,') = ',G14.7,/1X,70('*')/)
533
534 END SUBROUTINE SOLIDS_VOLFLOW_TO_VELOCITY
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640 SUBROUTINE FLOW_TO_VEL(DO_VEL_CHECK)
641
642
643
644
645 USE bc
646 USE compar
647 USE discretelement
648 USE eos, ONLY: EOSG, EOSS
649 USE fldvar
650 USE funits
651 USE geometry
652 USE indices
653 USE mfix_pic
654 USE param
655 USE param1
656 USE physprop
657 USE run
658 USE scales
659 USE toleranc
660
661 IMPLICIT NONE
662
663
664
665
666 INTEGER :: BCV, M
667
668 DOUBLE PRECISION :: VOLFLOW
669
670 DOUBLE PRECISION :: VEL
671
672 DOUBLE PRECISION :: EPS
673
674 LOGICAL :: CONVERTED,DO_VEL_CHECK
675
676 DOUBLE PRECISION :: MW
677
678 INTEGER :: INERT
679
680 DOUBLE PRECISION :: BC_ROs
681
682
683
684 DOUBLE PRECISION, EXTERNAL :: CALC_MW
685
686
687
688
689
690
691
692
693
694
695
696
697
698 = UNDEFINED
699
700 CONVERTED = .FALSE.
701 DO BCV = 1, DIMENSION_BC
702 IF (BC_DEFINED(BCV)) THEN
703 IF (BC_TYPE(BCV)=='MASS_INFLOW' .OR.&
704 BC_TYPE(BCV)=='MASS_OUTFLOW') THEN
705
706
707
708 IF (BC_MASSFLOW_G(BCV) /= UNDEFINED) THEN
709 IF (RO_G0 /= UNDEFINED) THEN
710 VOLFLOW = BC_MASSFLOW_G(BCV)/RO_G0
711 ELSE
712 IF (BC_P_G(BCV)/=UNDEFINED .AND. &
713 BC_T_G(BCV)/=UNDEFINED) THEN
714 IF (MW_AVG == UNDEFINED) THEN
715 MW = CALC_MW(BC_X_G,DIMENSION_BC,BCV,NMAX(0),MW_G)
716 ELSE
717 MW = MW_AVG
718 ENDIF
719 VOLFLOW = BC_MASSFLOW_G(BCV)/&
720 EOSG(MW,(BC_P_G(BCV)-P_REF),BC_T_G(BCV))
721
722 ELSE
723
724
725
726
727
728
729
730 IF (BC_TYPE(BCV) == 'MASS_OUTFLOW') THEN
731
732
733
734
735
736 IF (BC_MASSFLOW_G(BCV) == ZERO) THEN
737 VOLFLOW = ZERO
738 ELSEIF (BC_PLANE(BCV)=='W' .OR. &
739 BC_PLANE(BCV)=='E') THEN
740 IF (BC_U_G(BCV)==UNDEFINED .OR. &
741 BC_U_G(BCV)/=ZERO) THEN
742 IF(DMP_LOG)WRITE (UNIT_LOG, 1010)&
743 BCV, 'BC_U_g'
744 call mfix_exit(myPE)
745 ENDIF
746 ELSEIF (BC_PLANE(BCV)=='N' .OR. &
747 BC_PLANE(BCV)=='S') THEN
748 IF (BC_V_G(BCV)==UNDEFINED .OR. &
749 BC_V_G(BCV)/=ZERO) THEN
750 IF(DMP_LOG)WRITE (UNIT_LOG, 1010) &
751 BCV, 'BC_V_g'
752 call mfix_exit(myPE)
753 ENDIF
754 ELSEIF (BC_PLANE(BCV)=='T' .OR. &
755 BC_PLANE(BCV)=='B') THEN
756 IF (BC_W_G(BCV)==UNDEFINED .OR. &
757 BC_W_G(BCV)/=ZERO) THEN
758 IF(DMP_LOG)WRITE (UNIT_LOG, 1010) &
759 BCV, 'BC_W_g'
760 call mfix_exit(myPE)
761 ENDIF
762 ENDIF
763 ELSE
764
765 IF(DMP_LOG)WRITE (UNIT_LOG, 1020) BCV
766 call mfix_exit(myPE)
767 ENDIF
768 ENDIF
769 ENDIF
770
771
772 IF (BC_VOLFLOW_G(BCV) /= UNDEFINED) THEN
773
774
775 IF (.NOT.COMPARE(VOLFLOW,BC_VOLFLOW_G(BCV))) THEN
776 IF(DMP_LOG)WRITE (UNIT_LOG, 1000) BCV, &
777 VOLFLOW, BC_VOLFLOW_G(BCV)
778 call mfix_exit(myPE)
779 ENDIF
780 ELSE
781 BC_VOLFLOW_G(BCV) = VOLFLOW
782 ENDIF
783 ENDIF
784
785
786
787
788
789 IF (BC_VOLFLOW_G(BCV) /= UNDEFINED) THEN
790
791 IF (BC_EP_G(BCV) /= UNDEFINED) THEN
792
793
794
795 = BC_VOLFLOW_G(BCV)/(BC_AREA(BCV)*BC_EP_G(BCV))
796 ELSE
797
798
799
800
801
802 RETURN
803 ENDIF
804
805
806
807
808
809
810 = .TRUE.
811 SELECT CASE (TRIM(BC_PLANE(BCV)))
812 CASE ('W')
813 IF (BC_U_G(BCV) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
814 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
815 .NOT.COMPARE((-VEL),BC_U_G(BCV))) THEN
816 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV,&
817 (-VEL), 'BC_U_g', BC_U_G(BCV)
818 call mfix_exit(myPE)
819 ENDIF
820 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
821 .NOT.COMPARE(VEL,BC_U_G(BCV))) THEN
822 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, &
823 VEL, 'BC_U_g', BC_U_G(BCV)
824 call mfix_exit(myPE)
825 ENDIF
826 ELSE
827 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
828 BC_U_G(BCV) = -VEL
829 BC_V_G(BCV) = ZERO
830 BC_W_G(BCV) = ZERO
831 ELSE
832 BC_U_G(BCV) = VEL
833 ENDIF
834 ENDIF
835 CASE ('E')
836 IF (BC_U_G(BCV) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
837 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
838 .NOT.COMPARE(VEL,BC_U_G(BCV))) THEN
839 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, VEL,&
840 'BC_U_g', BC_U_G(BCV)
841 call mfix_exit(myPE)
842 ENDIF
843 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
844 .NOT.COMPARE((-VEL),BC_U_G(BCV))) THEN
845 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, &
846 (-VEL), 'BC_U_g', BC_U_G(BCV)
847 call mfix_exit(myPE)
848 ENDIF
849 ELSE
850 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
851 BC_U_G(BCV) = VEL
852 BC_V_G(BCV) = ZERO
853 BC_W_G(BCV) = ZERO
854 ELSE
855 BC_U_G(BCV) = -VEL
856 ENDIF
857 ENDIF
858 CASE ('S')
859 IF (BC_V_G(BCV) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
860 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
861 .NOT.COMPARE((-VEL),BC_V_G(BCV))) THEN
862 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV,&
863 (-VEL), 'BC_V_g', BC_V_G(BCV)
864 call mfix_exit(myPE)
865 ENDIF
866 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
867 .NOT.COMPARE(VEL,BC_V_G(BCV))) THEN
868 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, VEL,&
869 'BC_V_g', BC_V_G(BCV)
870 call mfix_exit(myPE)
871 ENDIF
872 ELSE
873 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
874 BC_U_G(BCV) = ZERO
875 BC_V_G(BCV) = -VEL
876 BC_W_G(BCV) = ZERO
877 ELSE
878 BC_V_G(BCV) = VEL
879 ENDIF
880 ENDIF
881 CASE ('N')
882 IF (BC_V_G(BCV) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
883 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
884 .NOT.COMPARE(VEL,BC_V_G(BCV))) THEN
885 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, VEL,&
886 'BC_V_g', BC_V_G(BCV)
887 call mfix_exit(myPE)
888 ENDIF
889 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
890 .NOT.COMPARE((-VEL),BC_V_G(BCV))) THEN
891 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, &
892 (-VEL), 'BC_V_g', BC_V_G(BCV)
893 call mfix_exit(myPE)
894 ENDIF
895 ELSE
896 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
897 BC_U_G(BCV) = ZERO
898 BC_V_G(BCV) = VEL
899 BC_W_G(BCV) = ZERO
900 ELSE
901 BC_V_G(BCV) = -VEL
902 ENDIF
903 ENDIF
904 CASE ('B')
905 IF (BC_W_G(BCV) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
906 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
907 .NOT.COMPARE((-VEL),BC_W_G(BCV))) THEN
908 IF(DMP_LOG)WRITE (UNIT_LOG, 1100) BCV,&
909 (-VEL), 'BC_W_g', BC_W_G(BCV)
910 call mfix_exit(myPE)
911 ENDIF
912 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
913 .NOT.COMPARE(VEL,BC_W_G(BCV))) THEN
914 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, VEL,&
915 'BC_W_g', BC_W_G(BCV)
916 call mfix_exit(myPE)
917 ENDIF
918 ELSE
919 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
920 BC_U_G(BCV) = ZERO
921 BC_V_G(BCV) = ZERO
922 BC_W_G(BCV) = -VEL
923 ELSE
924 BC_W_G(BCV) = VEL
925 ENDIF
926 ENDIF
927 CASE ('T')
928 IF (BC_W_G(BCV) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
929 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
930 .NOT.COMPARE(VEL,BC_W_G(BCV))) THEN
931 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV, VEL,&
932 'BC_W_g', BC_W_G(BCV)
933 call mfix_exit(myPE)
934 ENDIF
935 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
936 .NOT.COMPARE((-VEL),BC_W_G(BCV))) THEN
937 IF(DMP_LOG) WRITE (UNIT_LOG, 1100) BCV,&
938 (-VEL), 'BC_W_g', BC_W_G(BCV)
939 call mfix_exit(myPE)
940 ENDIF
941 ELSE
942 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
943 BC_U_G(BCV) = ZERO
944 BC_V_G(BCV) = ZERO
945 BC_W_G(BCV) = VEL
946 ELSE
947 BC_W_G(BCV) = -VEL
948 ENDIF
949 ENDIF
950 END SELECT
951 ENDIF
952
953
954
955 IF (.NOT.DISCRETE_ELEMENT .OR. (DISCRETE_ELEMENT &
956 .AND. DES_CONTINUUM_HYBRID).OR. (DISCRETE_ELEMENT &
957 .AND. MPPIC)) THEN
958
959
960
961
962
963
964 DO M = 1, SMAX
965
966
967 = UNDEFINED
968 BC_ROs = UNDEFINED
969
970 IF((BC_MASSFLOW_S(BCV,M) /= UNDEFINED) .OR. &
971 (BC_VOLFLOW_S(BCV,M) /= UNDEFINED)) THEN
972
973
974 = UNDEFINED
975 IF(SOLVE_ROs(M))THEN
976 INERT = INERT_SPECIES(M)
977
978
979 IF(BC_X_S(BCV,M,INERT) == ZERO) THEN
980 IF(BC_ROP_S(BCV,M) /= ZERO) THEN
981 IF(DMP_LOG) THEN
982 WRITE(*,1401) M, BCV
983 WRITE(UNIT_LOG,1401) M, BCV
984 ENDIF
985 CALL MFIX_EXIT(myPE)
986 ELSE
987
988 = BASE_ROs(M)
989 ENDIF
990 ELSE
991
992 = EOSS(BASE_ROs(M),X_s0(M,INERT), &
993 BC_X_S(BCV,M,INERT))
994 ENDIF
995 ELSE
996 BC_ROs = RO_S0(M)
997 ENDIF
998 ELSE
999
1000 = RO_S0(M)
1001 ENDIF
1002
1003
1004
1005
1006 IF (BC_MASSFLOW_S(BCV,M) /= UNDEFINED) THEN
1007
1008
1009 IF(BC_ROs <= ZERO .OR. BC_ROs==UNDEFINED) THEN
1010 IF(DMP_LOG)THEN
1011 WRITE(*,1401) M, BCV
1012 WRITE(UNIT_LOG,1401) M, BCV
1013 ENDIF
1014 CALL MFIX_EXIT(myPE)
1015 ENDIF
1016
1017 VOLFLOW = BC_MASSFLOW_S(BCV,M)/BC_ROs
1018
1019
1020 IF (BC_VOLFLOW_S(BCV,M) /= UNDEFINED) THEN
1021 IF (.NOT.COMPARE(VOLFLOW,BC_VOLFLOW_S(BCV,M))) THEN
1022 IF(DMP_LOG) WRITE(UNIT_LOG,1200) &
1023 BCV,VOLFLOW,M,BC_VOLFLOW_S(BCV,M)
1024 call mfix_exit(myPE)
1025 ENDIF
1026 ELSE
1027 BC_VOLFLOW_S(BCV,M) = VOLFLOW
1028 ENDIF
1029 ENDIF
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039 IF (BC_ROP_S(BCV,M) == UNDEFINED .AND. &
1040 BC_EP_G(BCV) /= UNDEFINED ) THEN
1041 IF (BC_EP_G(BCV) == ONE) THEN
1042 BC_ROP_S(BCV,M) = ZERO
1043 ELSEIF (SMAX == 1 .AND. &
1044 .NOT.DES_CONTINUUM_HYBRID) THEN
1045
1046
1047 IF(BC_ROs <= ZERO .OR. BC_ROs==UNDEFINED) THEN
1048 IF(DMP_LOG)THEN
1049 WRITE(*,1401) M, BCV
1050 WRITE(UNIT_LOG,1401) M, BCV
1051 ENDIF
1052 CALL MFIX_EXIT(myPE)
1053 ENDIF
1054
1055
1056
1057
1058 (BCV,M) = (ONE - BC_EP_G(BCV))*BC_ROs
1059 ENDIF
1060 ENDIF
1061
1062
1063
1064
1065
1066 IF (BC_VOLFLOW_S(BCV,M) /= UNDEFINED) THEN
1067
1068
1069 IF(BC_ROs <= ZERO .OR. BC_ROs==UNDEFINED) THEN
1070 IF(DMP_LOG)THEN
1071 WRITE(*,1401) M, BCV
1072 WRITE(UNIT_LOG,1401) M, BCV
1073 ENDIF
1074 CALL MFIX_EXIT(myPE)
1075 ENDIF
1076
1077 IF (BC_ROP_S(BCV,M) /= UNDEFINED) THEN
1078 EPS = BC_ROP_S(BCV,M)/BC_ROs
1079
1080
1081
1082 IF (EPS /= ZERO) THEN
1083 VEL = BC_VOLFLOW_S(BCV,M)/(BC_AREA(BCV)*EPS)
1084 ELSE
1085 IF (BC_VOLFLOW_S(BCV,M) == ZERO) THEN
1086 VEL = ZERO
1087 ELSE
1088 IF(DMP_LOG)WRITE (UNIT_LOG, 1250) BCV, M
1089 call mfix_exit(myPE)
1090 ENDIF
1091 ENDIF
1092 ELSE
1093 IF (BC_VOLFLOW_S(BCV,M) == ZERO) THEN
1094 VEL = ZERO
1095 ELSE
1096
1097
1098 IF(DMP_LOG)WRITE (UNIT_LOG, 1260) BCV, M
1099 call mfix_exit(myPE)
1100 ENDIF
1101 ENDIF
1102
1103
1104
1105
1106
1107
1108 = .TRUE.
1109 SELECT CASE (TRIM(BC_PLANE(BCV)))
1110 CASE ('W')
1111 IF (BC_U_S(BCV,M) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
1112 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
1113 .NOT.COMPARE((-VEL),BC_U_S(BCV,M))) THEN
1114 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1115 (-VEL), 'BC_U_s', M, BC_U_S(BCV,M)
1116 call mfix_exit(myPE)
1117 ENDIF
1118 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
1119 .NOT.COMPARE(VEL,BC_U_S(BCV,M))) THEN
1120 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1121 VEL, 'BC_U_s', M, BC_U_S(BCV,M)
1122 call mfix_exit(myPE)
1123 ENDIF
1124 ELSE
1125 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
1126 BC_U_S(BCV,M) = -VEL
1127 BC_V_S(BCV,M) = ZERO
1128 BC_W_S(BCV,M) = ZERO
1129 ELSE
1130 BC_U_S(BCV,M) = VEL
1131 ENDIF
1132 ENDIF
1133 CASE ('E')
1134 IF (BC_U_S(BCV,M) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
1135 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
1136 .NOT.COMPARE(VEL,BC_U_S(BCV,M))) THEN
1137 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1138 VEL, 'BC_U_s', M, BC_U_S(BCV,M)
1139 call mfix_exit(myPE)
1140 ENDIF
1141 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
1142 .NOT.COMPARE((-VEL),BC_U_S(BCV,M))) THEN
1143 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1144 (-VEL), 'BC_U_s', M, BC_U_S(BCV,M)
1145 call mfix_exit(myPE)
1146 ENDIF
1147 ELSE
1148 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
1149 BC_U_S(BCV,M) = VEL
1150 BC_V_S(BCV,M) = ZERO
1151 BC_W_S(BCV,M) = ZERO
1152 ELSE
1153 BC_U_S(BCV,M) = -VEL
1154 ENDIF
1155 ENDIF
1156 CASE ('S')
1157 IF (BC_V_S(BCV,M) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
1158 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
1159 .NOT.COMPARE((-VEL),BC_V_S(BCV,M))) THEN
1160 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1161 (-VEL), 'BC_V_s', M, BC_V_S(BCV,M)
1162 call mfix_exit(myPE)
1163 ENDIF
1164 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
1165 .NOT.COMPARE(VEL,BC_V_S(BCV,M))) THEN
1166 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1167 VEL, 'BC_V_s', M, BC_V_S(BCV,M)
1168 call mfix_exit(myPE)
1169 ENDIF
1170 ELSE
1171 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
1172 BC_U_S(BCV,M) = ZERO
1173 BC_V_S(BCV,M) = -VEL
1174 BC_W_S(BCV,M) = ZERO
1175 ELSE
1176 BC_V_S(BCV,M) = VEL
1177 ENDIF
1178 ENDIF
1179 CASE ('N')
1180 IF (BC_V_S(BCV,M) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
1181 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
1182 .NOT.COMPARE(VEL,BC_V_S(BCV,M))) THEN
1183 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1184 VEL, 'BC_V_s', M, BC_V_S(BCV,M)
1185 call mfix_exit(myPE)
1186 ENDIF
1187 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
1188 .NOT.COMPARE((-VEL),BC_V_S(BCV,M))) THEN
1189 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1190 (-VEL), 'BC_V_s', M, BC_V_S(BCV,M)
1191 call mfix_exit(myPE)
1192 ENDIF
1193 ELSE
1194 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
1195 BC_U_S(BCV,M) = ZERO
1196 BC_V_S(BCV,M) = VEL
1197 BC_W_S(BCV,M) = ZERO
1198 ELSE
1199 BC_V_S(BCV,M) = -VEL
1200 ENDIF
1201 ENDIF
1202 CASE ('B')
1203 IF (BC_W_S(BCV,M) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
1204 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
1205 .NOT.COMPARE((-VEL),BC_W_S(BCV,M))) THEN
1206 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1207 (-VEL), 'BC_W_s', M, BC_W_S(BCV,M)
1208 call mfix_exit(myPE)
1209 ENDIF
1210 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
1211 .NOT.COMPARE(VEL,BC_W_S(BCV,M))) THEN
1212 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1213 VEL, 'BC_W_s', M, BC_W_S(BCV,M)
1214 call mfix_exit(myPE)
1215 ENDIF
1216 ELSE
1217 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
1218 BC_U_S(BCV,M) = ZERO
1219 BC_V_S(BCV,M) = ZERO
1220 BC_W_S(BCV,M) = -VEL
1221 ELSE
1222 BC_W_S(BCV,M) = VEL
1223 ENDIF
1224 ENDIF
1225 CASE ('T')
1226 IF (BC_W_S(BCV,M) /= UNDEFINED.AND.DO_VEL_CHECK) THEN
1227 IF (BC_TYPE(BCV)=='MASS_INFLOW' .AND. &
1228 .NOT.COMPARE(VEL,BC_W_S(BCV,M))) THEN
1229 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1230 VEL, 'BC_W_s', M, BC_W_S(BCV,M)
1231 call mfix_exit(myPE)
1232 ENDIF
1233 IF (BC_TYPE(BCV)=='MASS_OUTFLOW' .AND. &
1234 .NOT.COMPARE((-VEL),BC_W_S(BCV,M))) THEN
1235 IF(DMP_LOG)WRITE (UNIT_LOG, 1300) BCV, &
1236 (-VEL), 'BC_W_s', M, BC_W_S(BCV,M)
1237 call mfix_exit(myPE)
1238 ENDIF
1239 ELSE
1240 IF (BC_TYPE(BCV) == 'MASS_INFLOW') THEN
1241 BC_U_S(BCV,M) = ZERO
1242 BC_V_S(BCV,M) = ZERO
1243 BC_W_S(BCV,M) = VEL
1244 ELSE
1245 BC_W_S(BCV,M) = -VEL
1246 ENDIF
1247 ENDIF
1248 END SELECT
1249 ENDIF
1250
1251
1252
1253 ENDDO
1254 ENDIF
1255
1256 ENDIF
1257 ENDIF
1258 ENDDO
1259
1260
1261 IF (CONVERTED .AND. (NO_I .OR. NO_J .OR. NO_K) &
1262 .AND. DMP_LOG)WRITE (UNIT_LOG, 1500)
1263
1264 RETURN
1265
1266 1000 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
1267 ' Computed volumetric flow is not equal to specified value',/,&
1268 ' Value computed from mass flow = ',G14.7,/,&
1269 ' Specified value (BC_VOLFLOW_g) = ',G14.7,/1X,70('*')/)
1270 1010 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,&
1271 ' BC_P_g, BC_T_g, and BC_X_g or',/' a nonzero value for ',A,&
1272 ' should be specified',/1X,70('*')/)
1273 1020 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,&
1274 ' BC_P_g, BC_T_g, and BC_X_g',/' should be specified',/1X,70('*')/)
1275 1100 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
1276 ' Computed velocity is not equal to specified value',/,&
1277 ' Value computed from vol. or mass flow = ',G14.7,/,&
1278 ' Specified value (',A,') = ',G14.7,/1X,70('*')/)
1279 1200 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
1280 ' Computed volumetric flow is not equal to specified value',/,&
1281 ' Value computed from mass flow = ',G14.7,/,&
1282 ' Specified value (BC_VOLFLOW_s',I1,') = ',G14.7,/1X,70('*')/)
1283 1250 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
1284 ' Non-zero vol. or mass flow specified with BC_ROP_s',&
1285 I1,' = 0.',/1X,70('*')/)
1286 1260 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
1287 ' BC_ROP_s',I1,' not specified',/1X,70('*')/)
1288 1300 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/' Message: BC No:',I2,/,&
1289 ' Computed velocity is not equal to specified value',/,&
1290 ' Value computed from vol. or mass flow = ',G14.7,/,&
1291 ' Specified value (',A,I1,') = ',G14.7,/1X,70('*')/)
1292 1500 FORMAT(/1X,70('*')//' From: FLOW_TO_VEL',/&
1293 ' Message: Some volumetric or mass flow rates have been',/&
1294 ' converted to velocity values. In 2D simulations ensure',/&
1295 ' that the third (unused) dimension is correctly specified;',/&
1296 ' e.g. in axisymmetric cylindrical coordinates ZLENGTH = 2*Pi'/1X,70&
1297 ('*')/)
1298
1299 1401 FORMAT(//1X,70('*')/' From: FLOW_TO_VEL',/,' Error 1401:', &
1300 ' Solids phase ',I2,' failed sanity check in BC region ',I3, &
1301 '. ',/' Please check mfix.dat file.',/1X,70('*')//)
1302
1303
1304 END SUBROUTINE FLOW_TO_VEL
1305