Rock Frame
digirock.RockFrame
Base Class for defining rock frame models all new rock frames should be based upon this class.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
name of the model |
blend_keys |
list |
Keys to use for blending |
elements |
list |
A list of elements |
methods |
list |
A list of methods each element must have |
n_elements |
int |
The number of elements |
__init__(self, blend_keys, elements, name=None)
special
Elements must implement density()
, vp()
, vs()
, shear_modulus()
, bulk_modulus()
, shear_modulus()
Parameters:
Name | Type | Description | Default |
---|---|---|---|
blend_keys |
Sequence[str] |
required | |
elements |
Sequence[Type[digirock._base.Element]] |
required | |
methods |
required | ||
name |
Name of the rock frame |
None |
bulk_modulus(self, props, **kwargs)
Returns bulk modulus of RockFrame
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
kwargs |
ignored |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
bulk modulus (GPa). |
density(self, props, **kwargs)
Returns density of RockFrame using volume fraction average, see [mixed_denisty][digirock.models._mod.mixed_density].
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
kwargs |
ignored |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
density (g/cc) |
shear_modulus(self, props, **kwargs)
Returns shear modulus of RockFrame
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
kwargs |
ignored |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
shear modulus (GPa). |
vp(self, props, **kwargs)
Returns compression velocity of RockFrame
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
kwargs |
ignored |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
velocity (m/s). |
vs(self, props, **kwargs)
Returns shear velocity of RockFrame
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
kwargs |
ignored |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
velocity (m/s). |
digirock.VRHAvg
Voight-Reuss-Hill Averaging Class for combing mineral mixes based upon averaging.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
name of the model |
blend_keys |
list |
Keys to use for blending |
elements |
list |
A list of elements |
methods |
list |
A list of methods each element must have |
n_elements |
int |
The number of elements |
__init__(self, blend_keys, elements, name=None)
special
Elements must implement density()
, vp()
, vs()
, shear_modulus()
, bulk_modulus()
, shear_modulus()
Parameters:
Name | Type | Description | Default |
---|---|---|---|
blend_keys |
List[str] |
props keys needed for blending calcs |
required |
elements |
List[Type[digirock._base.Element]] |
elements to add to vrh averaging |
required |
name |
Name of the model |
None |
bulk_modulus(self, props, **kwargs)
Returns bulk modulus of VRH average
props
must contain a volume fraction for each element
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required |
required |
kwargs |
passed to elements |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
Bulk modulus |
shear_modulus(self, props, **kwargs)
Returns shear modulus of VRH average
props
must contain a volume fraction for each element
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required |
required |
kwargs |
passed to elements |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
Shear modulus |
digirock.HSWAvg
Hashin-Striktman Averaging (can include a Fluid as element referenced to porosity.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
name of the model |
blend_keys |
list |
Keys to use for blending |
elements |
list |
A list of elements |
methods |
list |
A list of methods each element must have |
n_elements |
int |
The number of elements |
__init__(self, blend_keys, elements, name=None)
special
Hashin-Striktman Averaging Type Frame for two phase systems.
Elements must implement density()
, vp()
, vs()
, shear_modulus()
, bulk_modulus()
, shear_modulus()
Parameters:
Name | Type | Description | Default |
---|---|---|---|
blend_keys |
List[str] |
props keys needed by blending calcs |
required |
elements |
List[Type[digirock._base.Element]] |
length 2 list of elements |
required |
name |
Name of the model |
None |
bulk_modulus(self, props, **kwargs)
Returns bulk modulus
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
**kwargs |
passed to elements |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
Bulk Modulus |
shear_modulus(self, props, **kwargs)
Returns bulk modulus
Parameters:
Name | Type | Description | Default |
---|---|---|---|
props |
Dict[str, Union[numpy.ndarray, float, int]] |
A dictionary of properties required. |
required |
**kwargs |
passed to elements |
{} |
Returns:
Type | Description |
---|---|
Union[numpy.ndarray, float] |
Bulk Modulus |
digirock.CementedSand
Cemented Sand dry rock for sand and cement system
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
name of the model |
blend_keys |
list |
Keys to use for blending |
elements |
list |
A list of elements |
methods |
list |
A list of methods each element must have |
n_elements |
int |
The number of elements |
__init__(self, sand_vfrac_key, sand, cement_vfrac_key, cement, ncontacts=9, alpha='scheme1', name=None)
special
Cemented Sand dry rock Type Frame for two phase systems (Sand, Cement).
Elements must implement density()
, vp()
, vs()
, shear_modulus()
, bulk_modulus()
, shear_modulus()
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sand_vfrac_key |
str |
props key for sand |
required |
sand |
Type[digirock._frames._minerals.Mineral] |
sand element |
required |
cement_vfrac_key |
str |
props key for cement |
required |
cement |
Type[digirock._frames._minerals.Mineral] |
cement element |
required |
ncontacts |
int |
number of sand grain contacts |
9 |
alpha |
Union[str, float] |
the cemented sand scheme to use |
'scheme1' |
name |
name of the model |
None |
bulk_modulus(self, props, **kwargs)
Bulk modulus for Cemented Sand
density(self, props, **kwargs)
Frame density accounting for porosity
shear_modulus(self, props, **kwargs)
Shear modulus for Cemented Sand