# Differences in Performance of Models for Heterogeneous Cores during Pulse Decay Tests
## Appendix B Dual-Permeability Model and Its Numerical Solution  
### Mathematical Model  
The dual-permeability model assumes that the matrix and the fracture each constitute a flow pathway, and the matrix exchanges fluid with the fracture. For the pulse decay test, the flow governing equations in the matrix and fracture are as follows, respectively [31]:  
\[(\phi c_{\rm t})_{\rm f}\frac{\partial p_{\rm f}}{\partial t}=\frac{\partial} {\partial x}\biggl{(}\frac{k_{\rm f}}{\mu}\frac{\partial p_{\rm f}}{\partial x }\biggr{)}+\frac{\alpha k_{\rm m}}{\mu}(p_{\rm m}-p_{\rm f}), \tag{101}\]  
\[(\phi c_{\rm t})_{\rm m}\frac{\partial p_{\rm m}}{\partial t}=\frac{\partial} {\partial x}\biggl{(}\frac{k_{\rm m}}{\mu}\frac{\partial p_{\rm m}}{\partial x }\biggr{)}-\frac{\alpha k_{\rm m}}{\mu}(p_{\rm m}-p_{\rm f}). \tag{102}\]  
The matrix permeability \(k_{\rm m}\) and the fracture permeability \(k_{\rm f}\) are both the average permeability of the cross-section. The initial condition can be written as follows.  
\[p_{\rm f}(x,0)=p_{\rm m}(x,0)=p_{\rm d}(0),\ \ \ \ \ 0<x<L\ \, \tag{103}\]  
\[p_{\rm f}(0,0)=p_{\rm u}(0). \tag{104}\]  
The boundary conditions are as follows:  
\[p_{\rm f}(0,t)=p_{\rm m}(0,t)=p_{\rm u}(t),\ \ \ \ \ t\geq 0\ \, \tag{105}\]  
\[p_{\rm f}(L,t)=p_{\rm m}(L,t)=p_{\rm d}(t),\ \ \ \ \ t\geq 0\ \, \tag{106}\]  
\[\frac{dp_{\rm u}}{dt}=\left.\frac{k_{f}}{c_{\rm g}+c_{V_{\rm u}}\big{|}\mu \phi L}\frac{V_{\rm P}}{V_{\rm u}}\frac{\partial p_{\rm f}}{\partial x}\right| _{x=0}+\left.\frac{k_{\rm m}}{c_{\rm g}+c_{V_{\rm u}}\big{|}\mu\phi L}\frac{V_ {\rm P}}{V_{\rm u}}\frac{\partial p_{\rm m}}{\partial x}\right|_{x=0},\ \ \ \ \ t>0\ \, \tag{107}\]  
\[\frac{dp_{\rm d}}{dt}=\left.\frac{-k_{\rm f}}{c_{\rm g}+c_{V_{\rm d}}\big{|} \mu\phi L}\frac{V_{\rm P}}{V_{\rm d}}\frac{\partial p_{\rm f}}{\partial x} \right|_{x=0}-\left.\frac{k_{\rm m}}{c_{\rm g}+c_{V_{\rm d}}\big{|}\mu\phi L} \frac{V_{\rm P}}{V_{\rm d}}\frac{\partial p_{\rm m}}{\partial x}\right|_{x=0}, \ \ \ \ \ t>0\ . \tag{108}\]  
Unlike the dimensionless definition of Bourdet [31], we use the dimensionless quantity definition of Equation (103). The dimensionless flow governing equations in the matrix and fracture is as follows:  
\[\alpha\frac{\partial p_{\rm fD}}{\partial t_{\rm D}}=\frac{\partial^{2}p_{\rm fD }}{\partial x_{\rm D}^{2}}+\lambda_{\rm D}(p_{\rm mD}-p_{\rm fD}), \tag{109}\]  
\[(1-\omega)\frac{\partial p_{\rm mD}}{\partial t_{\rm D}}=\frac{k_{\rm m}}{k_{ \rm f}}\frac{\partial^{2}p_{\rm mD}}{\partial x_{\rm D}^{2}}-\lambda_{\rm D}( p_{\rm mD}-p_{\rm fD}). \tag{110}\]  
The dimensionless initial condition can be written as follows:  
\[p_{\rm fD}(x_{\rm D},0)=p_{\rm mD}(x_{\rm D},0)=0,\ \ \ \ \ 0<x_{\rm D}\leq 1\ \, \tag{111}\]  
\[p_{\rm fD}(0,0)=p_{\rm uD}(0)=1. \tag{112}\]The dimensionless boundary conditions can be written as follows:  
\[p_{\text{DD}}(0,t_{\text{D}})=p_{\text{mD}}(0,t_{\text{D}})=p_{\text{uD}}(t_{ \text{D}}),\ \ \ \ \ t_{\text{D}}\geq 0\ \, \tag{100}\]  
\[p_{\text{TD}}(1,t_{\text{D}})=p_{\text{mD}}(1,t_{\text{D}})=p_{\text{dD}}(t_{ \text{D}}),\ \ \ \ \ t_{\text{D}}\geq 0\ \, \tag{101}\]  
\[\frac{dp_{\text{uD}}}{dt_{\text{D}}}=A_{\text{u}}\left.\frac{\partial p_{\text {fD}}}{\partial x_{\text{D}}}\right|_{x_{\text{D}}=0}+A_{\text{u}}\left.\frac{k _{\text{m}}}{k_{\text{f}}}\frac{\partial p_{\text{mD}}}{\partial x_{\text{D}} }\right|_{x_{\text{D}}=0},\ \ \ \ t_{\text{D}}>0\ \, \tag{102}\]  
\[\frac{dp_{\text{dD}}}{dt_{\text{D}}}=-A_{\text{d}}\left.\frac{\partial p_{ \text{fD}}}{\partial x_{\text{D}}}\right|_{x_{\text{D}}=1}-A_{\text{d}}\left. \frac{k_{\text{m}}}{k_{\text{f}}}\frac{\partial p_{\text{mD}}}{\partial x_{ \text{D}}}\right|_{x_{\text{D}}=1},\ \ \ \ \ t_{\text{D}}>0\ . \tag{103}\]