1 Introduction

In recent years, the majority of newly discovered oil reservoirs are unconventional reservoirs. Shale oil reservoirs have been discovered in the Bakken Formation (3.65 billion barrels), Three Forks (3.73 billion barrels), Appalachian, Gulf of Mexico, west Siberian, Songliao, and Ordos basins around the world (Gaswirth and Marra 2015). There is a strong consensus that oil can be produced from certain fractured shale oil reservoirs (Zou and Yang 2013). Similar to the tight sandstone, the shale has very pore storage and permeable property, which is adverse to the production (Bustin and Bustin 2012; McGlade et al. 2013). Besides, because shales are rich in kerogen (Wang et al. 2019), the oil in shale consists of free, adsorbed, and dissolved oil (Yang et al. 2016; Zhu et al. 2018b). Molecular simulation results show that the affinity of oil and kerogen is larger than gas, oil cannot be desorbed even at atmospheric pressure (Falk et al. 2015; Zhu et al. 2018a). Since the mobility of shale oil is very low, the primary oil recovery factor of the shale oil reservoir is less than 15% (Cherian et al. 2012; Hoffman 2012; Iwere et al. 2012; Yu et al. 2014). Therefore, EOR is necessary to achieve maximum economic efficiency in shale oil reservoirs. However, water flooding cannot be used in shale oil reservoirs because of the clay swelling problems, poor sweep efficiency, and low injectivity (Yu et al. 2015; Ahmad et al. 2019).

The gas injection is an important method in the EOR of the shale reservoir (Li et al. 2018; Jia et al. 2019). Yu and Sheng (2016) investigated that cyclic gas injection provided a steadier and continuous recovery performance than cyclic water injection. Sharma and Sheng (2017) compared the recovery factor of methane and ethane huff-n-puff with methyl alcohol and isopropanol huff-n-puff, the result showed that the production rate and ultimate recovery factor of gas huff-n-puff are both best. A series of experiments and simulations have been conducted on the Wolfcamp shale to study the effect of different gases on the gas huff-n-puff in the shale, and the results show that the recovery factor of CO2 huff-n-puff is better than CH4 and nitrogen huff-n-puff (Li et al. 2017a). Field tests show that the CO2 injection causes significant reductions in the interfacial tension and oil viscosity (Gondiken 1987). A greater permeability caused by carbonic acid dissolution of calcium carbonate has been well documented (Torabi and Asghari 2010). Schenewerk et al. (1992) performed a study in South Louisiana and showed that CO2 huff-n-puff can significantly reduce the water cut in wells and alter the saturation distribution. Besides, the diffusion coefficient of CO2 in oil is higher than nitrogen and water (Zheng and Yang 2017; Zhu et al. 2018c), and the adsorptive properties of CO2 in kerogen are greater than those of other gases (Mitchell et al. 2004; Kurniawan et al. 2006; Ottiger et al. 2008; Pollastro et al. 2008). The higher diffusion coefficient and excellent adsorptive properties of CO2 are beneficial to replacing the adsorption-dissolution oil in the kerogen. The combined effects of fracture impaction, diffusion, and nanopore result in an additional 3.8% of oil production during CO2 huff-n-puff (Zhang et al. 2018). In conclusion, CO2 injection is a good EOR method for shale oil production.

The modes of CO2 injection in EOR can be categorized into three types: huff-n-puff, multiple-well cyclic injection, and continuous injection (Burrows et al. 2020; Iddphonce et al. 2020; Singh 2018). The difference of multiple-well circulation from huff-n-puff is that the injection well and production well of CO2 injection are separated. Since it can provide beneficial interwell interference, multiple-well circulation may be more effective than huff-n-puff (Kong et al. 2016). The experiment and simulation results showed that the recovery factor of continuous gas injection is larger than huff-n-puff in the homogeneous formation (Wan et al. 2013; Sheng 2015; Yu and Sheng 2015). However, Tovar et al. (2018) demonstrated that the direct gas injection through the shale matrix is not possible in a reasonable time frame. Many technologies, including horizontal wells and multiple hydraulic fracturing, have been used to economically produce shale oil (Daneshy 2009; Gaurav et al. 2012). Although the diffusion coefficient of CO2 is better than other fluid (Zheng and Yang 2017; Zhu et al. 2018c), the limited influence area of the diffusion mechanism is not enough to compensate for the low velocity caused by the low permeability of the matrix. Therefore, multiple hydraulic fracturing has been used to economically produce shale oil (Daneshy 2009; Gaurav et al. 2012), and huff-n-puff is the best mode of CO2 injection in the shale reservoir. More CO2 diffuses into the matrix because of the larger contact area, and CO2 moves deep because of the higher permeability of fracture.

In recent years, the effects of mechanistic factors (e.g., soaking time, cycle number, pressure) on the CO2 huff-n-puff in shale cores have been studied by many researchers (Wang et al. 2013; Wan et al. 2013; Li et al. 2017a, b; Sheng 2017; Du et al. 2018). Besides, the effects of heterogeneity (Chen et al. 2014), water saturation (Huang et al. 2020), permeability (Su et al. 2020), pore throat radii and total organic carbon (TOC) content (Hawthorne et al. 2019) on the CO2 huff-n-puff in the shale were also studied. The recovery factor varies widely (25%–100%), which is caused by different experimental methods and samples. Generally, the recovery factor of shale oil is closely correlated with the injection pressure and contact surface area between CO2 and rock during CO2 huff-n-puff in the shale. CO2 huff-n-puff experiments in the Eagle Ford shale, Marcos shale, and Barnett shale indicated that the oil recovery due to CO2 injection at pressures at or above the minimum miscibility pressure (MMP) is better than that at pressures below the MMP (Gamadi et al. 2014). The same result was also obtained by Li et al. (2017b) and Hawthorne et al. (2013). Burrows and Haeri (2020) summarized the oil recovery results after 24 h of CO2 huff-n-puff laboratory testing and the results showed that the recovery factor decreased from 100 to 25% when the core volume/core surface area increased from 0.3 to 10. Therefore, it is important to study the effects of fractures on oil recovery during CO2 huff-n-puff operations in the fracture–matrix system.

There are three methods to describe the matrix–fracture system in the laboratory. First, a direct visualization experiment with a glass micromodels was used to quantify the recovery rates of oil from fracture networks (Nguyen et al. 2018). Second, a cubic shale sample with an artificial fracture, which is filled with sands and glass beads, was used to model the matrix–fracture system (Tan et al. 2018). Third, a physical model, which is composed of an annular fracture and a cylindrical matrix, was used to study the CO2 huff-n-puff process in conventional fractured reservoirs (Torabi and Asghari 2010; Sang et al. 2016). In some experiments, the fracture was filled with glass beads to model the fracture with proppant (Tovar et al. 2018). However, these three types of assessment methods have their flaws if employed independently. For the first method, the matrix parts of the glass micromodel are different from the shale matrix; the second model needs a large-scale sample and it is hard to quantitatively describe the fracture; while the fault of the third model is that the fracture is too ideal. Because the samples come from the formation and the size of the core is small, the third model is chosen in this study.

This paper presents an experimental study of the CO2 huff-n-puff process in shale and sandstone matrix–fracture systems at high temperatures and pressures. In Sect. 2, a modified experimental method is developed to test the recovery factors of matrix and fracture, respectively, in a special apparatus designed to mimic the CO2 huff-n-puff process in fractured unconventional formations. Meanwhile, the injectivity of CO2 in shale and sandstone is calculated accurately by the pressure decline curves. The oil recovery factor of shale with different porosities is compared with sandstone to study the effects of kerogen on CO2 huff-n-puff. As a result, the effects of injection pressure and injection time on the recovery factors and CO2 usage efficiency in shale and sandstone are studied.

2 Experimental

2.1 Materials

Four samples were used as the experimental cores, including two shale cores and two sandstone cores. All of the samples were drilled in the Mesozoic Yanchang Formation, Ordos Basin, where a larger number of organic-rich shales were found (Wang 2015). Because the clay content of shale is higher, liquid nitrogen was used as a coolant to cool the shale samples during coring in the laboratory. The hydrocarbon properties of the samples were detected by Rock–Eval pyrolysis (Okiongbo et al. 2005; Tong et al. 2011). The porosities of the samples were tested by the saturation of dodecane (C12), which is the simulated oil in this study. The permeability was tested by the helium (Cui et al. 2009). During the test, the pressures of both ends of the core samples are 16 and 15.5 MPa, respectively. The liquid nitrogen adsorption measurement was used to test the pore volume per mass, specific surface area, and average pore diameter (Sing et al. 1985). According to the BET adsorption theory (Radlinski and Mastalerz 2004), the liquid nitrogen adsorption method was focused on the microporous range (1.7–200 nm). They only indicate the development of the microporous of the samples. Table 1 shows the physical characteristics of the samples and Table 2 shows the physical properties of C12 and CO2. The CO2–C12 phase equilibrium data at 40–70 °C have been studied by Nieuwoudt and Du Rand (2002) and the CO2–C12 system is true first contact miscibility. The MMP in Table 2 is obtained at 60 °C.

Table 1 Physical characteristics of the samples
Table 2 Physical properties of C12 and CO2 (Lu 1982; Henni et al. 2010; Zhu et al. 2018b, c; Dong et al. 2019)

Figure 1 shows photos of the experimental cores. The cores are approximately 25 mm in diameter and 35–50 mm in length. It should be noted that Sandstone 1 contained many microfractures. As the number of microfractures in oil and gas reservoirs increases, the permeability improves significantly.

Fig. 1
figure 1

Photos of the experimental cores: a Shale 1, b Shale 2, c Sandstone 1, d Sandstone 2

In this study, X-ray diffraction analysis (XRD) was used to test the mineral compositions of the samples (Xie et al. 2016). The mineral compositions are listed Table 3. The mineral composition of shale is different from sandstone. The dominant mineral is quartz for sandstones. For shales, the contents of analcite, ankerite, and clay are also higher besides quartz.

Table 3 Mineral compositions of the samples

2.2 Experimental setup and procedure

An experimental set-up was proposed to test the CO2 huff-n-puff recovery from oil reservoirs with fractures at high pressures and temperatures. A schematic is shown in Fig. 2, which is comprised of a hydrostatic high-pressure core holder, a confining pressure pump, a CO2 cylinder, a separator, and a vacuum pump.

Fig. 2
figure 2

Schematic of the CO2 huff-n-puff measurement system

The diameter of the core holder was 26.00 mm and the confining pressure pump could provide constant axial pressure on the end face of the core. Therefore, fluid can only flow in a radial direction. The annulus space between the sample and wall of the core holder was used to simulate the fractures. Because the diameter of the core was 25.00 mm, the width of the “fracture” was 0.50 mm. The high-pressure CO2 cylinder, which is directly connected to the core holder by a line, was used to store CO2, and the pressure of the CO2 cylinder was recorded by a pressure transducer. The CO2 injection amount in the core can be obtained by the pressure decay of the CO2 cylinder during the test. Because the volume of CO2 has an important effect on the pressure change, 20 cm3 was chosen as the volume of the CO2 cylinder. If the volume of the CO2 cylinder is larger than 20 cm3, the pressure change will be too small to test. If the volume of the CO2 cylinder is smaller than 20 cm3, a large change of pressure will affect the super-critical state of CO2. The experimental set-up was placed in an oven.

The experimental procedures are as follows.

  1. (1)

    Matrix is saturated with fluid: the fractures and matrix were saturated with C12, separately, to obtain the recoveries from the fracture and matrix. First, the core sample, which had been flushed for 15 days, was vacuumed for 40 h. Then, the core sample was saturated with C12 for 10 days at 20 MPa until their mass did not change. The mass change of the core sample was the saturated mass of C12 in the matrix.

  2. (2)

    Fracture is saturated with fluid: the saturated core was set into the hydrostatic high-pressure core holder and held at the confining pressure, which was 2 MPa larger than the CO2 injection pressure (pressure of CO2 cylinder). The fracture and pressure lines were then vacuumed for 5 min to drain the gas from the fractures and pressure lines. Then, C12 was injected into the annulus space. The mass of C12, which has been injected into the fractures, was obtained by a balance.

  3. (3)

    CO2 huff: CO2 in the cylinder was injected into the core holder. Simultaneously, the pressure transducer was used to record the pressure of the gas cylinder.

  4. (4)

    CO2 puff: After 40 h (except Sect. 3.3, the injection times of CO2 in Sect. 3.3 are 2, 10, 20, 40, and 60 h), the CO2 and C12 mixtures in the set-up were released to the separator. The final pressure of the reservoir decreased to zero during this step. The flashed fluid was collected during CO2 flowing through the separator. The mass of C12, which was produced during CO2 puff, was obtained by the mass change of the separator.

  5. (5)

    Steps (3) and (4) were repeated at the same initial pressure to test the recovery factor for the multicycle CO2 huff and puff.

  6. (6)

    Finally, the core was taken out of the core holder after the test and the mass change of the sample was measured.

All of the tests were performed at 60 °C, which was constant during the tests. All of the mass was tested by a high precision electronic balance with a high precision of 0.001 g. The pressure of the CO2 cylinder was tested by a high precision pressure transducer with a precision of 0.02 MPa. The injection amount of CO2 in the matrix–fracture system was calculated from the pressure change of the high-pressure CO2 cylinder.

2.3 Calculation of the recovery factor and injection amount of CO2

Fractures in reservoirs are complex, irregular, and varying; therefore, it is difficult to determine the oil recovery from the matrix and fractures using experimental methods. In this study, a simplified physical model was used to describe CO2 huff-n-puff process, as shown in Fig. 3. The model is composed of an annular fracture and a cylindrical matrix.

Fig. 3
figure 3

Schematic of oil production during CO2 huff-n-puff

As shown in Fig. 3, CO2 initially diffuses into the fracture first and then into the matrix during the CO2 huff process. During the CO2 puff process, the CO2 and C12 mixtures are released first from the fracture and then from the matrix. There is little oil in the CO2 cylinder after the experiment. Therefore, it is reasonable to assume that the oil components, which diffuse from the core into the CO2 cylinder, are negligible during CO2 huff-n-puff. The oil production (mass) after nth cycle CO2 huff-n-puff is obtained by the mass of C12 collected by the separator of the nth cycle. The oil production (mass) of the matrix is obtained by the mass change of the core after the experiment. The oil production (mass) of fracture is obtained by the difference between the total oil production and oil production of the matrix after the experiment. The incremental recovery factor of original oil-in-place (OOIP) after nth cycle, the matrix recovery factor of OOIP, and the fracture recovery factor of OOIP can be calculated from the following equations:

$$\left\{ \begin{gathered} \eta^{n} { = }\frac{{\sum\nolimits_{1}^{n} {m_{{\text{s}}}^{n} } }}{{m_{{{\text{m0}}}} + m_{{\text{f}}} }},\quad n = 1,\,2,\;3 \cdots \hfill \\ \eta_{{\text{m}}} { = }\frac{{m_{{{\text{m0}}}} - m_{{{\text{m1}}}} }}{{m_{{{\text{m0}}}} }} \hfill \\ \eta_{{\text{f}}} { = }\frac{{m_{{\text{s}}} - (m_{{{\text{m0}}}} - m_{{{\text{m1}}}} )}}{{m_{{\text{f}}} }} \hfill \\ \end{gathered} \right.$$
(1)

where ηn is the incremental recovery factor of OOIP after nth cycles; ηm is the matrix recovery factor of OOIP at the end of the experiment; ηf is the fracture recovery factor of OOIP at the end of the experiment; mm0 is the total mass of C12 in the matrix, g; mf is the total mass of C12 in the fracture, g; \(m_{{\text{s}}}^{n}\) is the mass of C12 collected by the separator of the nth cycle, g; ms is the total mass of C12 collected by the separator at the end of the experiment, g; and mm1 is the mass of C12 in the matrix at the end of the experiment, g.

The CO2 injectivity in the samples is positively correlated with the injection amount of CO2 into the matrix–fracture system (\(\Delta n_{{{\text{CO}}_{{2}} }}\)), which is a key factor in the recovery factor during CO2 huff-n-puff and can be calculated by Eq. (2).

$$\Delta n_{{{\text{CO}}_{{2}} }} = \frac{{n_{0} - n_{{\text{t}}} }}{{V_{{\text{m}}} }} = \left(\frac{{p_{0} v}}{{z_{0} RT}} - \frac{{p_{{\text{t}}} v}}{{z_{{\text{t}}} RT}}\right)\frac{1}{{V_{{\text{m}}} }}$$
(2)

where \(\Delta n_{{{\text{CO}}_{{2}} }}\) is the injection amount of CO2 during the test, which is the amount of CO2 injected per volume of the matrix–fracture system, mol/cm3; n0 is the initial amount of CO2 in the CO2 cylinder, mol; nt is the remaining CO2 in the CO2 cylinder, mol; Vm is the volume of the matrix–fracture system, cm3; p0 is the initial pressure of the CO2 cylinder, MPa; z0 is the compressibility factor at p0; pt is the pressure of the CO2, MPa; zt is the compressibility factor of CO2 at pt; v is the CO2 cylinder volume, cm3; R is the Avogadro constant, R = 8.314 J/(mol K); and T is the experimental temperature, K.

3 Results and discussion

3.1 Effect of rock properties

The incremental recovery factors in Shale 1, Shale 2, Sandstone 1, and Sandstone 2 after three cycles of CO2 injection were tested at 20 MPa and 60 °C. As shown in Table 1, the porosity of Shale 1 (9.6%) was close to Sandstone 1 (8.9%) and the porosity of Shale 2 (3.8%) was close to Sandstone 4 (4.3%). Figure 4 shows the pore size distributions of the four samples, which is tested by liquid nitrogen adsorption measurements. The pore volume of Sandstone 1 was larger than other samples. According to Table 1, the porosity of Shale 1 was similar to Sandstone 1. However, the incremental pore volume of Shale 1 was far less than that of Sandstone 1. The reason was that the porosity in Table 1 was tested by the saturation of C12 and the incremental pore volume in Fig. 4 was tested by nitrogen. Because C12 can dissolve in the kerogen, which is inaccessible for nitrogen, the incremental pore volume of Shale 1 in Fig. 1 was less than that of Sandstone 1. Besides, the results of Fig. 4 indicated that Shale 1 had a greater degree of micropores (with widths smaller than 2 nm) than the other samples. The incremental recovery factor, matrix recovery factor, and fracture recovery factor were obtained by Eq. (1) for the four samples after three cycles of CO2 huff-n-puff.

Fig. 4
figure 4

Pore size distributions of the samples

Figure 5 shows the incremental recovery factors from different samples after three cyclic injections of CO2. The results show that ηn increased with porosity after the same cycle for the shale and sandstone. Moreover, the incremental recovery factors of Sandstone 1 and 2 werte greater than those of Shale 1 and 2, respectively. The reason was that there was a larger amount of adsorption–dissolution C12 in the kerogen, which was hard to be mobilized during CO2 injection. Moreover, the increasing rate of the incremental recovery factor of sandstone decreased more rapidly with the number of cycles than shale, especially for the samples with low porosity. It has been reported that the adsorption-dissolution C12 in the kerogen was only replaced by CO2 when the concentration of CO2 was large enough (Zhu et al. 2018b). Because the amount of C12 in the shale decreased with the number of cycles, the concentration of CO2 in the matrix also increased with the number of cycles. Therefore, the production decline in the shale was smaller than that in the sandstone, and more cycles are needed during CO2 huff-n-puff process for shale to reach a larger recovery factor.

Fig. 5
figure 5

Incremental recovery factors of different core samples during the CO2 huff-n-puff process (20 MPa, 60 °C)

Figure 6 shows the relationships between \(\Delta n_{{{\text{CO}}_{{2}} }}\) and time in the matrix–fracture systems of the four samples, which can be calculated by the CO2 pressure decline curves in Fig. 15 in “Appendix,” and Table 4 shows the values of \(\Delta n_{{{\text{CO}}_{{2}} }}\), \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\), and \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) during three cycles for the different samples. In the first cycle, because the samples were completely saturated with C12, CO2 diffused into oil and adsorbed in the kerogen with time. However, \(\Delta n_{{{\text{CO}}_{{2}} }}\) curves can be divided into two stages in the second and third cycles. In the first stage, a mass of CO2 (\(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\)) enters into the matrix–fracture system quickly at the beginning. The reason was that there is an empty matrix–fracture space after oil produced from the system during the first and second cycle puffs. The empty matrix–fracture space should be filled by CO2 first in the second and third cycles. In the second stage, CO2 was injected slowly into the matrix–fracture system (\(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\)), which diffused into oil and adsorbed in the kerogen. Because the empty matrix–fracture space after the CO2 puff increased with the number of cycles, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) also increased with the number of cycles. Moreover, the increasing rates of \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) with time in the first cycle were greater than the others. The reason was that the amount of C12 in the shale after the CO2 puff decreased with the number of cycles increasing.

Fig. 6
figure 6

Relationships between \(\Delta n_{{{\text{CO}}_{{2}} }}\) and time for four samples: a Shale 1; b Sandstone 1; c Shale 2; d Sandstone 2

Table 4 Values of \(\Delta n_{{{\text{CO}}_{{2}} }}\), \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\), and \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) during three cycles in the different samples

As shown in Fig. 6 and Table 4, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) of Shale 1 in different cycles were larger than those of Shale 2, and \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) of Sandstone 1 were larger than those of Sandstone 2. Because the porosity of Shale 1 (9.6%) and Sandstone 1 (8.9%) was higher than those of Shale 2 (3.8%) and Sandstone 2 (4.3%), more CO2 was needed to fill the empty matrix–fracture space in Shale 1 and Sandstone 1 during the second and third cycles. Therefore, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) increased with increasing porosity. \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) of Shale 1 during the three cycles of CO2 injection were 1.22 × 10–3, 0.86 × 10–3 and 0.56 × 10–3 mol/cm3, respectively, which were larger than those of Sandstone 1 (0.82 × 10–3, 0.42 × 10–3 and 0.40 × 10–3 mol/cm3). Because CO2 was adsorbed and dissolved in the kerogen during cyclic CO2 injection, the \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) of the shale was larger than that of sandstone when the porosity was similar. The relationships between \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) and the number of cycles for Shale 2 and Sandstone 2 were similar to those of Shale 1 and Sandstone 1.

As shown in Table 5, the incremental recovery factor (ηn), matrix recovery factor (ηm), and fracture recovery factor (ηf) for different samples after three cycles of CO2 injection were obtained by Eq. (1). ηm and ηf both increased with porosity for the same rock properties. Although the porosities of Shale 1 and Sandstone 1 were approximately the same, ηm of Shale 1 (50.5%) was less than that of Sandstone 1 (74.3%) after three cycles of CO2 injection. Besides, ηm of Shale 2 (18.5%) was smaller than that of Sandstone 2 (31.2%). Prat of oil in the shale was adsorbed and dissolved in the kerogen, which was hard to be replaced by CO2. Therefore, ηm of shale was always smaller than that of sandstone when the porosities were approximately the same. ηf of Shale 1 (82.2%) was slightly greater than that of Sandstone 1 (80.5%), and ηf of Shale 2 (72.3%) was slightly greater than that of Sandstone 2 (70.6%). Because the size of the fracture was only 1 mm, the diffusion length of CO2 in the fracture was far less than that in the matrix. According to Fick’s law, the equilibrium time of CO2 in the fracture was short (0.5 h), which was far less than 40 h (test time). CO2 was saturated in the fracture under different injection pressures during the test. Therefore, the concentration of CO2 in the fracture was similar in the shale and sandstone. However, \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) of the shales were slightly larger than those of the sandstones because of the adsorption and dissolution of CO2 in the kerogen (Table 4). Therefore, more CO2 flowed through the fracture during the CO2 puff and the displacement efficiencies of fractures in the shales were slightly better than those in the sandstones when the porosities of them was similar. Besides, ηf increased with increasing porosity when the rock properties were the same. The reason for this result was similar to that described above. Because more CO2 was injected into the higher-porosity matrix during the CO2 huff, more CO2 flowed through the fracture during the CO2 puff. Therefore, the displacement efficiency of fracture with a higher porosity matrix was better.

Table 5 Values of ηn, ηm, and ηf of the samples after three cycles of CO2 injection

As shown in Table 4, although \(\Delta n_{{{\text{CO}}_{{2}} }}^{1} > \Delta n_{{{\text{CO}}_{{2}} }}^{2}\) in the second and third cycles, the contributions of \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) to the recovery factors were higher than \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\). However, because empty matrix–fracture space should be filled with CO2 at the second and third cycles, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) was necessary during CO2 huff-n-puff.

3.2 Effect of injection pressure

The recovery factor after three cyclic injections of CO2 in Shale 1 was tested at 60 °C and different operating pressures (6, 9, 12, 15, and 20 MPa). According to the test, mm0 and mf were 1.371 and 1.220 g, respectively. Moreover, the volumes of fracture and matrix were 1.691 and 18.064 cm3, respectively. Figure 7 shows the relationship between recovery factors in Shale 1 and the operating pressure during CO2 huff-n-puff process.

Fig. 7
figure 7

Relationship between recovery factors in Shale 1 and the operating pressure during CO2 huff-n-puff process

According to Eq. (1), the incremental recovery factor (ηn), the matrix recovery factor (ηm), and the fracture recovery factor (ηf) were obtained at different pressures after three cycles of CO2 injections. As shown in Fig. 7, ηm increased from 28.3% to 50.5%, and ηf increased from 68.5% to 82.3% when the injection pressure of CO2 moved from 6 to 20 MPa. Moreover, the increasing rates of ηm and ηf with pressure were different. ηm increased dramatically from approximately 31.8% to 49.8% when the pressure moved from 9 to 15 MPa, whereas ηm only increased by 0.7% when the pressure moved from 15 to 20 MPa. The MMP of the C12 and CO2 mixture was 13.8 MPa at 60 °C (Zhu et al. 2018b, c). However, ηf did not increase significantly when the pressure neared the MMP (9–15 MPa) because the diffusion coefficient and boundary concentration of CO2 both increased with pressure (Li et al. 2016). Thus, the flux of CO2 that diffused into the matrix increased sharply when the pressure neared the MMP. Therefore, the matrix recovery factor increased drastically. However, for the CO2 flux in the fracture, the influence of the diffusion coefficient could be negligible because the diffusion length of CO2 in the fracture was far less than that in the matrix. On the contrary, the amount of CO2 flow from the matrix to the fracture and the concentration of CO2 in the fracture increased pressure. Therefore, although ηf increased with pressure, the increasing rate of ηf did not increase significantly when the pressure neared the MMP.

Figure 8 is the incremental recovery factor in Shale 1 at different operating pressures, which shows that the incremental recovery factors (ηn) all increased with the injection pressure for the same cycle. Regardless of whether the injection pressure was at immiscible or miscible conditions, the recovery factor of the first cycle was more than double that of the second cycle and the greatest contribution to the incremental recovery factor (more than 50%) came from the first cycle.

Fig. 8
figure 8

Incremental recovery factor in Shale 1 at different operating pressures

Figure 9 shows the relationships between \(\Delta n_{{{\text{CO}}_{{2}} }}\) and time at different injection pressures, which were calculated by the CO2 pressure decline curves in Fig. 17 in “Appendix”. Therefore, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) and \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) at different pressures could be obtained. Figure 10 shows the relationships between the injection amount of CO2 and pressure in Shale 1 during three cycles of CO2 injection. As shown in Fig. 10a, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) increased with the injection pressure for the same cycle. There are two reasons for this phenomenon: (1) Because the incremental recovery factor increased with pressure (Fig. 8), the empty matrix–fracture space increased with pressure after the same cycle. The empty matrix–fracture space should be filled with CO2 first. Therefore, \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\) increased with the injection pressure for the same cycle. (2) The density of CO2 also increased with pressure. As shown in Fig. 10b, \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) initially increased with pressure and the increasing rate of \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) reduced rapidly when the pressure was higher than 12 MPa. The adsorption-dissolution amount of CO2 in the kerogen and the diffusion coefficient of CO2 in C12 both increased with the injection pressure, which had an important effect on \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) (Li et al. 2016; Zhu et al. 2018b). Therefore, \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) increased with the injection pressure. However, the diffusion coefficient of CO2 in C12 remained nearly constant when the pressure was higher than the MMP (13.8 MPa). Therefore, the increasing rate of \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\) reduced rapidly when the pressure was higher than 12 MPa.

Fig. 9
figure 9

Relationships between \(\Delta n_{{{\text{CO}}_{{2}} }}\) and time at different injection pressures: a 6 MPa; b 9 MPa; c 12 MPa; d 15 MPa; e 20 MPa

Fig. 10
figure 10

Relationships between the injection amount of CO2 and pressure during three cycles CO2 huff-n-puff: a \(\Delta n_{{{\text{CO}}_{{2}} }}^{1}\); b \(\Delta n_{{{\text{CO}}_{{2}} }}^{2}\)

Next, the relationships between recovery factor and \(\Delta n_{{{\text{CO}}_{{2}} }}\) in Shale 1 during three cycles of CO2 injection were studied. However, because the residual oil-in-place of the second and third cycles is different from the first cycle, the incremental recovery factor of OOIP in the second and third cycles was less than that in the first cycle. Therefore, the recovery factor of residual oil-in-place (ROIP) at the nth cycle was calculated by Eq. (3).

$$\eta_{{{\text{re}}}}^{n} { = }\frac{{m_{{\text{s}}}^{n} }}{{m_{{{\text{m0}}}} + m_{{\text{f}}} - \sum {m_{{\text{s}}}^{n - 1} } }},\quad n = 1,\;2,\;3 \ldots$$
(3)

where \(\eta_{{{\text{re}}}}^{n}\) is the recovery factor of ROIP at the nth cycle.

Figure 11 shows the relationships between \(\eta_{{{\text{re}}}}^{n}\) and \(\Delta n_{{{\text{CO}}_{{2}} }}\) in Shale 1. The results show that \(\eta_{{{\text{re}}}}^{n}\) in different cycles increased linearly with the injection amount of CO2. Although \(\Delta n_{{{\text{CO}}_{{2}} }}\) in the first cycle was smaller than that in the second and third cycles, \(\eta_{{{\text{re}}}}^{n}\) in the first cycle was larger than that in the second and third cycles. The reason was that part of the CO2 was injected into the empty matrix–fracture space during the second and third cycles, which had no contribution to the recovery factor. The results indicate that \(\eta_{{{\text{re}}}}^{n}\) in the first cycle is the largest contributor to the recovery factor. Moreover, when the pressure was higher than the MMP, the increasing of \(\eta_{{{\text{re}}}}^{n}\) and \(\Delta n_{{{\text{CO}}_{{2}} }}\) in the first cycle were both small. The reason is that the change of diffusion coefficient and boundary concentration of CO2 in the shale were small when the pressure was higher than the MMP. Because the injection amount and pressure of CO2, which both changed with pressure during CO2 huff-n-puff, had a combined effect on the results in Fig. 11, the effect of injection time on the recovery factor was studied in the next section (which had the same pressure and different injection amount of CO2).

Fig. 11
figure 11

Relationships between recovery factor of ROIP at the nth cycle (\(\eta_{{{\text{re}}}}^{n}\)) and \(\Delta n_{{{\text{CO}}_{{2}} }}\)

3.3 Effect of injection time

The recovery factors in Shale 1 and Sandstone 1 after one cycle of CO2 injection were determined at different injection times (2, 10, 20, 40, and 60 h) at 12 MPa and 60 °C. The incremental recovery factor, matrix recovery factor, and fracture recovery factor were calculated using Eq. (1).

Figure 12 shows the recovery factors in Shale 1 and Sandstone 1 at different injection times. The results show that an increase in injection time from 2 to 60 h amounts to a 13.2% (25.7%–38.9%) increase in ηn. As shown in Fig. 12b, ηn of Sandstone 1 increased from 26.6% to 46.4%, which was a slightly greater increase than that in Shale 1. The recovery factor consists of two components, the fracture recovery factor and the matrix recovery factor, which will be explained below.

Fig. 12
figure 12

Recovery factors of the CO2 huff-n-puff process for different injection times: a Shale 1; b Sandstone 1

First, when the injection time increased from 2 to 60 h, ηf of Shale 1 increased from 39.2% to 46.2% and ηf of Sandstone 1 increased from 39.9% to 49.4%. As the injection time increased, more CO2 was injected into the matrix during the CO2 huff; therefore, a larger amount of CO2 flowed from the matrix through the fracture during the CO2 puff. The displacement efficiency of the fracture was better for a long injection time during the CO2 puff. Moreover, ηf of Shale 1 was slightly larger than that of Sandstone 1 for the same injection time. The reason was that the injection amount of CO2 in the matrix of Shale 1 was slightly larger than that in Sandstone 1 because of the adsorption-dissolution of CO2 in the kerogen. According to our previous research, the adsorption amount of CO2 in the shale can reach 0.92–2.58 mmol/g, which depends on the TOC (Zhu et al. 2019). The displacement efficiency of the fracture in Shale 1 was better than that in Sandstone 1 during the CO2 puff. Therefore, the ηf of Shale 1 was slightly greater than that of Sandstone 1 for the same injection time.

Second, when the injection time increased from 2 to 60 h, ηm of Shale 1 increased from 9.0% to 28.7% and ηm of Sandstone 1 increased from 14.0% to 43.2%. Because the injection pressure and temperature were the same in this section, the diffusion coefficient and boundary concentration of CO2 in C12 were the same. The flux of CO2, which diffused into the matrix, increased with injection time. Therefore, the matrix recovery factor increased with the injection time. It should be noted that the injection time had a greater effect on the matrix recovery factor than on the fracture recovery factor. This result occurred because the diffusive equilibrium time of CO2 in the matrix was much longer than that in the fracture (0.5 h). The effect of the injection time on the fracture was small during the CO2 cycle injection. Moreover, ηm of the sandstone was greater than that of shale for different injection times. The reason for this was that part of the oil in the shale was adsorbed and dissolved in the kerogen, which was difficult to be produced.

Furthermore, ηm of Sandstone 1 did not increase with the injection time when the injection time was longer than 20 h. However, ηm of Shale 1 kept increasing with increasing injection time during the test. Therefore, more injection time is required for shale to reach the maximum recovery factor.

The injection amount of CO2 (\(\Delta n_{{{\text{CO}}_{{2}} }}\)) in the matrix–fracture systems for different injection times were calculated by Eq. (2) (Fig. 13), which can be calculated by the CO2 pressure decline curves in Fig. 17 in “Appendix”. The \(\Delta n_{{{\text{CO}}_{{2}} }}\) curves for different injection times were the same for the same samples. The growth rate of \(\Delta n_{{{\text{CO}}_{{2}} }}\) in Shale 1 was larger than that in Sandstone 1, especially at the beginning. There were two reasons: (1) There were layers and microfractures in the shale, which was beneficial to CO2 diffusion at the beginning. (2) A larger amount of CO2 was adsorbed and dissolved into the kerogen to replace the adsorption–dissolution oil during CO2 injection in the shale.

Fig. 13
figure 13

Relationships between \(\Delta n_{{{\text{CO}}_{{2}} }}\) and time for Shale 1 and Sandstone 1 at 12 MPa and 60 °C

Figure 14 shows the relationships between the recovery factor and \(\Delta n_{{{\text{CO}}_{{2}} }}\) for Shale 1 and Sandstone 1 at 12 MPa and 60 °C, which shows that the recovery factor increased with the injection amount of CO2. However, when \(\Delta n_{{{\text{CO}}_{{2}} }}\) was greater than 1.07 × 10–3 mol/cm3 (40 h), the recovery factor of Shale 1 did not increase with \(\Delta n_{{{\text{CO}}_{{2}} }}\). Similarly, the recovery factor of Sandstone 1 did not increase with \(\Delta n_{{{\text{CO}}_{{2}} }}\) when it was greater than 3.88 × 10–4 mol/cm3 (20 h). The cause of this phenomenon appeared to be the collapse of foamy flow due to a higher volume of released CO2. Because of the higher \(\Delta n_{{{\text{CO}}_{{2}} }}\), more gas is released from the solution than can be dispersed during CO2 puff; therefore, when \(\Delta n_{{{\text{CO}}_{{2}} }}\) is large, CO2 flows as a continuous phase (Busahmin and Maini 2010). When \(\Delta n_{{{\text{CO}}_{{2}} }}\) was greater than the optimal value, the recovery factor did not increase with \(\Delta n_{{{\text{CO}}_{{2}} }}\). Besides, the optimal value of \(\Delta n_{{{\text{CO}}_{{2}} }}\) in the shale (1.07 × 10–3 mol/cm3, 40 h) was larger than that in the sandstone (3.88 × 10–4 mol/cm3, 20 h). Because CO2 can be adsorbed and dissolved in the kerogen, the critical gas saturation of shale was larger than sandstone. Therefore, a higher \(\Delta n_{{{\text{CO}}_{{2}} }}\) for shale was needed to form a continuous phase. These results indicate that there were optimal values of \(\Delta n_{{{\text{CO}}_{{2}} }}\) for CO2 huff-n-puff and more injection time was needed for shale to reach the optimal \(\Delta n_{{{\text{CO}}_{{2}} }}\).

Fig. 14
figure 14

Relationships between the recovery factor and \(\Delta n_{{{\text{CO}}_{{2}} }}\) at 12 MPa and 60 °C

4 Conclusions

A modified experimental method is developed to investigate the recovery factors and injectivity of CO2 in the fracture–matrix system. The oil recovery factors of shales with different porosities are compared with sandstones to study the effects of kerogen on CO2 huff-n-puff. The effects of rock properties, injection pressure, and injection time on the recovery factors are discussed. The major conclusions are as follows:

  1. (1)

    The matrix recovery factor in Shale 1 (50.5%) and Shale 2 (18.5%) are much lower than that in Sandstone 1 (74.3%) and Sandstone 1 (31.2%) during CO2 huff-n-puff, while the injectivity of CO2 in the shale is larger than that in the sandstone. However, the production decline of the shale is smaller than sandstone. Therefore, more cycles are needed for the shale to reach a large recovery factor than the tight sandstone.

  2. (2)

    Injection pressure has an important impact on the recovery factors of the shale. When the injection pressure increases from an immiscible pressure to a miscible pressure, the recovery factors of the shale and the injectivity of CO2 increases dramatically during CO2 huff-n-puff. The optimal injection pressure of CO2 huff-n-puff in the shale is close to the MMP (13.8 MPa).

  3. (3)

    The injectivity of CO2 in the shale is better than the sandstone, especially at the beginning, because there are layers and microfractures in the shale and parts of CO2 are adsorbed and dissolved in the kerogen. Meanwhile, there are optimal CO2 injection amount during the huff-n-puff process, and the optimal CO2 injection amount in the shale (1.07 × 10–3 mol/cm3) is larger than that in the sandstone (3.88 × 10–4 mol/cm3) at 12 MPa. Besides, more injection time is needed for the shale (40 h) to reach the optimal CO2 injection amount than the tight sandstone (20 h).

  4. (4)

    The effects of sample properties, injection pressure, and time on the fracture recovery factor are smaller than those on the matrix recovery factor because the diffusion distance and equilibrium time of CO2 in the fracture is short. Therefore, the application of multiple refracturing with CO2 to generate microfractures is beneficial to enhancing shale oil recovery.