Skip to content

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