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 funits 26 USE compar 27 IMPLICIT NONE 28 29 !----------------------------------------------- 30 ! Dummy arguments 31 !----------------------------------------------- 32 ! surface indicators 33 LOGICAL, INTENT(IN) :: X_CONSTANT,Y_CONSTANT,Z_CONSTANT 34 ! boundary condition or internal surface index 35 INTEGER, INTENT(IN) :: BC 36 ! BC or IS 37 CHARACTER(LEN=2), INTENT(IN) :: NAME 38 !----------------------------------------------- 39 ! Local variables 40 !----------------------------------------------- 41 ! number of directions that are not constant (must equal 2) 42 INTEGER :: N 43 !----------------------------------------------- 44 45 46 ! number of directions that are not constant (must equal 2) 47 N = 3 48 IF (X_CONSTANT) N = N - 1 49 IF (Y_CONSTANT) N = N - 1 50 IF (Z_CONSTANT) N = N - 1 51 52 IF (N /= 2) THEN 53 IF(DMP_LOG)WRITE (UNIT_LOG, 1000) NAME, BC 54 call mfix_exit(myPE) 55 ENDIF 56 57 RETURN 58 59 1000 FORMAT(/70('*')//' From: CHECK_PLANE',/'Message: ',A,' No ',I3,& 60 ' is not a plane',/70('*')/) 61 END SUBROUTINE CHECK_PLANE 62 63