# MethaneFluidProperties

Fluid properties for methane (CH4)

Fluid properties for methane are mainly calculated using the Setzmann and Wagner equation of state (Setzmann and Wagner, 1991). This formulation uses density and temperature as the primary variables with which to calculate properties such as density, enthalpy and internal energy.

When used with the pressure and temperature interface, which is the case in the Porous Flow module, methane properties are typically calculated by first calculating density iteratively for a given pressure and temperature. This density is then used to calculate the other properties, such as internal energy, directly. The computational expense associated with the iterative calculation can be mitigated using TabulatedFluidProperties.

For low pressures (typically less than 10 MPa), the properties of methane can be approximated using an ideal gas, which are much faster to calculate. However, at higher pressures, this approximation can lead to large differences, see Figure 1.

Figure 1: Methane density at 350K for various pressures.

Transport properties such as viscosity and thermal conductivity are calculated using the formulations provided in Irvine Jr and Liley (1984).

Dissolution of methane into water is calculated using Henry's law (IAPWS, 2004).

## Properties of methane

Propertyvalue
Molar mass0.0160425 kg/mol
Critical temperature190.564 K
Critical pressure4.5992 MPa
Critical density162.66 kg/m
Triple point temperature90.6941 K
Triple point pressure0.01169 MPa

## Range of validity

The MethaneFluidProperties UserObject is valid for:

• 90.69 K T 625 K

and pressures up to 100 MPa.

## Input Parameters

• execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

Default:TIMESTEP_END

C++ Type:ExecFlagEnum

Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL CUSTOM

Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

### Optional Parameters

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Options:

Description:Adds user-defined labels for accessing object parameters via control logic.

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Options:

Description:Set the enabled status of the MooseObject.

• allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

Default:False

C++ Type:bool

Options:

Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

• force_preauxFalseForces the GeneralUserObject to be executed in PREAUX

Default:False

C++ Type:bool

Options:

Description:Forces the GeneralUserObject to be executed in PREAUX

• use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Default:False

C++ Type:bool

Options:

Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

1. IAPWS. Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H$_2$O and D$_2$O at high temperatures. Technical Report, IAPWS, 2004.[BibTeX]