Methane Solubility
Given pressure (in MPa), Temperature (in Kelvin) and Salinity (in either mol/kg or parts per thousand), this function uses the formulae in Tischenko et al (2005) and Duan et al (1992, 2006) to calculate the solubility of methane inside and outside the methane hydrate stability field.
This function will compute solubilities either over a range of pressures, temperatures or salinities, or for discrete pressure, temperature, salinity points. Two demonstration can be seen using the following code:
To calculate solubility over a range of conditions:
P = [5:.5:15]';
T = [273:.5:293]';
S = [0:10:30];
SalinityUnits = 'ppt';
Datatype = 'range';
NetCH4Solubility = MethaneSolubility(P,T,S,SalinityUnits,Datatype);
surf(T,P,NetCH4Solubility(:,:,1))
xlabel('Temperature (K)')
ylabel('Pressure (MPa)')
zlabel('Methane Solubility (moles CH4 per kg water)')
To calculate solubility for discrete data points:
P = [5:.5:15]';
T = [273:1:293]';
S = [0:1:20]';
SalinityUnits = 'ppt';
Datatype = 'points';
NetCH4Solubility = MethaneSolubility(P,T,S,SalinityUnits,Datatype);
plot(T,NetCH4Solubility,'bo')
Cite As
William Waite (2024). Methane Solubility (https://www.mathworks.com/matlabcentral/fileexchange/36963-methane-solubility), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: progressbar, X Steam, Thermodynamic properties of water and steam.
Inspired: Methane Hydrate Stability Toolbox
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.2.0.0 | This version updates the U.S. Geological Survey disclaimer. |
||
1.1.0.0 | This update is only to ensure the acknowledgments written in the script are also included on the Mathworks download page. "Methane Solubility" gratefully acknowledges the XSteam script by Magnus Holmgren and the Progressbar script by Steve Hoelzer. |
||
1.0.0.0 |