CO2FluidProperties

Fluid properties for carbon dioxide (CO2) using the Span & Wagner EOS

Fluid properties for CO are mainly calculated using the Span and Wagner equation of state (Span and Wagner, 1996). This formulation uses density and temperature as the primary variables with which to calculate properties such as density, enthalpy and internal energy. However, the Fluid Properties module uses pressure and temperature in its interface, which is suitable for use in the Porous Flow module. As a result, CO 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.

Viscosity is calculated using the formulation presented in Fenghour et al. (1998), while thermal conductivity is taken from Scalabrin et al. (2006).

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

Properties of COvar element = document.getElementById("moose-equation-bc8f52ef-2ecf-47c3-b001-7877439e4700");katex.render("_2", element, {displayMode:false,throwOnError:false});

Propertyvalue
Molar mass0.0440098 kg/mol
Critical temperature304.1282 K
Critical pressure7.3773 MPa
Critical density467.6 kg/m
Triple point temperature216.592 K
Triple point pressure0.51795 MPa

Range of validity

The CO2FluidProperties UserObject is valid for:

• 216.592 K T 1100 K for p 800 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.

2. 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]