pyrestoolbox


Namepyrestoolbox JSON
Version 2.1.3 PyPI version JSON
download
home_pagehttps://github.com/mwburgoyne/pyResToolbox
SummarypyResToolbox - A collection of Reservoir Engineering Utilities
upload_time2024-12-28 02:07:38
maintainerNone
docs_urlNone
authorMark W. Burgoyne
requires_pythonNone
licenseNone
keywords restoolbox petroleum reservoir
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            `pyrestoolbox`
==============

\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
A collection of Reservoir Engineering Utilities
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

This set of functions focuses on those that the author uses often while
crafting programming solutions. These are the scripts that are often
copy/pasted from previous work - sometimes slightly modified - resulting
in a trail of slightly different versions over the years. Some attempt
has been made here to make this implementation flexible enough such that
it can be relied on as-is going forward.

Note: Version 2.x now refactors functions into different modules, requiring seperate imports

Includes functions to perform simple calculations including;

-   Inflow for oil and gas
-   PVT Calculations for oil
-   PVT calculation for gas
-   Return critical parameters for typical components
-   Creation of Black Oil Table information
-   Creation of layered permeability distribution consistent with a
    Lorenz heterogeneity factor
-   Extract problem cells information from Intesect (IX) print files
-   Generation of AQUTAB include file influence functions for use in
    ECLIPSE
-   Creation of Corey and LET relative permeability tables in Eclipse
    format
-   Calculation of Methane and CO2 saturated brine properties

Apologies in advance that it is only in oilfield
units with no current plans to add universal multi-unit support.

Changelist in 2.1.3:
- Updated viscosity parameters for BUR method.

Changelist in 2.1.2:
- Fixed bug in implementation of Velarde, Blasingame & McCain Oil Rs calculation.

Changelist in 2.1.0:
- Fixed variable Typing issue that caused problems with Python 3.9 and older.
- Added reference to the Burgoyne ('BUR') methods for gas Z-Factor and critical property correlation

Changelist in 2.0.0:
- Modified the new Z-Factor method, 'BUR', now a tuned five component Peng Robinson method that is fast and stable and able to handle up to 100% of CO2, H2S, N2 or H2 as well as natural gas. Viscosities are calculated with a tuned LBC model.
- Refactored all code to split into modules for ease of future maintenance

Changelist in 1.4.4:
- Added in new Z-Factor method, 'BUR', which is a tuned single component Peng Robinson method that is fast and stable 


Changelist in 1.4.2:
- Corrected CO2 solubility calculations when two roots in CO2 liquid phase

Changelist in 1.4.1:
- Added calculation of Ezrokhi coefficients for brine density and viscosity with dissolved CO2

Changelist in 1.4.0:
- Introduced CO2 saturated brine calculations using Spycher & Pruess modified SRK EOS method
- Rectified an error introduced in Gas Z-Factor calculations due to errant indentation

Changelist in 1.3.9:
- Tweaks to speed DAK and Hall & Yarborough Z-Factor calculations

Changelist in 1.3.8:
- Fix bug in Hall & Yarborough Z-Factor calculation

Changelist in 1.3.5:
- Fix bug in ECL deck zip/check recursion

Changelist in 1.3.4:
- Extend ECL deck zip/check function to handle IX formatted decks, and support zipping multiple decks at once.

Changelist in 1.3.2:
- Added robust Rachford Rice solver in Simulation Helpers
- Moved relative permeability functions and simulation helpers to seperate .simtools module

Changelist in 1.2.0
- Added Component Critical Property Library

Changelist in v1.1.4:
- Attempting to fix reported issue with required dependencies not installing correctly

Changelist in v1.1:
- Fix API to SG calculation (141.4 vs 141.5)
- Added lower limit to first rho_po estimate for Oil Density with McCain method to avoid negative values with high Rs
- Added oil_sg and oil_api functions
- Modified HY Z-Factor solve algorithm to improve robustness
- Modified DAK Z-Factor solve algorithm to improve robustness
- Added Gas Z-Factor correlation from Wang, Ye & Wu (2021)
- Removed 'LIN' Z-Factor method due to significant errors above 12,000 psi. Use WYW method instead if speed needed.

Head to the project site for more information & documentation;
https://github.com/mwburgoyne/pyResToolbox

Start by importing the package;
from pyrestoolbox import pyrestoolbox as rtb

Function List includes
-------------

-   Gas Flow Rate Radial    
-   Gas Flow Rate Linear    
-   Oil Flow Rate Radial    
-   Oil Flow Rate Linear    
----------------------------
-   Gas Tc & Pc Calculation 
-   Gas Z-Factor            
    Calculation             
-   Gas Viscosity           
-   Gas Viscosity \* Z      
-   Gas Compressibility     
-   Gas Formation Volume Factor                  
-   Gas Density             
-   Gas Water of Condensation            
-   Convert P/Z to P        
-   Convert Gas Gradient to SG                      
-   Delta Pseudopressure    
-   Gas Condensate FWS SG   
----------------------------
-   Component Critical Properties Library
----------------------------
-   Oil Density from MW     
-   Oil Critical Properties with Twu                
-   Incrememtal GOR post Separation              
-   Oil Bubble Point Pressure                
-   Oil GOR at Pb           
-   Oil GOR at P            
-   Oil Compressibility     
-   Oil Density             
-   Oil Formation Volume Factor                  
-   Oil Viscosity           
-   Generate Black Oil Table data              
-   Estimate soln gas SG from oil                
-   Estimate SG of gas post separator               
-   Calculate weighted average surface gas SG  
-   Oil API to SG              
-   Oil SG to API
----------------------------
-   Calculate suite of methane saturated brine properties  
-   Calculate suite of CO2 saturated brine properties   
----------------------------
-   Lorenz coefficient from Beta value                   
-   Lorenz coefficient from flow fraction                
-   Lorenz coefficient to flow fraction                
-   Lorenz coefficient to permeability array      
----------------------------
-   Summarize IX convergence errors from PRT file                
-   Create Aquifer Influence Functions     
-   Solve Rachford Rice for user specified feed Zis and Ki's 
-   Create sets of rel perm tables                  
                            
   

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mwburgoyne/pyResToolbox",
    "name": "pyrestoolbox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "restoolbox, petroleum, reservoir",
    "author": "Mark W. Burgoyne",
    "author_email": "mark.w.burgoyne@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/82/68/d40c1080b7873092c00f749b3cd63acde6eac27a13e5a45e4c9ee353ddb7/pyrestoolbox-2.1.3.tar.gz",
    "platform": null,
    "description": "`pyrestoolbox`\r\n==============\r\n\r\n\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\--\r\nA collection of Reservoir Engineering Utilities\r\n\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\--\r\n\r\nThis set of functions focuses on those that the author uses often while\r\ncrafting programming solutions. These are the scripts that are often\r\ncopy/pasted from previous work - sometimes slightly modified - resulting\r\nin a trail of slightly different versions over the years. Some attempt\r\nhas been made here to make this implementation flexible enough such that\r\nit can be relied on as-is going forward.\r\n\r\nNote: Version 2.x now refactors functions into different modules, requiring seperate imports\r\n\r\nIncludes functions to perform simple calculations including;\r\n\r\n-   Inflow for oil and gas\r\n-   PVT Calculations for oil\r\n-   PVT calculation for gas\r\n-   Return critical parameters for typical components\r\n-   Creation of Black Oil Table information\r\n-   Creation of layered permeability distribution consistent with a\r\n    Lorenz heterogeneity factor\r\n-   Extract problem cells information from Intesect (IX) print files\r\n-   Generation of AQUTAB include file influence functions for use in\r\n    ECLIPSE\r\n-   Creation of Corey and LET relative permeability tables in Eclipse\r\n    format\r\n-   Calculation of Methane and CO2 saturated brine properties\r\n\r\nApologies in advance that it is only in oilfield\r\nunits with no current plans to add universal multi-unit support.\r\n\r\nChangelist in 2.1.3:\r\n- Updated viscosity parameters for BUR method.\r\n\r\nChangelist in 2.1.2:\r\n- Fixed bug in implementation of Velarde, Blasingame & McCain Oil Rs calculation.\r\n\r\nChangelist in 2.1.0:\r\n- Fixed variable Typing issue that caused problems with Python 3.9 and older.\r\n- Added reference to the Burgoyne ('BUR') methods for gas Z-Factor and critical property correlation\r\n\r\nChangelist in 2.0.0:\r\n- Modified the new Z-Factor method, 'BUR', now a tuned five component Peng Robinson method that is fast and stable and able to handle up to 100% of CO2, H2S, N2 or H2 as well as natural gas. Viscosities are calculated with a tuned LBC model.\r\n- Refactored all code to split into modules for ease of future maintenance\r\n\r\nChangelist in 1.4.4:\r\n- Added in new Z-Factor method, 'BUR', which is a tuned single component Peng Robinson method that is fast and stable \r\n\r\n\r\nChangelist in 1.4.2:\r\n- Corrected CO2 solubility calculations when two roots in CO2 liquid phase\r\n\r\nChangelist in 1.4.1:\r\n- Added calculation of Ezrokhi coefficients for brine density and viscosity with dissolved CO2\r\n\r\nChangelist in 1.4.0:\r\n- Introduced CO2 saturated brine calculations using Spycher & Pruess modified SRK EOS method\r\n- Rectified an error introduced in Gas Z-Factor calculations due to errant indentation\r\n\r\nChangelist in 1.3.9:\r\n- Tweaks to speed DAK and Hall & Yarborough Z-Factor calculations\r\n\r\nChangelist in 1.3.8:\r\n- Fix bug in Hall & Yarborough Z-Factor calculation\r\n\r\nChangelist in 1.3.5:\r\n- Fix bug in ECL deck zip/check recursion\r\n\r\nChangelist in 1.3.4:\r\n- Extend ECL deck zip/check function to handle IX formatted decks, and support zipping multiple decks at once.\r\n\r\nChangelist in 1.3.2:\r\n- Added robust Rachford Rice solver in Simulation Helpers\r\n- Moved relative permeability functions and simulation helpers to seperate .simtools module\r\n\r\nChangelist in 1.2.0\r\n- Added Component Critical Property Library\r\n\r\nChangelist in v1.1.4:\r\n- Attempting to fix reported issue with required dependencies not installing correctly\r\n\r\nChangelist in v1.1:\r\n- Fix API to SG calculation (141.4 vs 141.5)\r\n- Added lower limit to first rho_po estimate for Oil Density with McCain method to avoid negative values with high Rs\r\n- Added oil_sg and oil_api functions\r\n- Modified HY Z-Factor solve algorithm to improve robustness\r\n- Modified DAK Z-Factor solve algorithm to improve robustness\r\n- Added Gas Z-Factor correlation from Wang, Ye & Wu (2021)\r\n- Removed 'LIN' Z-Factor method due to significant errors above 12,000 psi. Use WYW method instead if speed needed.\r\n\r\nHead to the project site for more information & documentation;\r\nhttps://github.com/mwburgoyne/pyResToolbox\r\n\r\nStart by importing the package;\r\nfrom pyrestoolbox import pyrestoolbox as rtb\r\n\r\nFunction List includes\r\n-------------\r\n\r\n-   Gas Flow Rate Radial    \r\n-   Gas Flow Rate Linear    \r\n-   Oil Flow Rate Radial    \r\n-   Oil Flow Rate Linear    \r\n----------------------------\r\n-   Gas Tc & Pc Calculation \r\n-   Gas Z-Factor            \r\n    Calculation             \r\n-   Gas Viscosity           \r\n-   Gas Viscosity \\* Z      \r\n-   Gas Compressibility     \r\n-   Gas Formation Volume Factor                  \r\n-   Gas Density             \r\n-   Gas Water of Condensation            \r\n-   Convert P/Z to P        \r\n-   Convert Gas Gradient to SG                      \r\n-   Delta Pseudopressure    \r\n-   Gas Condensate FWS SG   \r\n----------------------------\r\n-   Component Critical Properties Library\r\n----------------------------\r\n-   Oil Density from MW     \r\n-   Oil Critical Properties with Twu                \r\n-   Incrememtal GOR post Separation              \r\n-   Oil Bubble Point Pressure                \r\n-   Oil GOR at Pb           \r\n-   Oil GOR at P            \r\n-   Oil Compressibility     \r\n-   Oil Density             \r\n-   Oil Formation Volume Factor                  \r\n-   Oil Viscosity           \r\n-   Generate Black Oil Table data              \r\n-   Estimate soln gas SG from oil                \r\n-   Estimate SG of gas post separator               \r\n-   Calculate weighted average surface gas SG  \r\n-   Oil API to SG              \r\n-   Oil SG to API\r\n----------------------------\r\n-   Calculate suite of methane saturated brine properties  \r\n-   Calculate suite of CO2 saturated brine properties   \r\n----------------------------\r\n-   Lorenz coefficient from Beta value                   \r\n-   Lorenz coefficient from flow fraction                \r\n-   Lorenz coefficient to flow fraction                \r\n-   Lorenz coefficient to permeability array      \r\n----------------------------\r\n-   Summarize IX convergence errors from PRT file                \r\n-   Create Aquifer Influence Functions     \r\n-   Solve Rachford Rice for user specified feed Zis and Ki's \r\n-   Create sets of rel perm tables                  \r\n                            \r\n   \r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "pyResToolbox - A collection of Reservoir Engineering Utilities",
    "version": "2.1.3",
    "project_urls": {
        "Homepage": "https://github.com/mwburgoyne/pyResToolbox"
    },
    "split_keywords": [
        "restoolbox",
        " petroleum",
        " reservoir"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dffb9aae05e96a4f7e24d9633e5d51cfbf973e6e05636dfd9a95d58dfa90d38d",
                "md5": "a5d88cc6109716fe028631a796299736",
                "sha256": "fca7ba3f934ee18e627eebd5f2296508020216f492a92e4c65fe6cbfe696fca5"
            },
            "downloads": -1,
            "filename": "pyrestoolbox-2.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a5d88cc6109716fe028631a796299736",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 677324,
            "upload_time": "2024-12-28T02:07:34",
            "upload_time_iso_8601": "2024-12-28T02:07:34.637493Z",
            "url": "https://files.pythonhosted.org/packages/df/fb/9aae05e96a4f7e24d9633e5d51cfbf973e6e05636dfd9a95d58dfa90d38d/pyrestoolbox-2.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8268d40c1080b7873092c00f749b3cd63acde6eac27a13e5a45e4c9ee353ddb7",
                "md5": "424537ebc63198ae627f439ae8ae8b3c",
                "sha256": "0e8638f9d52c6c32ee48f184c29ed83e25eb8f64d5f3b84909a8259d3a6cfe8b"
            },
            "downloads": -1,
            "filename": "pyrestoolbox-2.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "424537ebc63198ae627f439ae8ae8b3c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 677473,
            "upload_time": "2024-12-28T02:07:38",
            "upload_time_iso_8601": "2024-12-28T02:07:38.031898Z",
            "url": "https://files.pythonhosted.org/packages/82/68/d40c1080b7873092c00f749b3cd63acde6eac27a13e5a45e4c9ee353ddb7/pyrestoolbox-2.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-28 02:07:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mwburgoyne",
    "github_project": "pyResToolbox",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyrestoolbox"
}
        
Elapsed time: 0.83036s