Two-phase immiscible fluid model

Overview

This model represents a two-phase immiscible fluid with pressure-dependent density and viscosity.

For each phase, both density and viscosity are described as tabulated data, either in the form of TableFunction or text files.

In the case of text files, one file is expected per phase and should consist of three columns: pressure, density and viscosity.

Note that currently, there is no temperature dependence in the model.

Parameters

The model is represented by <TwoPhaseImmiscibleFluid> node in the input.

The following attributes are supported:

XML Element: TwoPhaseImmiscibleFluid

Name

Type

Default

Description

densityTableNames

groupNameRef_array

{}

List of density TableFuncion names from the Function block.
The user must provide one TableFunction per phase, respecting the order provided in “phaseNames”.

name

groupName

required

A name is required for any non-unique nodes

phaseNames

groupNameRef_array

{}

List of fluid phases

tableFiles

path_array

{}

List of filenames with input PVT tables (one per phase)

viscosityTableNames

groupNameRef_array

{}

List of viscosity TableFuncion names from the Function block.
The user must provide one TableFunction per phase, respecting the order provided in “phaseNames”.

Example using TableFunctions

<Constitutive>
  <TwoPhaseImmiscibleFluid
    name="fluid"
    phaseNames="{ oil, water }"
    densityTableNames="{ densityTableOil, densityTableWater }"
    viscosityTableNames="{ viscosityTableOil, viscosityTableWater }" />
</Constitutive>

<Functions>
  <TableFunction
    name="densityTableOil"
    coordinateFiles="{ pres_pvdo.txt }"
    voxelFile="dens_pvdo.txt"
    interpolation="linear" />

  <TableFunction
    name="viscosityTableOil"
    coordinateFiles="{ pres_pvdo.txt }"
    voxelFile="visc_pvdo.txt"
    interpolation="linear" />

  <TableFunction
    name="densityTableWater"
    coordinates="{ 2068000, 5516000, 30600000, 55160000 }"
    values="{ 980.683, 982.07, 992.233, 1002.265 }"
    interpolation="linear" />

  <TableFunction
    name="viscosityTableWater"
    coordinates="{ 0 }"
    values="{ 0.0003 }"
    interpolation="linear" />
</Functions>

Example using text files

<Constitutive>
  <TwoPhaseImmiscibleFluid
    name="fluid"
    phaseNames="{ oil, water }"
    tableNames="{ oil.txt, water.txt }" />
</Constitutive>

with, for example, water.txt being set as:

#  P(Pa) Dens(kg/m3) Visc(Pa.s)
 2068000     980.683     0.0003
 5516000      982.07     0.0003
30600000     992.233     0.0003
55160000    1002.265     0.0003