pyrestoolbox


Namepyrestoolbox JSON
Version 2.1.1 PyPI version JSON
download
home_pagehttps://github.com/mwburgoyne/pyResToolbox
SummarypyResToolbox - A collection of Reservoir Engineering Utilities
upload_time2024-11-01 06:23:44
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.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/6b/09/f3559912ef4dcdb6247fa41428c104586bb74f029b4a96b654e50da8d55a/pyrestoolbox-2.1.1.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\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.1",
    "project_urls": {
        "Homepage": "https://github.com/mwburgoyne/pyResToolbox"
    },
    "split_keywords": [
        "restoolbox",
        " petroleum",
        " reservoir"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47318643ad8d46cc5774fa85bae5f084391c4498e6c62847896bdeb4ef7ae2ca",
                "md5": "15cf60f4328d85ee79db0d2c851d5551",
                "sha256": "737db5c95f3ff249be34c2742d2b78807342b13f410433cc19f4ac3cd85b4310"
            },
            "downloads": -1,
            "filename": "pyrestoolbox-2.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "15cf60f4328d85ee79db0d2c851d5551",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 873965,
            "upload_time": "2024-11-01T06:23:41",
            "upload_time_iso_8601": "2024-11-01T06:23:41.458857Z",
            "url": "https://files.pythonhosted.org/packages/47/31/8643ad8d46cc5774fa85bae5f084391c4498e6c62847896bdeb4ef7ae2ca/pyrestoolbox-2.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b09f3559912ef4dcdb6247fa41428c104586bb74f029b4a96b654e50da8d55a",
                "md5": "0e95e592d6569bc9a0a1950736cea0ee",
                "sha256": "5a454ac27cbd047cd19b380b559adb789c27231ccd1b644bc324704e0494ac97"
            },
            "downloads": -1,
            "filename": "pyrestoolbox-2.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0e95e592d6569bc9a0a1950736cea0ee",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 854523,
            "upload_time": "2024-11-01T06:23:44",
            "upload_time_iso_8601": "2024-11-01T06:23:44.426997Z",
            "url": "https://files.pythonhosted.org/packages/6b/09/f3559912ef4dcdb6247fa41428c104586bb74f029b4a96b654e50da8d55a/pyrestoolbox-2.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-01 06:23:44",
    "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.74457s