File: RELATIVE:/../../../mfix.git/model/set_constants.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Subroutine: SET_CONSTANTS                                           C
4     !  Purpose: Set various constants                                      C
5     !                                                                      C
6     !  Author: M. Syamlal                                 Date: 30-JAN-92  C
7     !                                                                      C
8     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
9           SUBROUTINE SET_CONSTANTS
10     
11     ! Modules
12     !---------------------------------------------------------------------//
13           USE param1, only: zero, one, undefined
14           USE constant, only: gas_const
15           USE constant, only: gravity, gravity_x, gravity_y, gravity_z
16           USE constant, only: to_SI
17           USE constant, only: k_scale
18           USE run, only: LAM_HYS, UNITS
19           USE error_manager, only: err_msg, init_err_msg, finl_err_msg
20           USE error_manager, only: flush_err_msg
21     
22           IMPLICIT NONE
23     !---------------------------------------------------------------------//
24     
25     ! Note that the cell flags are not set when this routine is called.
26     
27     ! Dimensionless constants
28           K_SCALE = .08D0   ! this actually isn't used anywhere...
29     
30     ! Enter the value of all constants in various units (CGS or SI)
31           IF (UNITS == 'SI') THEN
32              IF (GRAVITY == UNDEFINED) GRAVITY = 9.80665D0 ! m/s2
33              GAS_CONST = 8314.56D0                !Pa.m3/kmol.K, or kg m2/s2 kmol K (Perry and Green, 1984)
34              to_SI = 0.1D0                        !to convert dyne/cm2 to Pa. e.g. calc_mu_g.f
35              IF (LAM_HYS == UNDEFINED) LAM_HYS = 0.000001d0    ! m
36           ELSEIF (UNITS == 'CGS') THEN
37              IF (GRAVITY == UNDEFINED) GRAVITY = 980.665D0 !cm/s2
38              GAS_CONST = 8314.56D4                !g.cm2/s2.mol.K
39              to_SI = ONE                          !does not do anything in CGS. e.g.: calc_mu_g.f
40              IF (LAM_HYS == UNDEFINED) LAM_HYS = 0.0001d0    ! cm
41           ELSE
42     ! Initialize the error manager.
43              CALL INIT_ERR_MSG("SET_CONSTANTS")
44              WRITE(ERR_MSG,1005) UNITS
45              CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
46              CALL FINL_ERR_MSG
47      1005 FORMAT('Error 1005: Unknown UNITS = ',A,/ &
48              'Please correct the mfix.dat file.')
49           ENDIF
50     
51     ! If all components of the gravitational acceleration vector are
52     ! undefined (zero), then use the default value for the negative
53     ! y-direction. This ensures backward compatibility with the old
54     ! (legacy) GRAVITY keyword. At this point GRAVITY is defined,
55     ! either from mfix.dat or by default above
56           IF(GRAVITY_X==ZERO.AND.GRAVITY_Y==ZERO.AND.GRAVITY_Z==ZERO) THEN
57              GRAVITY_X = ZERO
58              GRAVITY_Y = - GRAVITY
59              GRAVITY_Z = ZERO
60           ENDIF
61     
62           RETURN
63           END SUBROUTINE SET_CONSTANTS
64