Source code for gemini_model.fluid.pvt_water_stp

"""Simple water PVT properties near STP.

Provides constant representative properties for water at standard
conditions.
"""


[docs] class PVTConstantSTP: """Water PVT at standard conditions (constant properties).""" def __init__(self): """Initialize PVT water STP model.""" self.parameters = {} self.parameters["pressure_max"] = 500e5 self.parameters["pressure_min"] = 1e5 self.parameters["temperature_max"] = 100 + 273.15 self.parameters["temperature_min"] = 0 + 273.15 self.parameters["RHOG"] = 1.976 # CO2 gas density (kg/m3) self.parameters["RHOL"] = 1000 # H2O Liquid density (kg/m3) self.parameters["GMF"] = 0 # gas mass fraction (-) self.parameters["VISG"] = 21.29e-6 # CO2 Gas viscosity (Pa.s) self.parameters["VISL"] = 1e-3 # H2O viscosity (Pa.s) self.parameters["CPG"] = 0.819e3 # CO2 heat capacity (J/Kg K) self.parameters["CPL"] = 4.2174e3 # H2O Heat capacity (J/Kg K) self.parameters["HG"] = 484.665 # CO2 Enthalpy (KJ/Kg) self.parameters["HL"] = 0.000612 # H2O Enthalpy ((KJ/Kg) self.parameters["TCG"] = 14.7e-3 # CO2 thermal conductivity (W/m K) self.parameters["TCL"] = 1.6 # H2O thermal conductivity (W/m K) self.parameters["SIGMA"] = 72.8e-3 # Water-CO2 surface tension (N/m) self.parameters["SG"] = 9381.68 # CO2 Entropy (K/Kg K) self.parameters["SL"] = 0 # H2O Entropy (K/Kg K)
[docs] def update_parameters(self, parameters): """Update model parameters. Parameters ---------- parameters: dict Parameters dict as defined by the model. """ for key, value in parameters.items(): self.parameters[key] = value
[docs] def get_pvt(self, P, T): """Calculate the PVT parameters based on pressure and temperature. Parameters ---------- P : float Pressure (Pa). T : float Temperature (K). Returns ------- rho_g : float Gas density (kg/m3). rho_l : float Liquid density (kg/m3). gmf : float Gas mass fraction (-). eta_g : float Viscosity gas (Pa.s). eta_l : float Viscosity liquid (Pa.s). cp_g : float Heat capacity gas (J/Kg/K). cp_l : float Heat capacity liquid (J/Kg/K). K_g : float Thermal conductivity gas (W/m/K). K_l : float Thermal conductivity liquid (W/m/K). sigma : float Surface tension (N/m). """ # Density of Gas, Oil & Water. rho_l is a psuedo density of liquid phase rho_g = self.parameters["RHOG"] # density gas (kg/m3) rho_l = self.parameters["RHOL"] # density liquid (kg/m3) # Gas mass fraction of gas + water gmf = self.parameters["GMF"] # gas mass fraction (-) # Viscosity of Gas & Water eta_g = self.parameters["VISG"] # viscosity gas (Pa.s) eta_l = self.parameters["VISL"] # viscosity liquid (Pa.s) # Heat capacity of gas & liquid cp_g = self.parameters["CPG"] # heat capacity gas (J/Kg/K) cp_l = self.parameters["CPL"] # heat capacity liquid (J/Kg/K) # Thermal conductivity of gas & liquid K_g = self.parameters["TCG"] # thermal conductivity gas (W/m/K) K_l = self.parameters["TCL"] # thermal conductivity liquid (W/m/K) # Interfacial tension of Gas-Water & Gas-Oil interface sigma = self.parameters["SIGMA"] # Surface tension (N/m) return rho_g, rho_l, gmf, eta_g, eta_l, cp_g, cp_l, K_g, K_l, sigma