File: /nfs/home/0/users/jenkins/mfix.git/model/solids_pressure_mod.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: solids_pressure                                        C
4     !  Purpose: To compute solids pressure and its inverse                 C
5     !                                                                      C
6     !  Author: M. Syamlal                                 Date: 17-FEB-93  C
7     !  Reviewer:                                          Date: dd-mmm-yy  C
8     !                                                                      C
9     !  Revision Number:  1                                                 C
10     !  Purpose:  allow SI units                                            C
11     !  Author: S. Dartevelle                              Date: 01-Jul-02  C
12     !  Reviewer:                                          Date: dd-mmm-yy  C
13     !                                                                      C
14     !  Literature/Document References:                                     C
15     !                                                                      C
16     !  Comments:                                                           C
17     !     See S_pr1.inc for the parameters                                 C
18     !     to_SI is a constant to change from CGS to SI (Ba --> Pa)         C
19     !        see set_constants.f and constant_mod.f                        C
20     !        if CGS: to_SI=ONE and                                         C
21     !        if SI : to_SI=0.1                                             C
22     !                                                                      C
23     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
24     
25     MODULE solids_pressure
26     
27       USE constant
28       USE param1
29     
30     !     parameters for P_s = a_ps*(EP_star - EP_g)**b_ps
31       DOUBLE PRECISION, PARAMETER          :: a_ps = 1D25
32       INTEGER, PARAMETER                   :: b_ps = 10
33     
34     !     coefficient in Jackson's model (dyne/cm^2)
35     !      DOUBLE PRECISION, PARAMETER          :: A_ps_jackson = 0.5D0*100D0*2D0*981D0*0.4D0
36     !     voidage of random close-packed bed
37     !      DOUBLE PRECISION, PARAMETER          :: EP_g_cp = 0.35D0
38     
39     CONTAINS
40     
41     ! Solids pressure in plastic-flow stress formulation. MFIX default model
42     
43     ! function P_s(EP_g,Ep_star)
44       DOUBLE PRECISION FUNCTION Neg_H(XXX,YYY)
45         IMPLICIT NONE
46         DOUBLE PRECISION :: XXX, YYY
47         Neg_H = to_SI*a_ps * (MAX(ZERO, (YYY - XXX )))**b_ps
48       END FUNCTION Neg_H
49     
50     ! inverse of Neg_H.  function EP_g(P_s)
51       DOUBLE PRECISION FUNCTION INV_H(XXX,YYY)
52         IMPLICIT NONE
53         DOUBLE PRECISION :: XXX, YYY
54         INV_H = YYY - ( XXX/(to_SI*a_ps) )**(ONE/dble(b_ps))
55       END FUNCTION INV_H
56     
57     ! Differentiate P_s w.r.t. EP_s.  function dP_s/dEP_s (EP_s)
58       DOUBLE PRECISION FUNCTION dPodEP_s(XXX,YYY)
59         IMPLICIT NONE
60         DOUBLE PRECISION :: XXX, YYY
61         dPodEP_s = to_SI*a_ps * dble(b_ps)*(MAX(ZERO, (YYY - (ONE - XXX) )))**(b_ps-1)
62       END FUNCTION dPodEP_s
63     
64     ! Solids pressure in plastic-flow stress formulation. Jackson's model
65     ! function P_s(EP_g,Ep_star)
66           !Neg_H(XXX,YYY) = to_SI*a_ps_jackson * (MAX(ZERO, (YYY - XXX )/(XXX - EP_g_cp)))
67     
68     ! inverse of Neg_H.  function EP_g(P_s)
69           !INV_H(XXX,YYY) = (to_SI*a_ps_jackson * YYY + XXX*EP_g_cp)/(to_SI*a_ps_jackson + XXX)
70     
71     ! Differentiate P_s w.r.t. EP_s.  function dP_s/dEP_s (EP_s)
72           !dPodEP_s(XXX,YYY) = to_SI*a_ps_jackson * (YYY - EP_g_cp)/(XXX - EP_g_cp)**2
73     
74     END MODULE solids_pressure
75