MFIX  2016-1
solids_pressure_mod.f
Go to the documentation of this file.
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 
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
double precision to_si
Definition: constant_mod.f:146
double precision function inv_h(XXX, YYY)
double precision, parameter one
Definition: param1_mod.f:29
double precision, parameter a_ps
double precision function neg_h(XXX, YYY)
integer, parameter b_ps
double precision function dpodep_s(XXX, YYY)
double precision, parameter zero
Definition: param1_mod.f:27