Model

class casingSimulations.model.BaseCasingParametersMixin(**kwargs)

Bases: casingSimulations.base.BaseCasing

Parameters used to set up a casing in a background. This class does not function on its own. It should be mixed in with the background model of your choice

Required Properties:

  • casing_d (Float): diameter of the casing (m), a float, Default: 0.1
  • casing_l (Float): length of the casing (m), a float, Default: 1000
  • casing_t (Float): thickness of the casing (m), a float, Default: 0.01
  • casing_top (Float): top of the casing (m), a float, Default: 0.0
  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string
  • mur_casing (Float): relative permeability of the casing, a float, Default: 100.0
  • sigma_casing (Float): conductivity of the casing (S/m), a float, Default: 5500000.0
  • sigma_inside (Float): conductivity of the fluid inside the casing (S/m), a float, Default: 1.0
  • version (String): version of the software, a unicode string, Default: 0.0.4
add_mur_casing(mesh, mur)

add relative magnetic permeability of the casing to the provided model :param discretize.BaseMesh mesh: a discretize mesh :param numpy.ndarray mur: relative magnetic permittivity model to modify :rtype: numpy.ndarray :return: relative magnetic permeability model with casing

add_sigma_casing(mesh, sigma)

add the conductivity of the casing to the provided conductivity model :param discretize.BaseMesh mesh: a discretize mesh :param numpy.ndarray sigma: electrical conductivity model to modify :rtype: numpy.ndarray :return: electrical conductivity model with casing

casing_a

Inner casing radius

Return type:float
casing_b

Outer casing radius

Return type:float
casing_d

casing_d (Float): diameter of the casing (m), a float, Default: 0.1

casing_l

casing_l (Float): length of the casing (m), a float, Default: 1000

casing_r

Casing radius

Return type:float
casing_t

casing_t (Float): thickness of the casing (m), a float, Default: 0.01

casing_top

casing_top (Float): top of the casing (m), a float, Default: 0.0

casing_z

z-extent of the casing

Return type:numpy.array
ind_casing(mesh)

indices of the cell centers of the casing

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
ind_inside(mesh)

indices of the cell centers of the inside portion of the casing

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
indx_casing(mesh)

x-indices of the casing

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
indx_inside(mesh)

x indicies of the inside of the casing

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
indz_casing(mesh)

z-indices of the casing

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
info_casing
mur_casing

mur_casing (Float): relative permeability of the casing, a float, Default: 100.0

sigma_casing

sigma_casing (Float): conductivity of the casing (S/m), a float, Default: 5500000.0

sigma_inside

sigma_inside (Float): conductivity of the fluid inside the casing (S/m), a float, Default: 1.0

class casingSimulations.model.CasingInHalfspace(filename=None, **kwargs)

Bases: casingSimulations.model.Halfspace, casingSimulations.model.BaseCasingParametersMixin

A model of casing in a halfspace

Required Properties:

  • casing_d (Float): diameter of the casing (m), a float, Default: 0.1
  • casing_l (Float): length of the casing (m), a float, Default: 1000
  • casing_t (Float): thickness of the casing (m), a float, Default: 0.01
  • casing_top (Float): top of the casing (m), a float, Default: 0.0
  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json
  • mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0
  • mur_casing (Float): relative permeability of the casing, a float, Default: 100.0
  • sigma_air (Float): conductivity of the air (S/m), a float, Default: 1e-06
  • sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01
  • sigma_casing (Float): conductivity of the casing (S/m), a float, Default: 5500000.0
  • sigma_inside (Float): conductivity of the fluid inside the casing (S/m), a float, Default: 1.0
  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]
  • surface_z (Float): elevation of the air-earth interface (m), a float, Default: 0
  • version (String): version of the software, a unicode string, Default: 0.0.4

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
mur(mesh)

put the permeability model on a mesh

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
sigma(mesh)

put the conductivity model on a mesh

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
class casingSimulations.model.CasingInSingleLayer(filename=None, **kwargs)

Bases: casingSimulations.model.SingleLayer, casingSimulations.model.BaseCasingParametersMixin

A model of casing in an earth that has a single layer

Required Properties:

  • casing_d (Float): diameter of the casing (m), a float, Default: 0.1
  • casing_l (Float): length of the casing (m), a float, Default: 1000
  • casing_t (Float): thickness of the casing (m), a float, Default: 0.01
  • casing_top (Float): top of the casing (m), a float, Default: 0.0
  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json
  • layer_z (Array): z-limits of the layer, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (2), Default: [-1000. -900.]
  • mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0
  • mur_casing (Float): relative permeability of the casing, a float, Default: 100.0
  • sigma_air (Float): conductivity of the air (S/m), a float, Default: 1e-06
  • sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01
  • sigma_casing (Float): conductivity of the casing (S/m), a float, Default: 5500000.0
  • sigma_inside (Float): conductivity of the fluid inside the casing (S/m), a float, Default: 1.0
  • sigma_layer (Float): conductivity of the layer (S/m), a float, Default: 0.01
  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]
  • surface_z (Float): elevation of the air-earth interface (m), a float, Default: 0
  • version (String): version of the software, a unicode string, Default: 0.0.4

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
mur(mesh)

put the permeability model on a mesh

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
sigma(mesh)

put the conductivity model on a mesh

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
class casingSimulations.model.CasingInWholespace(filename=None, **kwargs)

Bases: casingSimulations.model.Wholespace, casingSimulations.model.BaseCasingParametersMixin

A model of casing in a wholespace

Required Properties:

  • casing_d (Float): diameter of the casing (m), a float, Default: 0.1
  • casing_l (Float): length of the casing (m), a float, Default: 1000
  • casing_t (Float): thickness of the casing (m), a float, Default: 0.01
  • casing_top (Float): top of the casing (m), a float, Default: 0.0
  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json
  • mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0
  • mur_casing (Float): relative permeability of the casing, a float, Default: 100.0
  • sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01
  • sigma_casing (Float): conductivity of the casing (S/m), a float, Default: 5500000.0
  • sigma_inside (Float): conductivity of the fluid inside the casing (S/m), a float, Default: 1.0
  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]
  • version (String): version of the software, a unicode string, Default: 0.0.4

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
mur(mesh)

put the permeability model on a mesh

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
sigma(mesh)

put the conductivity model on a mesh

Parameters:mesh (discretize.BaseMesh) – a discretize mesh
Return type:numpy.array
class casingSimulations.model.Halfspace(filename=None, **kwargs)

Bases: casingSimulations.model.Wholespace

Model and survey parameters for an electromagnetic survey in a halfspace

Required Properties:

  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json
  • mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0
  • sigma_air (Float): conductivity of the air (S/m), a float, Default: 1e-06
  • sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01
  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]
  • surface_z (Float): elevation of the air-earth interface (m), a float, Default: 0
  • version (String): version of the software, a unicode string, Default: 0.0.4

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
ind_air(mesh)

indices where the air is

Parameters:mesh (discretize.BaseMesh) – mesh to find the air cells of
Return type:bool
info_model
sigma(mesh)

put the conductivity model on a mesh

Parameters:mesh (discretize.BaseMesh) – mesh to find air cells of
Return type:numpy.array
sigma_air

sigma_air (Float): conductivity of the air (S/m), a float, Default: 1e-06

surface_z

surface_z (Float): elevation of the air-earth interface (m), a float, Default: 0

class casingSimulations.model.PhysicalProperties(meshGenerator, modelParameters)

Bases: object

Physical properties on the mesh

model

model vector [sigma, mu]

Return type:numpy.array
mu

permeability

Return type:numpy.array
mur

relative permeability

Return type:numpy.array
plot(ax=None, clim=[None, None], pcolorOpts=None)

plot the electrical conductivity and relative permeability

Parameters:
  • ax (matplotlib.axes) – axis
  • clim (list) – list of numpy arrays: colorbar limits
  • pcolorOpts (dict) – dictionary of pcolor options
plot_mur(ax=None, clim=None, pcolorOpts=None)

plot the relative permeability

Parameters:
  • ax (matplotlib.axes) – axis
  • clim (numpy.array) – colorbar limits
  • pcolorOpts (dict) – dictionary of pcolor options
plot_prop(prop, ax=None, clim=None, pcolorOpts=None, theta_ind=0)

Plot a cell centered property

Parameters:
  • prop (numpy.array) – cell centered property to plot
  • ax (matplotlib.axes) – axis
  • clim (numpy.array) – colorbar limits
  • pcolorOpts (dict) – dictionary of pcolor options
plot_sigma(ax=None, clim=None, pcolorOpts=None)

plot the electrical conductivity

Parameters:
  • ax (matplotlib.axes) – axis
  • clim (numpy.array) – colorbar limits
  • pcolorOpts (dict) – dictionary of pcolor options
sigma

electrical conductivity

Return type:numpy.array
wires

wires to hook up maps to sigma, mu

Return type:SimPEG.Maps.Wires
class casingSimulations.model.SingleLayer(filename=None, **kwargs)

Bases: casingSimulations.model.Halfspace

A model consisting of air, subsurface and a single subsurface layer

Required Properties:

  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json
  • layer_z (Array): z-limits of the layer, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (2), Default: [-1000. -900.]
  • mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0
  • sigma_air (Float): conductivity of the air (S/m), a float, Default: 1e-06
  • sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01
  • sigma_layer (Float): conductivity of the layer (S/m), a float, Default: 0.01
  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]
  • surface_z (Float): elevation of the air-earth interface (m), a float, Default: 0
  • version (String): version of the software, a unicode string, Default: 0.0.4

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
ind_layer(mesh)

Indices where the layer is

info_model
layer_z

layer_z (Array): z-limits of the layer, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (2), Default: [-1000. -900.]

sigma(mesh)

Construct the conductivity model on a mesh

Parameters:mesh (discretize.BaseMesh) – mesh to put conductivity model on
sigma_layer

sigma_layer (Float): conductivity of the layer (S/m), a float, Default: 0.01

class casingSimulations.model.SurveyParametersMixin(**kwargs)

Bases: properties.base.base.HasProperties

A mixin that has the properties of the survey. It doesn’t do anything on its own

Required Properties:

  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
freqs

freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)

info_survey
src_a

src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]

src_b

src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]

timeSteps

timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)

class casingSimulations.model.TimeStepArray(doc, **kwargs)

Bases: properties.math.Array

class_info = 'an array or list of tuples specifying the mesh tensor'
validate(instance, value)
class casingSimulations.model.Wholespace(filename=None, **kwargs)

Bases: casingSimulations.model.SurveyParametersMixin, casingSimulations.base.BaseCasing

Model and survey parameters for an electromagnetic survey in a wholespace

Required Properties:

  • directory (String): Working directory, a unicode string, Default: .
  • filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json
  • mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0
  • sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01
  • src_a (Array): down-hole z-location for the source, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 0. 0. -975.]
  • src_b (Array): B electrode location, a list or numpy array of <type ‘float’>, <type ‘int’> with shape (*), Default: [ 1000. 0. 0.]
  • version (String): version of the software, a unicode string, Default: 0.0.4

Optional Properties:

  • freqs (Array): source frequencies, a list or numpy array of <type ‘float’> with shape (*)
  • timeSteps (TimeStepArray): times-steps at which to solve, an array or list of tuples specifying the mesh tensor of <type ‘float’> with shape (*)
diffusion_distance(t=None, sigma=None, mu=None)

Difusion distance

\[\]
filename

filename (String): Filename to which the properties are serialized and written to, a unicode string, Default: ModelParameters.json

info
info_model
mu(mesh)

Magnetic permeability on a mesh :param discretize.BaseMesh mesh: a discretize mesh :rtype: numpy.ndarray :return: magnetic permeability on the mesh

mur(mesh)

Relative magnetic permeability on a mesh :param discretize.BaseMesh mesh: a discretize mesh :rtype: numpy.ndarray :return: relative magnetic permeability on the mesh

mur_back

mur_back (Float): relative permittivity of the background, a float in range [0.0, inf], Default: 1.0

sigma(mesh)

Electrical conductivity on a mesh :param discretize.BaseMesh mesh: a discretize mesh :rtype: numpy.ndarray :return: electrical conductivity on the mesh

sigma_back

sigma_back (Float): conductivity of the background (S/m), a float in range [0.0, inf], Default: 0.01

skin_depth(sigma=None, mu=None, f=None)

Skin depth

\[\delta = \sqrt(\frac{2}{\omega \mu \sigma})\]