File: /nfs/home/0/users/jenkins/mfix.git/model/check_data/check_bc_walls.f
1
2
3
4
5
6
7
8
9 SUBROUTINE CHECK_BC_WALLS(M_TOT, SKIP, BCV)
10
11
12
13
14
15 use run, only: SOLIDS_MODEL
16
17 use run, only: GRANULAR_ENERGY
18
19 use run, only: JENKINS
20
21 use bc, only: BC_JJ_PS
22
23 use run, only: KT_TYPE_ENUM, GHD_2007
24
25
26
27
28 use param, only: DIM_M
29
30 use param1, only: UNDEFINED_I
31
32
33
34 use error_manager
35
36 IMPLICIT NONE
37
38
39
40
41 INTEGER, INTENT(in) :: BCV
42
43 INTEGER, INTENT(in) :: M_TOT
44
45 LOGICAL, INTENT(in) :: SKIP(DIM_M)
46
47
48
49
50 INTEGER :: M
51
52 INTEGER :: MTOT_L
53
54
55
56
57 CALL INIT_ERR_MSG("CHECK_BC_WALLS")
58
59
60 CALL CHECK_BC_WALLS_GAS(BCV)
61
62 MTOT_L = merge( M_TOT+1, M_TOT, KT_TYPE_ENUM == GHD_2007)
63
64
65 DO M=1, MTOT_L
66 SELECT CASE(SOLIDS_MODEL(M))
67 CASE ('TFM'); CALL CHECK_BC_WALLS_TFM(BCV, M)
68 CASE ('DEM'); CALL CHECK_BC_WALLS_DISCRETE(BCV, M)
69 CASE ('PIC'); CALL CHECK_BC_WALLS_DISCRETE(BCV, M)
70 END SELECT
71 ENDDO
72
73
74 CALL CHECK_BC_WALLS_SCALAR_EQ(BCV)
75
76 CALL FINL_ERR_MSG
77
78 RETURN
79 END SUBROUTINE CHECK_BC_WALLS
80
81
82
83
84
85
86
87
88
89
90 SUBROUTINE CHECK_BC_WALLS_GAS(BCV)
91
92
93
94
95 use bc, only: BC_TYPE
96
97 use bc, only: BC_UW_G, BC_VW_G, BC_WW_G
98
99 use bc, only: BC_HW_T_G, BC_TW_G, BC_C_T_G
100
101 use bc, only: BC_HW_X_G, BC_XW_G, BC_C_X_G
102
103 use physprop, only: NMAX
104
105 use run, only: ENERGY_EQ
106
107 use run, only: SPECIES_EQ
108
109 use geometry, only: DO_K
110
111
112
113
114 use param1, only: ZERO, UNDEFINED
115
116
117
118 use error_manager
119
120 IMPLICIT NONE
121
122
123
124 INTEGER, INTENT(in) :: BCV
125
126 INTEGER :: N
127
128
129
130
131 CALL INIT_ERR_MSG("CHECK_BC_WALLS_GAS")
132
133
134 IF(BC_TYPE(BCV) == 'PAR_SLIP_WALL') THEN
135 IF(BC_UW_G(BCV) == UNDEFINED) THEN
136 WRITE(ERR_MSG,1000) trim(iVar('BC_Uw_g',BCV))
137 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
138 ELSEIF(BC_VW_G(BCV) == UNDEFINED) THEN
139 WRITE(ERR_MSG,1000) trim(iVar('BC_Vw_g',BCV))
140 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
141 ELSEIF(BC_WW_G(BCV) == UNDEFINED) THEN
142 IF(DO_K)THEN
143 WRITE(ERR_MSG,1000) trim(iVar('BC_Ww_g',BCV))
144 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
145 ELSE
146 BC_WW_G(BCV) = ZERO
147 ENDIF
148 ENDIF
149 ENDIF
150
151
152 IF(ENERGY_EQ) THEN
153 IF(BC_HW_T_G(BCV) < ZERO) THEN
154 WRITE(ERR_MSG,1001) trim(iVar('BC_HW_T_g',BCV)), &
155 trim(iVal(BC_HW_T_G(BCV)))
156 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
157 ENDIF
158 IF(BC_HW_T_G(BCV)/=ZERO .AND. &
159 BC_TW_G(BCV)==UNDEFINED) THEN
160 WRITE(ERR_MSG,1000) trim(iVar('BC_Tw_g',BCV))
161 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
162 ENDIF
163 IF(BC_HW_T_G(BCV)/=UNDEFINED .AND. &
164 BC_C_T_G(BCV)==UNDEFINED) THEN
165 WRITE(ERR_MSG,1000) trim(iVar('BC_C_T_g',BCV))
166 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
167 ENDIF
168 ENDIF
169
170
171
172 IF(SPECIES_EQ(0)) THEN
173 DO N=1, NMAX(0)
174 IF(BC_HW_X_G(BCV,N) < ZERO) THEN
175 WRITE(ERR_MSG,1001) trim(iVar('BC_HW_X_g',BCV,N)), &
176 trim(iVal(BC_HW_X_G(BCV,N)))
177 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
178 ENDIF
179 IF(BC_HW_X_G(BCV,N)/=ZERO .AND. &
180 BC_XW_G(BCV,N)==UNDEFINED) THEN
181 WRITE(ERR_MSG,1000) trim(iVar('BC_Xw_g',BCV,N))
182 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
183 ENDIF
184 IF(BC_HW_X_G(BCV,N)/=UNDEFINED .AND. &
185 BC_C_X_G(BCV,N)==UNDEFINED) THEN
186 WRITE(ERR_MSG,1000) trim(iVar('BC_C_X_g',BCV,N))
187 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
188 ENDIF
189 ENDDO
190 ENDIF
191
192
193
194 CALL FINL_ERR_MSG
195
196 RETURN
197
198 1000 FORMAT('Error 1000: Required input not specified: ',A,/'Please ',&
199 'correct the mfix.dat file.')
200
201 1001 FORMAT('Error 1001: Illegal or unphysical input: ',A,' = ',A,/ &
202 'Please correct the mfix.dat file.')
203
204 END SUBROUTINE CHECK_BC_WALLS_GAS
205
206
207
208
209
210
211
212
213
214
215 SUBROUTINE CHECK_BC_WALLS_TFM(BCV,M)
216
217
218
219
220
221 use bc, only: BC_TYPE
222
223 use bc, only: BC_UW_s, BC_VW_s, BC_WW_s
224
225 use bc, only: BC_HW_T_s, BC_TW_s, BC_C_T_s
226
227 use bc, only: BC_HW_X_s, BC_XW_s, BC_C_X_s
228
229 use bc, only: BC_HW_THETA_M, BC_ThetaW_M, BC_C_Theta_M
230
231 use physprop, only: MMAX
232
233 use physprop, only: NMAX
234
235 use run, only: ENERGY_EQ
236
237 use run, only: SPECIES_EQ
238
239 use run, only: GRANULAR_ENERGY
240
241 use run, only: KT_TYPE_ENUM, GHD_2007
242
243 use bc, only: BC_JJ_PS
244
245 use run, only: bc_jj_m, phip_out_jj
246
247 use run, only: jenkins
248
249
250 use constant, only: e_w, phi_w
251
252 use constant, only: tan_phi_w
253
254 use constant, only: k4phi, phip0
255
256
257
258 use geometry, only: DO_K
259
260 use cutcell, only: cartesian_grid
261
262
263
264
265 use param1, only: ONE, ZERO, UNDEFINED, UNDEFINED_I
266
267 use constant, only: pi
268
269 use rxns
270
271
272 use error_manager
273 use funits, only: unit_log
274 IMPLICIT NONE
275
276
277
278
279 INTEGER, INTENT(in) :: BCV
280
281 INTEGER, INTENT(in) :: M
282
283
284
285
286 INTEGER :: N
287
288 LOGICAL :: CHECK_MOMENTUM
289
290 LOGICAL :: CHECK_SCALARS
291
292
293
294
295 CALL INIT_ERR_MSG("CHECK_BC_WALLS_TFM")
296
297
298 SELECT CASE(KT_TYPE_ENUM)
299 CASE (GHD_2007)
300 CHECK_MOMENTUM = (M == MMAX)
301 CHECK_SCALARS = (M /= MMAX)
302 CASE DEFAULT
303 CHECK_MOMENTUM = .TRUE.
304 CHECK_SCALARS = .TRUE.
305 END SELECT
306
307
308 IF(BC_JJ_PS(BCV) == UNDEFINED_I) &
309 BC_JJ_PS(BCV) = merge(1,0,GRANULAR_ENERGY)
310
311
312
313 IF(.NOT.GRANULAR_ENERGY .AND. BC_JJ_PS(BCV) == 1) THEN
314 WRITE(ERR_MSG, 1101)
315 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
316 ENDIF
317 1101 FORMAT('Error 1101: Invoking BC_JJ_PS requires GRANULAR_ENERGY', &
318 '=.TRUE.',/ 'Please correct the mfix.dat file.')
319
320
321
322 IF(CHECK_MOMENTUM) THEN
323 IF(BC_TYPE(BCV) == 'PAR_SLIP_WALL' .OR. &
324 BC_JJ_PS(BCV) /= ZERO) THEN
325 IF(BC_UW_S(BCV,M) == UNDEFINED) THEN
326 WRITE(ERR_MSG,1000) trim(iVar('BC_Uw_s',BCV,M))
327 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
328 ELSEIF(BC_VW_S(BCV,M) == UNDEFINED) THEN
329 WRITE(ERR_MSG,1000) trim(iVar('BC_Vw_s',BCV,M))
330 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
331 ELSEIF(BC_WW_S(BCV,M) == UNDEFINED) THEN
332 IF(DO_K)THEN
333 WRITE(ERR_MSG,1000) trim(iVar('BC_Ww_s',BCV,M))
334 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
335 ELSE
336 BC_WW_S(BCV,M) = ZERO
337 ENDIF
338 ENDIF
339 ENDIF
340
341 IF(GRANULAR_ENERGY .AND. BC_JJ_PS(BCV)==0) THEN
342 IF(BC_HW_THETA_M(BCV,M) < ZERO) THEN
343 WRITE(ERR_MSG,1001) trim(iVar('BC_HW_Theta_M',BCV,M)), &
344 trim(iVal(BC_HW_Theta_M(BCV,M)))
345 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
346 ENDIF
347 IF(BC_HW_THETA_M(BCV,M)/=ZERO .AND. &
348 BC_THETAW_M(BCV,M)==UNDEFINED) THEN
349 WRITE(ERR_MSG,1000) trim(iVar('BC_ThetaW_M',BCV,M))
350 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
351 ENDIF
352 IF(BC_HW_THETA_M(BCV,M)/=UNDEFINED .AND. &
353 BC_C_THETA_M(BCV,M)==UNDEFINED) THEN
354 WRITE(ERR_MSG,1000) trim(iVar('BC_C_THETA_M',BCV,M))
355 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
356 ENDIF
357 ENDIF
358 ELSE
359 ENDIF
360
361 IF(CHECK_SCALARS)THEN
362 IF(ENERGY_EQ) THEN
363 IF(BC_HW_T_S(BCV,M) < ZERO) THEN
364 WRITE(ERR_MSG,1001) trim(iVar('BC_HW_T_s',BCV,M)), &
365 trim(iVal(BC_HW_T_S(BCV,M)))
366 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
367 ENDIF
368 IF(BC_HW_T_S(BCV,M)/=ZERO .AND. &
369 BC_TW_S(BCV,M)==UNDEFINED) THEN
370 WRITE(ERR_MSG,1000) trim(iVar('BC_Tw_s',BCV,M))
371 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
372 ENDIF
373 IF(BC_HW_T_S(BCV,M)/=UNDEFINED .AND. &
374 BC_C_T_S(BCV,M)==UNDEFINED) THEN
375 WRITE(ERR_MSG,1000) trim(iVar('BC_C_T_s',BCV,M))
376 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
377 ENDIF
378 ENDIF
379
380 IF(SPECIES_EQ(M)) THEN
381 DO N=1, NMAX(M)
382 IF(BC_HW_X_S(BCV,M,N) < ZERO) THEN
383 WRITE(ERR_MSG,1001) trim(iVar('BC_HW_X_s',BCV,M,N)), &
384 trim(iVal(BC_HW_X_S(BCV,M,N)))
385 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
386 ENDIF
387 IF(BC_HW_X_S(BCV,M,N)/=ZERO .AND. &
388 BC_XW_S(BCV,M,N)==UNDEFINED) THEN
389 WRITE(ERR_MSG,1000) trim(iVar('BC_Xw_s',BCV,M,N))
390 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
391 ENDIF
392 IF(BC_HW_X_S(BCV,M,N)/=UNDEFINED .AND. &
393 BC_C_X_S(BCV,M,N)==UNDEFINED) THEN
394 WRITE(ERR_MSG,1000) trim(iVar('BC_C_X_s',BCV,M,N))
395 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
396 ENDIF
397 ENDDO
398 ENDIF
399 ELSE
400 ENDIF
401
402
403
404
405 IF(GRANULAR_ENERGY .AND. BC_JJ_PS(BCV) == 1) THEN
406
407 IF(KT_TYPE_ENUM == GHD_2007) THEN
408 WRITE(ERR_MSG, 1201)
409 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
410 ENDIF
411
412 IF(CARTESIAN_GRID) THEN
413
414
415 WRITE(ERR_MSG, 1202)
416 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
417 ENDIF
418
419
420 IF(JENKINS) THEN
421 IF (BC_JJ_M) THEN
422 WRITE(ERR_MSG, 1203)
423 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
424 ELSEIF (PHI_W == UNDEFINED) THEN
425 WRITE(ERR_MSG, 1204)
426 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
427 ELSEIF (E_W > ONE .OR. E_W < ZERO) THEN
428 WRITE(ERR_MSG, 1001) 'E_W', E_W
429 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
430 ENDIF
431
432
433 = TAN(PHI_W*PI/180.D0)
434 ENDIF
435
436
437 = undefined
438 IF(BC_JJ_M) THEN
439 IF (JENKINS) THEN
440 WRITE(ERR_MSG, 1203)
441 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
442 ELSEIF (PHI_W == UNDEFINED) THEN
443 WRITE(ERR_MSG, 1204)
444 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
445 ELSEIF (E_W > ONE .OR. E_W < ZERO) THEN
446 WRITE(ERR_MSG, 1001) 'E_W', E_W
447 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
448 ENDIF
449
450
451 = TAN(PHI_W*PI/180.D0)
452
453 k4phi = 7.d0/2.d0*tan_phi_w*(1.d0+e_w)
454 IF (phip0 .eq. UNDEFINED) THEN
455 phip0 = -0.0012596340709032689 + &
456 0.10645510095633175*k4phi - &
457 0.04281476447854031*k4phi**2 + &
458 0.009759402181229842*k4phi**3 - &
459 0.0012508257938705263*k4phi**4 + &
460 0.00008369829630479206*k4phi**5 - &
461 0.000002269550565981776*k4phi**6
462
463
464 IF (k4phi .le. 0.2d0) THEN
465 phip0=0.09094568176225006*k4phi
466 ENDIF
467 WRITE (UNIT_LOG, 1207) phip0
468 ENDIF
469 IF (phip0 < 0) THEN
470 WRITE(ERR_MSG, 1208)
471 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
472 ENDIF
473
474 IF (PHIP_OUT_JJ) THEN
475 IF(nRR < 1) THEN
476 WRITE(ERR_MSG, 1209)
477 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
478 ENDIF
479 WRITE (UNIT_LOG, 1210) phip0
480 ENDIF
481 ENDIF
482 ENDIF
483
484
485 CALL FINL_ERR_MSG
486
487 RETURN
488
489 1000 FORMAT('Error 1000: Required input not specified: ',A,/'Please ',&
490 'correct the mfix.dat file.')
491
492 1001 FORMAT('Error 1001: Illegal or unphysical input: ',A,' = ',A,/ &
493 'Please correct the mfix.dat file.')
494
495 1201 FORMAT('Error 1201: KT_TYPE = "GHD" cannot be used with ',&
496 ' BC_JJ_PS',/'Please correct the mfix.dat file.')
497
498 1202 FORMAT('Error 1202: CARTESIAN_GRID cannot be used with ',&
499 ' BC_JJ_PS',/'Please correct the mfix.dat file.')
500
501 1203 FORMAT('Error 1203: JENKINS and BC_JJ_M cannot be used at the',&
502 ' same time',/'Please correct the mfix.dat file.')
503 1204 FORMAT('Error 1204: Angle of particle-wall friction (PHI_W) not',&
504 ' specified.',/'Please correct the mfix.dat file.')
505
506 1208 FORMAT('Error 1208: phip0 less than zero.')
507 1209 FORMAT('Error 1209: nRR should be at least 1 for storing ',&
508 'specularity.')
509
510 1207 FORMAT(/1X,70('*')//' From: CHECK_BC_WALLS_TFM',/' Message: ',&
511 'No input for phip0 available, working expression is used.',/ &
512 'phip0=',G12.5,/1X,70('*')/)
513 1210 FORMAT(/1X,70('*')//' From: CHECK_BC_WALLS_TFM',/' Message: ',&
514 'Specularity will be stored as the first element of ', &
515 'ReactionRates',/1X,'array in WALL CELLS. Please avoid ', &
516 'overwriting it when reacting flow',/1X,' is simulated.', &
517 /1X,70('*')/)
518
519 END SUBROUTINE CHECK_BC_WALLS_TFM
520
521
522
523
524
525
526
527
528
529
530 SUBROUTINE CHECK_BC_WALLS_DISCRETE(BCV,M)
531
532
533
534
535
536 use bc, only: BC_TYPE
537
538 use bc, only: BC_UW_s, BC_VW_s, BC_WW_s
539
540 use bc, only: BC_HW_T_s, BC_TW_s, BC_C_T_s
541
542 use bc, only: BC_HW_X_s, BC_XW_s, BC_C_X_s
543
544 use physprop, only: MMAX
545
546 use physprop, only: NMAX
547
548 use run, only: ENERGY_EQ
549
550 use run, only: SPECIES_EQ
551
552
553
554
555 use param, only: DIM_N_S
556
557 use param1, only: ZERO, UNDEFINED
558
559
560
561 use error_manager
562
563 IMPLICIT NONE
564
565
566
567
568 INTEGER, INTENT(in) :: BCV
569
570 INTEGER, INTENT(in) :: M
571
572
573
574
575 INTEGER :: N
576
577
578
579
580 CALL INIT_ERR_MSG("CHECK_BC_WALLS_DISCRETE")
581
582
583 IF(BC_HW_T_S(BCV,M) /= UNDEFINED) THEN
584 WRITE(ERR_MSG,1100) trim(iVar('BC_HW_T_s',BCV,M))
585 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
586 ELSEIF(BC_TW_S(BCV,M) /= UNDEFINED) THEN
587 WRITE(ERR_MSG,1100) trim(iVar('BC_Tw_s',BCV,M))
588 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
589 ELSEIF(BC_C_T_S(BCV,M) /= UNDEFINED) THEN
590 WRITE(ERR_MSG,1100) trim(iVar('BC_C_T_s',BCV,M))
591 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
592 ENDIF
593
594 1100 FORMAT('Error 1100: ',A,' should not specified for DEM/PIC',/ &
595 'simulations as they are currently limited to adiabatic BCs.',&
596 /'Please correct the mfix.dat file.')
597
598
599
600
601
602
603
604 IF(BC_UW_S(BCV,M) /= UNDEFINED) THEN
605 WRITE(ERR_MSG,1101) BCV, trim(iVar('BC_Uw_s',BCV,M))
606 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
607 ELSEIF(BC_VW_S(BCV,M) /= UNDEFINED) THEN
608 WRITE(ERR_MSG,1101) BCV, trim(iVar('BC_Vw_s',BCV,M))
609 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
610 ELSEIF(BC_WW_S(BCV,M) /= UNDEFINED) THEN
611 WRITE(ERR_MSG,1101) BCV, trim(iVar('BC_Ww_s',BCV,M))
612 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
613 ENDIF
614
615
616 DO N=1, DIM_N_s
617 IF(BC_HW_X_S(BCV,M,N) /= UNDEFINED) THEN
618 WRITE(ERR_MSG,1101) BCV, trim(iVar('BC_HW_X_s',BCV,M,N))
619 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
620 ELSEIF(BC_XW_S(BCV,M,N) /= UNDEFINED) THEN
621 WRITE(ERR_MSG,1101) BCV, trim(iVar('BC_Xw_s',BCV,M,N))
622 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
623 ELSEIF(BC_C_X_S(BCV,M,N) /= UNDEFINED) THEN
624 WRITE(ERR_MSG,1101) BCV, trim(iVar('BC_C_X_s',BCV,M,N))
625 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
626 ENDIF
627 ENDDO
628
629 1101 FORMAT('Error 1101: Illegal input for boundary condition: ',I3,/ &
630 A,' should not be specified for DEM/PIC simulations.',/ &
631 'Please correct the mfix.dat file.')
632
633 CALL FINL_ERR_MSG
634
635 RETURN
636
637 END SUBROUTINE CHECK_BC_WALLS_DISCRETE
638
639
640
641
642
643
644
645
646
647
648
649
650 SUBROUTINE CHECK_BC_WALLS_SCALAR_EQ(BCV)
651
652
653
654
655
656 use scalars, only: NSCALAR
657
658 use bc, only: BC_HW_SCALAR, BC_SCALARw, BC_C_SCALAR
659
660
661
662
663 use param1, only: ZERO, UNDEFINED
664
665
666
667 use error_manager
668
669 IMPLICIT NONE
670
671
672
673
674 INTEGER, INTENT(in) :: BCV
675
676
677
678
679 INTEGER :: N
680
681
682
683
684 CALL INIT_ERR_MSG("CHECK_BC_WALLS_SCALAR_EQ")
685
686 DO N=1, NSCALAR
687 IF(BC_HW_Scalar(BCV,N) < ZERO) THEN
688 WRITE(ERR_MSG,1001) trim(iVar('BC_HW_SCALAR',BCV,N)), &
689 trim(iVal(BC_HW_Scalar(BCV,N)))
690 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
691 ENDIF
692 IF(BC_HW_SCALAR(BCV,N) /= ZERO .AND. &
693 BC_SCALARw(BCV,N) == UNDEFINED) THEN
694 WRITE(ERR_MSG,1000) trim(iVar('BC_SCALARw',BCV,N))
695 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
696 ENDIF
697 IF(BC_HW_SCALAR(BCV,N) /= UNDEFINED .AND. &
698 BC_C_Scalar(BCV,N) == UNDEFINED) THEN
699 WRITE(ERR_MSG,1000) trim(iVar('BC_C_SCALAR',BCV,N))
700 ENDIF
701 ENDDO
702
703 CALL FINL_ERR_MSG
704
705 RETURN
706
707 1000 FORMAT('Error 1000: Required input not specified: ',A,/'Please ',&
708 'correct the mfix.dat file.')
709
710 1001 FORMAT('Error 1001: Illegal or unphysical input: ',A,' = ',A,/ &
711 'Please correct the mfix.dat file.')
712
713 END SUBROUTINE CHECK_BC_WALLS_SCALAR_EQ
714