You must log in to edit PetroWiki. Help with editing

Content of PetroWiki is intended for personal use only and to supplement, not replace, engineering judgment. SPE disclaims any and all liability for your use of such content. More information


Predicting hydrate formation: Difference between revisions

PetroWiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
Line 427: Line 427:
== Online multimedia ==
== Online multimedia ==


Jamaluddin, Abul. 2013. Flow Assurance – Managing Flow Dynamics and Production Chemistry. [http://eo2.commpartners.com/users/spe/session.php?id=11553 http://eo2.commpartners.com/users/spe/session.php?id=11553]
Jamaluddin, Abul. 2013. Flow Assurance – Managing Flow Dynamics and Production Chemistry. https://webevents.spe.org/products/flow-assurance-managing-flow-dynamics-and-production-chemistry-2


== External links ==
== External links ==

Latest revision as of 10:29, 15 January 2018

In order to provide the best possible strategy in dealing with hydrate formation, it is important to have a comprehensive understanding of the underlying conditions that lead to initial hydrate formation. While commercial software programs are available to examine phase equilibria, it is useful to understand the basics as a means to evaluate the computer results.

Commercial computer programs

The most accurate predictions of hydrate formation conditions are made using commercial phase equilibria computer programs. These programs are of two types:

  • Those which enable the prediction of the pressure and temperature at which hydrates begin to form (incipient hydrate formation programs)
  • Those which predict all phases and amounts at higher pressures and lower temperatures than the incipient hydrate formation point (flash programs, or Gibbs energy minimization programs)

Of these two program types, the flash/Gibbs type is gaining pre-eminence because its predictions are available in the phase diagram interior (where many systems operate), whereas the incipient type provides the pressure/temperature (P/T) points of hydrate initiation. State-of-the-art programs are transitioning to the flash/Gibbs free-energy type.

The basis for both program types is a hydrate equation of state (EOS). A clear, prescriptive method for constructing the hydrate flash program has recently been published.[1] The hydrate flash program usually is so complex as to require two or more man-years of single-minded effort to construct a robust version of the program. For this reason and because of readily available commercial programs, engineers usually elect to use those rather than construct another program. (For more details about the hydrate EOS, however, see Chap. 5 of Sloan.[2])

When gathering critical prediction results for a design, however, it is important to check the program results by hand to determine whether the program has made an unusual prediction. This section offers some hand-calculation techniques for this type of evaluation.

Which hydrate conditions are calculable by hand?

Not all hydrate conditions are calculable by hand. The sections below give hydrate formation hand calculations along the three-phase (LW-H-V) system and for three-phase (LW-H-V) hydrate formation on wet gas expansion, as through a valve.

The other three-phase regions (e.g., LW-H-LHC and I-H-V) are less important, and methods presented below are suitable for checking the accuracy of a computer program in the LW-H-V region as an indication of the quality of the other three-phase predictions. Four-phase (LW-H-V-LHC) hand calculation methods are not available, and one generally must rely on computer methods for this most common flow assurance hydrate concern. Recent work by Hopgood[3] shows that hydrate prediction programs commonly are in error by as much as 5°C for hydrate formation conditions in black oils; this is an area of current research.

For the two-phase regions of hydrate equilibria (i.e., V-H, LHC-H, and I-H), the key question is that of water content: how much water can a vapor or liquid hydrocarbon phase hold before hydrates will precipitate? Just as knowing the V and LHC saturation conditions allows the engineer to avoid solid hydrate formation, determining the I-H region (below 273 K) lets the engineer avoid ice or hydrate formation, both of which cause flow problems. Unfortunately, however, for hydrate precipitation from a vapor or liquid hydrocarbon, there is no water content hand calculation analogous to either Fig. 1[4] (for V-LW water dewpoints) or Fig. 2[5] (for LHC-LW water dewpoints).

Three phase LW-H-V calculations

There are several ways to do hand calculations for three-phase LW-H-V conditions:

  • For pure hydrate guests (e.g., CH4, C2H6, C3H8, and i-C4H10), Eq. 1 can be used with the constants in Table 1, noting the range of application. A somewhat less accurate semilogarithmic interpolation can be performed between the two quadruple points listed for pure components in Table 2, as briefly discussed in gas + pure condensate + water systems (e.g., H2O + C2H6, C3H8, or i-C4H10).

RTENOTITLE....................(1)

  • For gas mixtures, a relatively low pressure is required for hydrate formation. For example, at a typical seafloor temperature of 277 K, hydrates will form in a natural gas system if free water is available and the pressure is greater than 1.2 MPa. Hydrate formation data at 277 K were averaged for 20 natural gases,[2] and the average formation pressure was 1.2 MPa. Of the 20 gases, the lowest formation pressure was 0.67 MPa for a gas with 7.0 mol% C3H8, while the highest value was 2.00 MPa for a gas with 1.8 mol% C3H8. At temperatures below 277 K, pressures below the 1.2 MPa average are required.
  • Although it is not presented in this page, the Katz[6] KVH value method can be used for hydrate formation condition estimation from gas mixtures. Hydrate KVH values (defined as a component’s mole fraction divided by that in the hydrate) for each gas component are used to determine a hydrate dewpoint for a gas of constant composition. As with the more common DePriester[7] vapor/liquid values (KVL), the hydrate KVH values are functions of temperature and pressure. The KVH method is not considered here for two reasons. First, at a given temperature and pressure, the method gives the same KVH value, regardless of hydrate type, even though the KVH value should be a strong function of crystal type. Second, the number of plots (>11) for the corrected method is unwieldy. See Sloan[2] for details and examples of the original KVH method, including an extension to hydrate formation from water and liquid hydrocarbon (LW+LHC+H).
  • A more compact, accessible method for hydrate formation from water and gas mixtures is the gas gravity method. Presented in detail below, the gas gravity method is suitable for calculation of LW-H-V equilibrium pressures and temperatures at the point of hydrate formation. Although the method is only up to 75% accurate in pressure, it gives a fast initial estimate and has the advantage of being extended easily to expansion calculations for hydrate formation from wet gases.

The gas gravity method is the simplest method for quantifying the hydrate formation temperature and pressure. Gas gravity is defined as the molecular weight of the gas divided by that of air. To use the chart shown in Fig. 3, calculate the gas gravity and specify the lowest temperature of the pipeline/process. The pressure at which hydrates will form then is read directly from the chart at that gas gravity and temperature.

To the left of every line, hydrates will form with a gas of that gravity. At pressures and temperatures to the right of every line, the system will be hydrate-free. The following example, modified from Katz’s[9] original work, illustrates chart use.

Example 1

A gas is composed of the following (in mole percent):

  • 92.67% methane
  • 5.29% ethane
  • 1.38% propane
  • 0.182% i-butane
  • 0.338% n-butane
  • 0.14% pentane

When free water is present with the gas, find:

  • The pressure at which hydrates form at 283.2 K (50°F).
  • The temperature at which hydrates form at 6.8 MPa (1,000 psia).
  • The highest gas gravity without hydrate formation, when the pressure is 4.76 MPa (700 psia) and the temperature is 289 K (60°F).

Solution. The gas gravity (γg) is calculated as 0.603, using the average molecular weight calculated in Table 3 and Eq. 2:

RTENOTITLE....................(2)

where:

  • RTENOTITLE = the total molecular weight of the gas in the mixture
  • Ma = the molecular weight of air

Using this gas gravity number to read Fig. 3 indicates that:

  • At 50°F, the hydrate formation pressure is 450 psia at a gas gravity of 0.603.
  • At 1,000 psia, the hydrate formation temperature is 61°F at a gas gravity of 0.603.
  • At 700 psia and 60°F, gases with gravity below 0.69 are not expected to form hydrates.
  • Caution: this method is only approximate for several reasons:
  1. Fig. 3 was generated for gases containing only hydrocarbons and should be used with caution for gases with substantial amounts of CO2, H2S, or N2.
  1. The curves should not be extrapolated to temperatures below 273 K (32°F) or to pressures above 2.72 MPa (4,000 psia)—the data limits upon which the gas gravity plot is based.
  1. For the hydrate equilibrium temperature (Teq) and pressure (peq), the estimated inaccuracies[8] for 0.6 gravity gas are at a maximum of ±7°F or ±500 psia.

Over the 60 years since the generation of the chart in Fig. 3, the development of more accurate hydrate data and prediction methods have led to the gravity method being used as a first estimate or a check, rather than as a principle method, despite its ease of calculation.

Most commonly now, perhaps, the gas gravity chart is used to check the conditions at which a flowline fluid will enter the hydrate formation region. Such a calculation requires a second multiphase fluid flow simulator.

Estimating the total amount of MeOH or MEG to inject to inhibit hydrates

The amount of injected MeOH or MEG needed to inhibit hydrate formation is the total of the amounts that reside in three phases:

  • Aqueous liquid
  • Hydrocarbon vapor
  • Liquid hydrocarbon

The inhibitor in the hydrocarbon vapor and liquid hydrocarbon phases has no effect—hydrate inhibition occurs only in the aqueous phase—but this inefficiency is unavoidable.

RTENOTITLE....................(3)

The Hammerschmidt[10] equation (Eq. 3) provides the MeOH or MEG concentration in the aqueous phase. With that inhibitor concentration as a basis, the amount of inhibitor in the vapor or liquid hydrocarbon phases is estimated by:

RTENOTITLE....................(4)

where:

  • K is a function of inhibitor used and the phase into which it partitions [e.g., (KV) MeOH or (KL)MEG]
  • a and b = constants[11] for the two most common inhibitors, MeOH and MEG, as listed in Table 4
  • T = temperature, in °R

With Eq. 4, one can calculate the total amount of hydrate inhibitor needed, as shown below in Example 2. Note that the fourth (missing) value of (KV)MEG in the above table is taken as zero because the amount of ethylene glycol lost to the vapor phase is too small to measure. Although these expressions for the inhibitor partitioning are the most current, inhibitor partitioning is an active research area, for which new equations and constants will be developed over the coming few years.

Example 2

A pipeline with the gas composition below has inlet pipeline conditions of 195°F and 1,050 psia. The gas flowing through the pipeline is cooled to 38°F by the surrounding water. The gas also experiences a pressure drop to 950 psia. Gas exits the pipeline at a rate of 3.2 MMscf/D. The pipeline produces condensate at a rate of 25 B/D, with an average density of 300 lbm/bbl and an average molecular weight of 90 lbm/lbm mol. Produced free water enters the pipeline at a rate of 0.25 B/D.

Find the rate of methanol injection that will prevent hydrates in the pipeline for a natural gas composed of (in mole percent): 71.60% methane 4.73% ethane 1.94% propane 0.79% n-butane 0.79% n-pentane 14.19% carbon dioxide 5.96% nitrogen

The basis for these calculations is 1.0 MMscf/D. Methanol will exist in three phases:

  • Water
  • Gas
  • Condensate

The steps in the solution are:

  1. Calculate hydrate formation conditions using the gas gravity chart (Fig. 3).
  2. Calculate the wt% MeOH needed in the free-water phase.
  3. Calculate the free (produced and condensed) H2O/MMscf of natural gas.
  4. Calculate the methanol needed in the aqueous phase.
  5. Calculate the methanol lost to the gas phase.
  6. Calculate the methanol lost to the liquid hydrocarbon phase.
  7. Sum the amounts in steps 4, 5, and 6 for the total methanol needed.

Step 1—Calculate hydrate formation conditions using the gas gravity chart. Start by calculating the gas gravity (γg) , using Eq. 2 and the data in Table 5:

RTENOTITLE

At γg = 0.704, the gas gravity chart shows the hydrate temperature to be 65°F at 1,050 psia.

Step 2—Calculate the wt% MeOH needed in the free-water phase. Recall the Hammerschmidt[10] equation (Eq. 3):

RTENOTITLE

where:

  • ΔT = the hydrate temperature depression from the equilibrium temperature at a given pressure (65°F – 38°F = 27°F)
  • M = molecular weight of the inhibitor (methanol = 32.0)
  • W = wt% of the inhibitor in the free-water phase

Rearranging the Hammerschmidt equation to find W:

RTENOTITLE

yields that 27 wt% of methanol is needed in the free-water phase to provide hydrate inhibition at 1,050 psia and 38°F (highest pressure, lowest temperature) for this gas.

Step 3—Calculate the mass of liquid water/MMscf of natural gas. a) Calculate the mass of condensed H2O. In the absence of a water analysis, use the water content chart (Fig. 1) to calculate the amount of water in the vapor/MMscf. By this chart, 1,050 psia and 195°F, the inlet gas water content is 600 lbm/MMscf. At 950 psia and 38°F, the exiting gas contains 9 lbm/MMscf of water. The difference between the original water and the water remaining in the gas is the mass of liquid water from condensation: 600 – 9 = 591 lbm/MMscf.

b) Calculate the mass of produced H2O flowing into the line. Convert the produced water of 0.25 B/D to lbm/MMscf:

RTENOTITLE

c) Calculate the total mass of water/MMscf of gas. Sum the condensed and produced water:

RTENOTITLE

Step 4—Calculate the rate of methanol needed in the aqueous phase. With 27.0 wt% methanol required to inhibit the free-water phase, and the mass of water/MMscf calculated at 618.4 lbm in the free-water phase, the mass (m) of MeOH/MMscf is

RTENOTITLE

Solving this equation yields m =228.7 lbm MeOH in the water phase.

The mole fraction MeOH in the free-water phase (xMeOH-W) is:

RTENOTITLE

The mole fraction MeOH in the free-water phase is xMeOH-W = 0.172.

Step 5—Calculate the MeOH lost to the gas phase. The distribution constant of MeOH in the gas is calculated by Eq. 11.9 to be 38°F (497.7°R), relative to the methanol in the water:

RTENOTITLE

The mole fraction of MeOH in the vapor (yMeOH)-V is:

RTENOTITLE

The daily gas rate is 8,432 lbm mol [= 3.2 × 106 scf/(379.5 scf/lbm mol), where an scf is at 14.7 psia and 60°F], so that the MeOH lost to the gas is 4.29 lbm mol (= 0.000509 × 8,432) or 137.3 lbm/D. Because the calculation basis is 1 MMscf/D, the amount of MeOH lost is 42.9 lbm/MMscf (= 137.3 lbm/3.2 MMscf).

Step 6—Calculate the amount of MeOH lost to the condensate.

RTENOTITLE

The mole fraction MeOH in condensate (xMeOH-HC) is:

RTENOTITLE

The condensate rate is 26.0 lbm mol/MMscf (= 25 B/D × 300 lbm/bbl × 1 lbm mol/90 lbm × 1 d/3.2 MMscf), so that the amount of MeOH in condensate is 0.0314 lbm mol/MMscf [= 0.001207 × 26/(1 – 0.001207)], or 1.0 lbm/MMscf).

Step 7—Sum the total amount of MeOH/MMscf. The amounts of MeOH in Example 2 are shown in Table 6.

This example illustrates the fact that a significant amount of MeOH partitions into the vapor and liquid hydrocarbon phases. The calculation could be done equally well for MEG, substituting appropriate constants in Eq. 4. See Sloan[11] for further examples of MeOH and MEG partitioning.

Hydrate formation on expansion across a valve or restriction

When water-wet gas expands rapidly through a valve, orifice, or other restriction, hydrates form because of rapid gas cooling by Joule-Thomson (constant enthalpy) expansion. Hydrate formation with rapid expansion from a wet line is common in fuel gas or instrument gas lines. In well-testing, startup, and gas lift operations, hydrates can form with high pressure drops, even with a high initial temperature, if the pressure drop is very large. This section provides an initial hand calculation method for situations when hydrates will form upon rapid expansion. Sloan[11] (pp. 21 ff ) contains a more accurate computer calculation method and discussion.

If a gas expands rapidly through a valve or restriction, the fluids will cool much faster than with heat transfer, possibly causing the system to enter the hydrate formation regime at the valve/restriction discharge. Two rapid expansion curves for the same 0.6-gravity gas are shown in Fig. 4. Intersections of the gas expansion curves with the hydrate formation line limits the expansion discharge pressures from two different high initial P/T conditions, labeled Gas A and Gas B.

In Fig. 4, the curves determine the restriction downstream pressure at which hydrate blockages will form for a given upstream pressure and temperature.

  • Gas A expands from 13.6 MPa (2,000 psia) and 316 K (110°F) until it strikes the hydrate formation curve at 0.53 MPa (780 psia) and 287 K (57°F), so 0.53 MPa (780 psia) represents the limit to hydrate-free expansion
  • Gas B expands from 12.2 MPa (1,800 psia) and 322 K (120°F) to intersect the hydrate formation curve at a limiting pressure of 1.97 MPa (290 psia) and 279 K (42°F)

In expansion processes, the upstream temperature and pressure are known, but the discharge temperature usually is unknown, and a downstream vessel normally sets the discharge pressure.

Cooling curves such as the two in Fig. 4 were determined for constant enthalpy (Joule-Thomson) expansions, obtained from the First Law of Thermodynamics for a system flowing at steady state, ignoring kinetic and potential energy changes:

RTENOTITLE....................(5)

where:

  • ΔH2 = the enthalpy difference across the restriction (downstream to upstream)
  • Q = the heat added
  • Ws = shaft work obtained at the restriction

Normal flow restrictions (e.g., valves and orifices) have no shaft work, and because rapid flow approximates adiabatic operation, both Ws and Q are zero. The result is constant enthalpy (ΔH2 = 0) operation on expansion.

Katz[9] generated charts to determine the hydrate-free limit to gas expansion, combining the gas gravity chart (Fig. 3) and the gas enthalpy/entropy charts by Brown[12] to determine Fig. 4‘s hydrate formation line and cooling lines labeled Gas A and Gas B, respectively. Interestingly, Brown’s charts also could be used with Fig. 3 to determine the limits to wet gas expansion across an isentropic device such as a nozzle or turboexpander; however, that has not been done.

Cautioning that the charts apply to gases of limited compositions, Katz[9] provided constant enthalpy expansion charts for gases of 0.6, 0.7, and 0.8 gravities, shown in Figs. 5, 6, and 7, respectively. The abscissa (x-axis) in each figure represents the lowest downstream pressure without hydrate formation, given the upstream pressure on the ordinate (y-axis) and the upstream temperature (a parameter on each line).

Note that maxima in Figs. 5 through 7 occur at the upstream pressure of 40.8 MPa (6,000 psia), the Joule-Thomson inversion pressure. At pressures above 6,000 psia, these gases will cool on expansion.

Figs. 5 through 7 incorporate the inaccuracies of the gas gravity charts from which they were derived. As indicated above, the 0.6-gravity chart (used for both hydrate formation and gas expansion) may have inaccuracies of ±3.4 MPa (500 psia). Accuracy limits for these expansion curves have been tested by Loh et al., 23 who found, for example, that the allowable 0.6-gravity gas expansion from 23.8 MPa (3,500 psia) and 338 K (150°F) should be 2.8 MPa (410 psia), rather than the value of 4.76 MPa (700 psia) given by Fig.5.

The following three examples of chart use are from Katz’s[9] original work.

Example 3a

To what pressure can a 0.6-gravity gas at 13.6 MPa (2,000 psia) and 311 K (100°F) be expanded without danger of hydrate formation?

According to Fig. 5, the maximum pressure of gas expansion is 7.14 MPa (1,050 psia).

Example 3b

How far can a 0.6-gravity gas at 13.6 MPa (2,000 psia) and 333 K (140°F) be expanded without hydrate formation?

Fig. 5 shows that there is no intersection with the 333 K (140°F) isotherm. Hydrates will not form upon expansion to atmospheric pressure.

Example 3c

A 0.6-gravity gas is to be expanded from 10.2 MPa (1,500 psia) to 3.4 MPa (500 psia). What is the minimum initial temperature that will permit the expansion without danger of hydrates?

Fig. 5 shows that 310 K (99°F) is the minimum initial temperature to avoid hydrates.

Nomenclature

a = constant
b = constant
H1 = the enthalpy of water in the hydrocarbon solution minus that of pure liquid water, Btu/lbm
H2 = enthalpy difference across a valve or restriction, Btu/lbm
K = amount of inhibitor in the vapor or liquid hydrocarbon phases
(KL)MEG = liquid distribution coefficient, RTENOTITLE, of MEG, dimensionless
(KL)MeOH = liquid distribution coefficient, RTENOTITLE, of MEOH, dimensionless
KVH = a Katz’s value term, defined as a component’s mole fraction divided by that in the hydrate
KVL = DePriester’s vapor/liquid value, defined as a component’s mole fraction divided by that in the liquid
(KV)MEG = vapor distribution coefficient, RTENOTITLE, of MEG, dimensionless
(KV)MeOH = vapor distribution coefficient, RTENOTITLE, of MEG, dimensionless
m = mass, lbm
M = molecular weight
Ma = the molecular weight of air
RTENOTITLE = the average molecular weight of a gas in a mixture
p = pressure, psia
peq = pressure, hydrate equilibrium, psia
P = in the Gibbs phase rule, the number of phases in a nonreacting system
T = temperature, °F
Teq = temperature, hydrate equilibrium, °F
W = wt% of the inhibitor in the free-water phase
Ws = shaft work
xHC-W = mole fraction for hydrocarbon in liquid water
xMeOH-HC = mole fraction MeOH in condensate
xMeOH-W = mole fraction MeOH in the free-water phase
xW-HC = mole fraction for water in liquid hydrocarbon
yMeOH-V = mole fraction of MeOH in vapor
z = mole fraction of a component in mixture
γg = gas gravity
T = hydrate temperature depression below the equilibrium temperature at a given pressure, °F

References

  1. Ballard, A.L. and Sloan Jr., E.D. 2002. The Next Generation of Hydrate Prediction: An Overview. J. Supramol. Chem. 2 (4–5): 385–392. http://dx.doi.org/10.1016/S1472-7862(03)00063-7
  2. 2.0 2.1 2.2 Sloan, E.D. Jr. 1998. Clathrate Hydrates of Natural Gases, second edition. Boca Raton, Florida: CRC Press.
  3. Hopgood, D. 2001. Why Improve Hydrate Predictions for Deepwater Black Oil? Presented at the Offshore Technology Conference, Houston, 30 April–3 May. OTC-13037-MS. http://dx.doi.org/10.4043/13037-MS
  4. 4.0 4.1 McKetta, J.J. and Wehe, A.H. 1958. Use This Chart for Water Content of Natural Gases. Petroleum Refiner 37 (8): 153.
  5. 5.0 5.1 Tsonopoulos, C. 2001. Thermodynamic analysis of the mutual solubilities of hydrocarbons and water. Fluid Phase Equilib. 186 (1–2): 185-206. http://dx.doi.org/10.1016/S0378-3812(01)00520-9
  6. Katz, D.L. 1959. Handbook of Natural Gas Engineering. New York: McGraw-Hill Higher Education.
  7. de Priester, C.L. Light Hydrocarbon Vapour-Liquid Distribution Coefficient. Pressure-temperature-composition charts and pressure-temperature monographs, Vol. 49, No. 7, 45. New York: Chemical Engineering Progress Symposium Series, American Institute of Chemical Engineers.
  8. 8.0 8.1 Sloan, E.D. 1985. The CSM Hydrate Prediction Program. Proc., 64th Annual Convention of the Gas Producers Association, Houston, 125.
  9. 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 Katz, D.L. 1945. Prediction of Conditions for Hydrate Formation in Natural Gases. In Petroleum Development and Technology 1945, Vol. 160, SPE-945140-G, 140. New York: Transactions of the American Institute of Mining and Metallurgical Engineers, AIME.
  10. 10.0 10.1 Hammerschmidt, E.G. 1939. Gas Hydrate Formation in Natural Gas Pipelines. Oil Gas J. 37 (50): 66.
  11. 11.0 11.1 11.2 Sloan, E.D. Jr. 2000. Hydrate Engineering, Vol. 21, 89. Richardson, Texas: Monograph Series, SPE.
  12. Brown, G.G. 1945. A Series of Enthalpy-Entropy Charts for Natural Gases. In Petroleum Development and Technology 1945, Vol. 160, SPE-945065-G, 65-76. New York: Transactions of the American Institute of Mining and Metallurgical Engineers, AIME.

Noteworthy papers in OnePetro

Use this section to list papers in OnePetro that a reader who wants to learn more should definitely read

Online multimedia

Jamaluddin, Abul. 2013. Flow Assurance – Managing Flow Dynamics and Production Chemistry. https://webevents.spe.org/products/flow-assurance-managing-flow-dynamics-and-production-chemistry-2

External links

Use this section to provide links to relevant material on websites other than PetroWiki and OnePetro

See also

Hydrates

Hydrate problems in production

Preventing formation of hydrate plugs

Phase behavior of water and hydrocarbon systems

Equilibrium of water and hydrocarbon systems with hydrates

PEH:Phase_Behavior_of_H2O_Hydrocarbon_Systems

Category