1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC 2 ! C 3 ! Module name: CHECK_PLANE C 4 ! Purpose: make sure the flow boundary condition or internal surface C 5 ! is a plane C 6 ! C 7 ! Author: P. Nicoletti Date: 10-DEC-91 C 8 ! Reviewer: M.SYAMLAL, W.ROGERS, P.NICOLETTI Date: 24-JAN-92 C 9 ! C 10 ! Revision Number: C 11 ! Purpose: C 12 ! Author: Date: dd-mmm-yy C 13 ! Reviewer: Date: dd-mmm-yy C 14 ! C 15 ! Literature/Document References: C 16 ! C 17 ! C 18 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C 19 20 SUBROUTINE CHECK_PLANE(X_CONSTANT, Y_CONSTANT, Z_CONSTANT, BC, NAME) 21 22 !----------------------------------------------- 23 ! Modules 24 !----------------------------------------------- 25 USE compar 26 USE exit, only: mfix_exit 27 USE funits 28 29 IMPLICIT NONE 30 31 !----------------------------------------------- 32 ! Dummy arguments 33 !----------------------------------------------- 34 ! surface indicators 35 LOGICAL, INTENT(IN) :: X_CONSTANT,Y_CONSTANT,Z_CONSTANT 36 ! boundary condition or internal surface index 37 INTEGER, INTENT(IN) :: BC 38 ! BC or IS 39 CHARACTER(LEN=2), INTENT(IN) :: NAME 40 !----------------------------------------------- 41 ! Local variables 42 !----------------------------------------------- 43 ! number of directions that are not constant (must equal 2) 44 INTEGER :: N 45 !----------------------------------------------- 46 47 48 ! number of directions that are not constant (must equal 2) 49 N = 3 50 IF (X_CONSTANT) N = N - 1 51 IF (Y_CONSTANT) N = N - 1 52 IF (Z_CONSTANT) N = N - 1 53 54 IF (N /= 2) THEN 55 IF(DMP_LOG)WRITE (UNIT_LOG, 1000) NAME, BC 56 call mfix_exit(myPE) 57 ENDIF 58 59 RETURN 60 61 1000 FORMAT(/70('*')//' From: CHECK_PLANE',/'Message: ',A,' No ',I3,& 62 ' is not a plane',/70('*')/) 63 END SUBROUTINE CHECK_PLANE 64 65