# Modeling of Characteristics of Complex Microstructure and Heterogeneity at the Core Scale
## 2 Methods
### Multiphysics Field Coupling and Workflow  
According to the workflow in Figure 3, we can predict the velocities of elastic waves based on the modified Gurevich model. Figure 2 demonstrates that the analytical model needs to be validated through simulations and should also be able to describe key features when applied to real rocks [21]. In the ultrasonic pulse transmission method, two ultrasonic transducers (divided into two types according to the direction of the wave, compressional wave and shear wave) are installed on both sides of the rock sample so that the wave produced by the transmitter is transmitted through the measured material to the receiver. The first pulse waveform of each of the two transducers is recorded, and the travel time and amplitude are calculated [54; 55; 56; 57; 58; 59]. The signal transmission and reception of the model are simulated by a set of piezoelectric transducers to simulate ultrasonic experiments more accurately. Before presenting a detailed description of our model, we first list the key assumptions used in our model. (1) The pore network is simplified as elliptical pores and cracks, representing stiff pores and compliant pores. (2) The solid is isotropic and linearly elastic. (3) The pores are saturated by water. (4) The signal is transmitted and received by a piezoelectric transducer. A two-dimensional geometrical model of width \(W_{c}=25\) mm and height \(L_{c}=50\) mm representing a sample of porous rock on the core scale is built. The porous material includes regular elliptical pores with a variety of major axis lengths and aspect ratios (\(\alpha\), the ratio of the minor axis to the major axis). The porosity \(\phi_{n}(P)\) and aspect ratio \(\alpha_{n}(P)\) of the microfractures are discussed in the next section. When the effective pressure \(P=0\), the porosity of the micropores \(\phi_{c}(P)=\phi_{c0}\). When the effective pressure is \(P\), the microcracks are gradually closed, the porosity of the stiff pores is unchanged, and the porosity of the microcracks is set to \(\phi_{n}(P)\). The stiff pores and compliant pores are saturated by water. The moduli and density are perturbed by the random medium model; these coordinate-dependent data are used as the matrix modulus. According to [PERSON]'s second law, the motion of the solid matrix and the pore fluid is represented as [60]  
\[\rho\frac{\partial^{2}\mathbf{u}}{\partial t^{2}}-\
abla\sigma=\mathbf{F}, \tag{35}\]  
where \(\rho\) is the density of the medium, \(\mathbf{u}=\left(u_{x},u_{y}\right)\) is the two-dimensional displacement vector, \(\sigma=\left[\sigma_{ij}\right]\) is the stress tensor, and \(\mathbf{F}\) is the stress vector caused by an outer force. For a linear fluid, the stress-strain relation is  
\[ \begin{cases}\sigma=J^{-1}\mathbf{Z}\mathbf{S}\mathbf{Z}^{T}\\ \mathbf{Z}=\mathbf{I}+\
abla\mathbf{u}_{J}=\det(\mathbf{Z})\\ \mathbf{S}=K_{f}trace(\epsilon)\mathbf{I}+2\mu_{f}\Big{(}\epsilon-\frac{1}{3 }trace(\epsilon)\mathbf{I}\Big{)}\end{cases} , \tag{36}\]  
where \(K_{f}\) is the bulk modulus of the pore fluid; \(\mu_{f}\) is the dynamic shear modulus of the fluid, \(\mathbf{I}\) is the identity matrix, and \(\mathbf{S}\) is the stiffness matrix. \(trace(\epsilon)\) is the trace of the strain tensor. For a linear elastic solid, the stress-strain relation is  
\[ \begin{cases}\epsilon=\frac{1}{2}\big{(}\
abla\mathbf{u}+\
abla\mathbf{u}^{T} \big{)}\\ \sigma_{ij}=\big{(}K_{s}-\frac{5}{3}\mu_{s}\big{)}\,trace(\epsilon)\delta_{ ij}+2\mu_{s}e_{ij}\end{cases} , \tag{37}\]  
where \(\epsilon=\left[\epsilon_{ij}\right]\) is the strain tensor; \(K_{s}\) and \(\mu_{s}\) are the bulk and shear moduli of the solid, respectively; \(\delta_{ij}\) is the Kronecker delta. Figure 3: Workflow of the modified model considering multiple groups of microcracks and pores, and a heterogeneous matrix. The entire area is discretized using an unstructured mesh of tetrahedral elements, about totaling 334,737 elements.