Gassmann
In [1]:
Copied!
from digirock import GassmannRock, VRHAvg, Mineral, WaterBW92, OilBW92, NurCriticalPoroAdjust, WoodsFluid
from digirock.utils import create_orthogonal_props
from digirock import GassmannRock, VRHAvg, Mineral, WaterBW92, OilBW92, NurCriticalPoroAdjust, WoodsFluid
from digirock.utils import create_orthogonal_props
In [2]:
Copied!
sand = Mineral(2.7, 29.9, 22.5)
clay = Mineral(2.51, 22, 9.4)
rf = VRHAvg(["VSAND", "VCLAY"], [sand, clay])
pn = NurCriticalPoroAdjust(["poro"], rf, 0.39)
wat = WaterBW92(name="water", salinity=100000)
oil = OilBW92("norst", api=35, gas_sg=0.6)
oil.set_rst(100)
woods = WoodsFluid(["SWAT", "SOIL"], [wat, oil], name="wfl")
gr = GassmannRock(pn, rf, woods, name="myrock")
sand = Mineral(2.7, 29.9, 22.5)
clay = Mineral(2.51, 22, 9.4)
rf = VRHAvg(["VSAND", "VCLAY"], [sand, clay])
pn = NurCriticalPoroAdjust(["poro"], rf, 0.39)
wat = WaterBW92(name="water", salinity=100000)
oil = OilBW92("norst", api=35, gas_sg=0.6)
oil.set_rst(100)
woods = WoodsFluid(["SWAT", "SOIL"], [wat, oil], name="wfl")
gr = GassmannRock(pn, rf, woods, name="myrock")
In [3]:
Copied!
gr.tree
gr.tree
Out[3]:
myrock
├── class : <class 'digirock._rock.GassmannRock'>
├── props_keys : ['poro']
├── blend_keys : ['poro']
├── methods : ('density', 'vp', 'vs', 'shear_modulus', 'bulk_modulus')
├── n_elements : 3
├── NurCriticalPoroAdjust_139793187792208
│ ├── class : <class 'digirock._frames._poro_adjust.NurCriticalPoroAdjust'>
│ ├── props_keys : ['poro']
│ ├── transform_keys : ['poro']
│ ├── methods : ('bulk_modulus', 'vp', 'vs', 'shear_modulus', 'density')
│ ├── critical_poro : 0.39
│ └── elements
│ └── VRHAvg_139793187792112
│ ├── class : <class 'digirock._frames._frames.VRHAvg'>
│ ├── props_keys : ['VSAND', 'VCLAY']
│ ├── blend_keys : ['VSAND', 'VCLAY']
│ ├── methods : ('density', 'vp', 'vs', 'shear_modulus', 'bulk_modulus')
│ ├── n_elements : 2
│ └── elements
│ ├── Mineral_139793187792016
│ │ ├── class : <class 'digirock._frames._minerals.Mineral'>
│ │ ├── props_keys : []
│ │ ├── bulk_modulus : 29.9
│ │ ├── shear_modulus : 22.5
│ │ ├── dens : 2.7
│ │ ├── vp : 4710.1151987170315
│ │ └── vs : 2886.751345948129
│ └── Mineral_139793187791920
│ ├── class : <class 'digirock._frames._minerals.Mineral'>
│ ├── props_keys : []
│ ├── bulk_modulus : 22
│ ├── shear_modulus : 9.4
│ ├── dens : 2.51
│ ├── vp : 3709.2182643789142
│ └── vs : 1935.205394866066
├── wfl
│ ├── class : <class 'digirock._fluids._fluid_mod.WoodsFluid'>
│ ├── props_keys : ['SWAT', 'SOIL']
│ ├── blend_keys : ['SWAT', 'SOIL']
│ ├── methods : ('density', 'bulk_modulus', 'shear_modulus', 'velocity')
│ ├── n_elements : 2
│ └── elements
│ ├── water
│ │ ├── class : <class 'digirock._fluids._water.WaterBW92'>
│ │ ├── props_keys : ['temp', 'pres']
│ │ └── salinity : 0.1
│ └── norst
│ ├── class : <class 'digirock._fluids._oil.OilBW92'>
│ ├── props_keys : ['bo', 'rs']
│ ├── api : 35
│ ├── std_density : 0.8498498498498499
│ └── rst
│ ├── type : constant
│ ├── rs : 100
│ └── pres : None
└── VRHAvg_139793187792112
├── class : <class 'digirock._frames._frames.VRHAvg'>
├── props_keys : ['VSAND', 'VCLAY']
├── blend_keys : ['VSAND', 'VCLAY']
├── methods : ('density', 'vp', 'vs', 'shear_modulus', 'bulk_modulus')
├── n_elements : 2
└── elements
├── Mineral_139793187792016
│ ├── class : <class 'digirock._frames._minerals.Mineral'>
│ ├── props_keys : []
│ ├── bulk_modulus : 29.9
│ ├── shear_modulus : 22.5
│ ├── dens : 2.7
│ ├── vp : 4710.1151987170315
│ └── vs : 2886.751345948129
└── Mineral_139793187791920
├── class : <class 'digirock._frames._minerals.Mineral'>
├── props_keys : []
├── bulk_modulus : 22
├── shear_modulus : 9.4
├── dens : 2.51
├── vp : 3709.2182643789142
└── vs : 1935.205394866066
In [4]:
Copied!
gr.trace_tree({"VCLAY":0.2, "poro":0.2, "SOIL": 0.5, "temp":110, "pres":20}, ["density", "bulk_modulus", "shear_modulus", "vp", "vs"])
gr.trace_tree({"VCLAY":0.2, "poro":0.2, "SOIL": 0.5, "temp":110, "pres":20}, ["density", "bulk_modulus", "shear_modulus", "vp", "vs"])
Out[4]:
myrock
├── density : [2.29896951]
├── bulk_modulus : [14.70819801]
├── shear_modulus : [9.12868979]
├── vp : [3419.37148074]
├── vs : [1992.68026332]
├── NurCriticalPoroAdjust_139793187792208
│ ├── density : 2.1296
│ ├── bulk_modulus : [13.6937683]
│ ├── shear_modulus : [9.12868979]
│ ├── vp : [3485.05952279]
│ ├── vs : [2070.40451248]
│ └── VRHAvg_139793187792112
│ ├── density : 2.662
│ ├── bulk_modulus : [28.10826124]
│ ├── shear_modulus : [18.73783694]
│ ├── vp : [4465.91750563]
│ ├── vs : [2653.11272176]
│ ├── Mineral_139793187792016
│ │ ├── density : 2.7
│ │ ├── bulk_modulus : 29.9
│ │ ├── shear_modulus : 22.5
│ │ ├── vp : 4710.1151987170315
│ │ └── vs : 2886.751345948129
│ └── Mineral_139793187791920
│ ├── density : 2.51
│ ├── bulk_modulus : 22
│ ├── shear_modulus : 9.4
│ ├── vp : 3709.2182643789142
│ └── vs : 1935.205394866066
├── wfl
│ ├── density : [0.84684753]
│ ├── bulk_modulus : [0.80607805]
│ ├── shear_modulus : 0.0
│ ├── vp : [975.63177547]
│ ├── vs : 0.0
│ ├── water
│ │ ├── density : 1.03265799
│ │ ├── bulk_modulus : [2.81319124]
│ │ ├── shear_modulus : 0.0
│ │ ├── vp : [1650.52221268]
│ │ └── vs : 0.0
│ └── norst
│ ├── density : [0.66103706]
│ ├── bulk_modulus : [0.52047762]
│ ├── shear_modulus : 0.0
│ ├── vp : [887.3360486]
│ └── vs : 0.0
└── VRHAvg_139793187792112
├── density : 2.662
├── bulk_modulus : [28.10826124]
├── shear_modulus : [18.73783694]
├── vp : [4465.91750563]
├── vs : [2653.11272176]
├── Mineral_139793187792016
│ ├── density : 2.7
│ ├── bulk_modulus : 29.9
│ ├── shear_modulus : 22.5
│ ├── vp : 4710.1151987170315
│ └── vs : 2886.751345948129
└── Mineral_139793187791920
├── density : 2.51
├── bulk_modulus : 22
├── shear_modulus : 9.4
├── vp : 3709.2182643789142
└── vs : 1935.205394866066
In [ ]:
Copied!