• No results found

Hydrate formation

In document OLGA Sample Cases (Page 60-65)

Hydrate model TESTCASE

This is an example case for a pre-defined plug-in dll with a hydrate formation model.

The case consists of a single 500 m horizontal pipe. The pipe diameter is 0.11 m.

A hydrate phase has been added to calculate the following effects:

 Tracking the hydrate particles forming and following the flow

 Calculating the effects of hydrates on the viscosity of the water film

Case description

The physical models needed to handle the tasks listed above are included in the plug-in DLL

“OlgaPlugInHydrateTutorialStructDat.dll” which is included in the executable folder for the OLGA X.x installation package.

1. The case name is HydrateTutorial.opi.

2. The DLL to use in this case is specified as follows:

In the GUI, under CaseDefinition, UDOPTIONS has been added. The dll name

“OlgaPlugInHydrateTutorialStructDat.dll” has been entered in the PLUGINDLL field. The dll is located in the same folder as the OLGA X.x engine executable, and it is thus not necessary to include path in this case.

3. The hydrate phase which is recognized by the DLL has been defined as follows:

The case uses internal models from the plug-in for hydrate heat capacity, enthalpy, density, thermal conductivity, and viscosity. Therefore we don’t need to give values for heat capacity in the UDPHASE field.

We do, however, need to set a dummy value for the hydrate particle density to bypass the input error check. The value is overridden by the density model in the plug-in DLL. The “dummy” hydrate density is set to 940 kg/m3. The hydrate particle diameter is 0.001 m. See section 1.2.4 for further info about the plug-in DLL PVT-property models.

Under Library, UDPHASE has been added. LABEL has been set to “HYDRATE”, TYPE=PARTICLE, PARTDIAMETER = 0.001 m and PARTDENSITY = 940 kg/m3.

4. The case is set up to use INITIALCONDITIONS. Initially the pipe is filled with gas, oil and water, and no

Under FLOWPATH:BRAN-1/Boundary&InitialConditions/INITIALCONDITIONS[1]/User Defined, UDGROUP= HYDRATE-INIT has been chosen.

5. There is no inflow of hydrates in this case. Only hydrate formation within the pipeline. It is thus not necessary to specify hydrate inflow for the source. However, In order to illustrate how to enter hydrates from a source, the hydrate inflow has explicitly been defined to zero for the source in the first pipe section, by using a zero hydrate fraction for all layers.

At case level, UserDefined/UDGROUP has been added. UDGROUP label =” HYDRATE-SOURCE”

Under UDPhasesAndDispersions/UDFRACTION[1], TIME = 0, MASSFRACTION = 0 has been set.

LAYER = GAS has been chosen. For PHASE, HYDRATE has been chosen.

Under UDPhasesAndDispersions, UDFRACTION[2 ] has been added, TIME = 0, MASSFRACTION = 0.

LAYER = OIL has been chosen. For PHASE, HYDRATE has been chosen.

Under UDPhasesAndDispersions, UDFRACTION[3 ] has been added, TIME = 0, MASSFRACTION = 0.

LAYER = WATER has been chosen. PHASE = HYDRATE.

Source entry: At FLOWPATH: BRAN-1/Boundary&InitialConditions/SOURCE:SOURCE-1-1, UDGROUP=

HYDRATE -SOURCE has been chosen.

6. The hydrate curve information is provided through a table file which is read by the plug-in DLL. The format of the table file is dictated by the plug-in DLL. The hydrate curve is given through the OLGA input in the FILES UDPVTFILE field. FILES UDPVTFILE is a string vector, so it is possible to give multiple input files in a simulation. BRANCH and NODE both have a key named UDPVTFILE where the user can select which file is used. It is therefore possible to use different hydrate curves in different branches of a network simulation.

Under CaseDefinition/FILES, “HydrateTutorial.tab” has been chosen through the UDPVTFILE file browser.

7. In order to refer to the hydrate curve for the fluid in a given branch, it is necessary to refer to the table file used by the plug-in DLL which is applied for the specific branch.

Under FlowComponent/FLOWPATH:BRAN-1/Piping/BRANCH, UDPVTFILE= HydrateTutorial.tab has been chosen.

8. Plotting of results:

The variables P-G, P-HOL, P-M, P-Q, P-U, P-US have been specified for FLOWPATH: BRAN-1/Output, PROFILEDATA. PHASE = HYDRATE. As we are going to inspect the oil layer, FLOWLAYER = OIL has been specified in this case.

The hydrate formation and propagation through the pipeline can be inspected by plotting e.g. the following profile variable: HOL_HydrateInOil. The variable name is a composite name based on the generic P-HOL (holdup for UD dispersed phase), the UD dispersion phase name (Hydrate) and the layer where it is located (InOil). The other “P-“ variables have the same composite structure.

The effect of hydrate particles on oil viscosity can be seen by plotting the following profile variables in the same plot: VISHLEFF and VISHL.

Pigging

The hydrate equilibrium is given as a tabulation of temperature and pressure. The hydrate curve must be user given. The following format is chosen:

Here “<Hydrate curve (C, Bar)>” is a tag telling how the temperature and pressure data is given. “31” is the number of data points given.

An example of a hydrate curve is given in the HydrateTutorial.tab. The HydrateTutorial.tab is used in the HydrateTutorial.opi.

Formation of hydrate if the temperature drops below the hydrate equilibrium temperature

When the fluid temperature ( ) drops below the hydrate equilibrium temperature ( ), hydrate particles will form according to the hydrate reaction.

(1.5)

Here is the stoichiometric constant in the hydrate reaction. is the time step and is the phase mass per section volume.

Distribution of phase mass on fields:

The reacted mass rates are given as overall phase values. These phase values must be distributed to fields. To distribute the phase values, we use the following logic:

 The hydrate particles is only present in the oil layer.

 Gas and water field masses are distributed based on field mass fractions (field mass / phase mass).

 If the gas or water phase mass is missing, the mass is distributed equally on all fields.

Increased oil viscosity

The effective viscosity of the hydrate-oil dispersion is higher than the pure oil viscosity. The effective viscosity is used in the friction calculations in OLGA, and the dispersion viscosity will give a higher pressure drop over the pipeline. The effective oil viscosity will be modeled with the Krieger-Dougherty correlation.

Where is the oil viscosity without particles, is the particle volumetric concentration in water and is the maximum concentration set to 0.65.

Hydrate PVT properties Hydrate enthalpy:

(1.7)

Where is the enthalpy and is the constant heat of reaction assumed to be 4.088e6 J/kg. The heat capacity, partial enthalpy with respect to pressure, partial enthalpy with respect to temperature and entropy is derived from the enthalpy equation.

Hydrate heat capacity:

Pigging

(1.8)

Hydrate density:

(1.9)

Hydrate thermal conductivity:

(1.10)

Hydrate viscosity:

(1.11)

In document OLGA Sample Cases (Page 60-65)

Related documents