API

Below describes the classes, methods and properties relevant to forward modeling and inverting VRM responses in the time domain.

VRM Problem

class SimPEG.VRM.ProblemVRM.Problem_BaseVRM(mesh, **kwargs)[source]

Bases: SimPEG.Problem.BaseProblem

Required Properties:

  • indActive (Array): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)

  • ref_factor (Integer): Sensitivity refinement factor, an integer in range [0, inf]

  • ref_radius (Array): Sensitivity refinement radii from sources, a list or numpy array of <class ‘float’> with shape (*)

Optional Properties:

  • model (Model): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)

property ref_factor

ref_factor (Integer): Sensitivity refinement factor, an integer in range [0, inf]

property ref_radius

ref_radius (Array): Sensitivity refinement radii from sources, a list or numpy array of <class ‘float’> with shape (*)

property indActive

indActive (Array): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)

Jtvec(m, v, f=None)

Effect of transpose of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

JTv

Jtvec_approx(m, v, f=None)

Approximate effect of transpose of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

JTv

Jvec(m, v, f=None)

Effect of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

Jv

Jvec_approx(m, v, f=None)

Approximate effect of J(m) on a vector v

Parameters
Return type

numpy.ndarray

Returns

approxJv

class Solver(A, **kwargs)

Bases: object

clean()
clean_on_model_update = []
counter = None
property curModel

Setting the curModel is depreciated.

Use SimPEG.Problem.model instead.

deleteTheseOnModelUpdate = []
classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

fields(m)

The field given the model.

Parameters

m (numpy.ndarray) – model

Return type

numpy.ndarray

Returns

u, the fields

property ispaired

True if the problem is paired to a survey.

mapPair

alias of SimPEG.Maps.IdentityMap

property mapping

Setting an unnamed mapping has been depreciated in v0.4.0. Please see the release notes for more details.

mesh = None
property model

model (Model): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)

property needs_model

True if a model is necessary

pair(d)

Bind a survey to this problem instance using pointers.

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

solverOpts = {}
summary()
property survey

The survey object for this problem.

surveyPair

alias of SimPEG.Survey.BaseSurvey

unpair()

Unbind a survey from this problem instance.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.ProblemVRM.Problem_Linear(mesh, **kwargs)[source]

Bases: SimPEG.VRM.ProblemVRM.Problem_BaseVRM

Required Properties:

  • indActive (Array): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)

  • ref_factor (Integer): Sensitivity refinement factor, an integer in range [0, inf]

  • ref_radius (Array): Sensitivity refinement radii from sources, a list or numpy array of <class ‘float’> with shape (*)

Optional Properties:

  • model (Model): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)

  • xi (PhysicalProperty): Amalgamated Viscous Remanent Magnetization Parameter xi = dchi/ln(tau2/tau1), a physical property

  • xiMap (Mapping): Mapping of Amalgamated Viscous Remanent Magnetization Parameter xi = dchi/ln(tau2/tau1) to the inversion model., a SimPEG Map

Other Properties:

  • xiDeriv (Derivative): Derivative of Amalgamated Viscous Remanent Magnetization Parameter xi = dchi/ln(tau2/tau1) wrt the model.

surveyPair

alias of SimPEG.VRM.SurveyVRM.SurveyVRM

property xi

Amalgamated Viscous Remanent Magnetization Parameter xi = dchi/ln(tau2/tau1)

property xiDeriv

Derivative of Amalgamated Viscous Remanent Magnetization Parameter xi = dchi/ln(tau2/tau1) wrt the model.

property xiMap

Mapping of Amalgamated Viscous Remanent Magnetization Parameter xi = dchi/ln(tau2/tau1) to the inversion model.

property A

The geometric sensitivity matrix for the linear VRM problem. Accessing this property requires that the problem be paired with a survey object.

property T

The characteristic decay matrix for the VRM problem. Accessing this property requires that the problem be paired with a survey object.

fields(m)[source]

Computes the fields d = T*A*m

Jvec(m, v, f=None)[source]

Compute Pd*T*A*dxidm*v

Jtvec(m, v, f=None)[source]

Compute (Pd*T*A*dxidm)^T * v

unpair()[source]

Unbind a survey from this problem instance.

Jtvec_approx(m, v, f=None)

Approximate effect of transpose of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

JTv

Jvec_approx(m, v, f=None)

Approximate effect of J(m) on a vector v

Parameters
Return type

numpy.ndarray

Returns

approxJv

class Solver(A, **kwargs)

Bases: object

clean()
clean_on_model_update = []
counter = None
property curModel

Setting the curModel is depreciated.

Use SimPEG.Problem.model instead.

deleteTheseOnModelUpdate = []
classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

property indActive

indActive (Array): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)

property ispaired

True if the problem is paired to a survey.

mapPair

alias of SimPEG.Maps.IdentityMap

property mapping

Setting an unnamed mapping has been depreciated in v0.4.0. Please see the release notes for more details.

mesh = None
property model

model (Model): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)

property needs_model

True if a model is necessary

pair(d)

Bind a survey to this problem instance using pointers.

property ref_factor

ref_factor (Integer): Sensitivity refinement factor, an integer in range [0, inf]

property ref_radius

ref_radius (Array): Sensitivity refinement radii from sources, a list or numpy array of <class ‘float’> with shape (*)

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

solverOpts = {}
summary()
property survey

The survey object for this problem.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.ProblemVRM.Problem_LogUniform(mesh, **kwargs)[source]

Bases: SimPEG.VRM.ProblemVRM.Problem_BaseVRM

Required Properties:

  • indActive (Array): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)

  • ref_factor (Integer): Sensitivity refinement factor, an integer in range [0, inf]

  • ref_radius (Array): Sensitivity refinement radii from sources, a list or numpy array of <class ‘float’> with shape (*)

Optional Properties:

  • chi0 (PhysicalProperty): DC susceptibility, a physical property

  • dchi (PhysicalProperty): Frequency dependence, a physical property

  • model (Model): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)

  • tau1 (PhysicalProperty): Low bound time-relaxation constant, a physical property

  • tau2 (PhysicalProperty): Upper bound time-relaxation constant, a physical property

Jtvec(m, v, f=None)

Effect of transpose of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

JTv

Jtvec_approx(m, v, f=None)

Approximate effect of transpose of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

JTv

Jvec(m, v, f=None)

Effect of J(m) on a vector v.

Parameters
Return type

numpy.ndarray

Returns

Jv

Jvec_approx(m, v, f=None)

Approximate effect of J(m) on a vector v

Parameters
Return type

numpy.ndarray

Returns

approxJv

class Solver(A, **kwargs)

Bases: object

clean()
clean_on_model_update = []
counter = None
property curModel

Setting the curModel is depreciated.

Use SimPEG.Problem.model instead.

deleteTheseOnModelUpdate = []
classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

property indActive

indActive (Array): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)

property ispaired

True if the problem is paired to a survey.

mapPair

alias of SimPEG.Maps.IdentityMap

property mapping

Setting an unnamed mapping has been depreciated in v0.4.0. Please see the release notes for more details.

mesh = None
property model

model (Model): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)

property needs_model

True if a model is necessary

pair(d)

Bind a survey to this problem instance using pointers.

property ref_factor

ref_factor (Integer): Sensitivity refinement factor, an integer in range [0, inf]

property ref_radius

ref_radius (Array): Sensitivity refinement radii from sources, a list or numpy array of <class ‘float’> with shape (*)

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

solverOpts = {}
summary()
property survey

The survey object for this problem.

unpair()

Unbind a survey from this problem instance.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

surveyPair

alias of SimPEG.Survey.BaseSurvey

property chi0

DC susceptibility

property dchi

Frequency dependence

property tau1

Low bound time-relaxation constant

property tau2

Upper bound time-relaxation constant

property A

The geometric sensitivity matrix for the linear VRM problem. Accessing this property requires that the problem be paired with a survey object.

fields(m=None)[source]

Computes the fields at every time d(t) = G*M(t)

Waveform

class SimPEG.VRM.WaveformVRM.StepOff(**kwargs)[source]

Bases: properties.base.base.HasProperties

Required Properties:

  • t0 (Float): Start of off-time, a float, Default: 0.0

property t0

t0 (Float): Start of off-time, a float, Default: 0.0

getCharDecay(fieldType, times)[source]

Characteristic decay function for step-off waveform. This function describes the decay of the VRM response for the linear problem type. Note that the current will be normalized by its maximum value. The maximum current in the transmitter is specified in the source object.

REQUIRED ARGUMENTS:

fieldType – must be ‘dhdt’ or ‘dbdt’. Characteristic decay for ‘h’ or ‘b’ CANNOT be computed for step-off

times – Observation times. These times MUST be during the off-time.

OUTPUTS:

eta – characteristic decay function evaluated at all specified times.

getLogUniformDecay(fieldType, times, chi0, dchi, tau1, tau2)[source]

Decay function for a step-off waveform for log-uniform distribution of time-relaxation constants. The output of this function is the magnetization at each time for each cell, normalized by the inducing field.

REQUIRED ARGUMENTS:

fieldType – must be ‘h’, ‘b’, ‘dhdt’ or ‘dbdt’.

times – Observation times

chi0 – DC (zero-frequency) magnetic susceptibility for all cells

dchi – DC (zero-frequency) magnetic susceptibility attributed to VRM for all cells

tau1 – Lower-bound for log-uniform distribution of time-relaxation constants for all cells

tau2 – Upper-bound for log-uniform distribution of time-relaxation constants for all cells

OUTPUTS:

eta – characteristic decay function evaluated at all specified times.

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.WaveformVRM.SquarePulse(**kwargs)[source]

Bases: properties.base.base.HasProperties

Required Properties:

  • delt (Float): Pulse width, a float

  • t0 (Float): Start of off-time, a float, Default: 0.0

property t0

t0 (Float): Start of off-time, a float, Default: 0.0

property delt

delt (Float): Pulse width, a float

getCharDecay(fieldType, times)[source]

Characteristic decay function for a square-pulse waveform. This function describes the decay of the VRM response for the linear problem type. Note that the current will be normalized by its maximum value. The maximum current in the transmitter is specified in the source object.

REQUIRED ARGUMENTS:

fieldType – must be ‘h’, ‘b’, ‘dhdt’ or ‘dbdt’.

times – Observation times. These times MUST be during the off-time.

OUTPUTS:

eta – characteristic decay function evaluated at all specified times.

getLogUniformDecay(fieldType, times, chi0, dchi, tau1, tau2)[source]

Decay function for a square-pulse waveform for log-uniform distribution of time-relaxation constants. The output of this function is the magnetization at each time for each cell, normalized by the inducing field.

REQUIRED ARGUMENTS:

fieldType – must be ‘h’, ‘b’, ‘dhdt’ or ‘dbdt’.

times – Observation times.

chi0 – DC (zero-frequency) magnetic susceptibility for all cells

dchi – DC (zero-frequency) magnetic susceptibility attributed to VRM for all cells

tau1 – Lower-bound for log-uniform distribution of time-relaxation constants for all cells

tau2 – Upper-bound for log-uniform distribution of time-relaxation constants for all cells

OUTPUTS:

eta – characteristic decay function evaluated at all specified times.

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.WaveformVRM.ArbitraryDiscrete(**kwargs)[source]

Bases: properties.base.base.HasProperties

Required Properties:

  • I_wave (Array): Waveform current, a list or numpy array of <class ‘float’> with shape (*)

  • t_wave (Array): Waveform times, a list or numpy array of <class ‘float’> with shape (*)

property t_wave

t_wave (Array): Waveform times, a list or numpy array of <class ‘float’> with shape (*)

property I_wave

I_wave (Array): Waveform current, a list or numpy array of <class ‘float’> with shape (*)

getCharDecay(fieldType, times)[source]

Characteristic decay function for arbitrary waveform. This function describes the decay of the VRM response for the Linear problem type. Note that the current will be normalized by its maximum value. The maximum current in the transmitter is specified in the source object.

REQUIRD ARGUMENTS:

fieldType – must be ‘h’, ‘b’, ‘dhdt’ or ‘dbdt’.

times – Observation times. These times MUST be during the off-time.

OUTPUTS:

eta – characteristic decay function evaluated at all specified times.

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.WaveformVRM.ArbitraryPiecewise(**kwargs)[source]

Bases: properties.base.base.HasProperties

Required Properties:

  • I_wave (Array): Waveform current, a list or numpy array of <class ‘float’> with shape (*)

  • t_wave (Array): Waveform times, a list or numpy array of <class ‘float’> with shape (*)

property t_wave

t_wave (Array): Waveform times, a list or numpy array of <class ‘float’> with shape (*)

property I_wave

I_wave (Array): Waveform current, a list or numpy array of <class ‘float’> with shape (*)

getCharDecay(fieldType, times)[source]

Characteristic decay function for arbitrary waveform. This function describes the decay of the VRM response for the Linear problem type. Note that the current will be LogUniformized by its maximum value. The maximum current in the transmitter is specified in the source object.

INPUTS:

fieldType – must be ‘h’, ‘b’, ‘dhdt’ or ‘dbdt’.

times – Observation times. These times must be during the off-time.

OUTPUTS:

eta – characteristic decay function evaluated at all specified times.

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.WaveformVRM.Custom(**kwargs)[source]

Bases: properties.base.base.HasProperties

Required Properties:

  • eta (Array): Characteristic decay function at evaluation times, a list or numpy array of <class ‘float’> with shape (*)

  • times (Array): Times at which characteristic decay function is evaluated, a list or numpy array of <class ‘float’> with shape (*)

property times

times (Array): Times at which characteristic decay function is evaluated, a list or numpy array of <class ‘float’> with shape (*)

property eta

eta (Array): Characteristic decay function at evaluation times, a list or numpy array of <class ‘float’> with shape (*)

getCharDecay()[source]

Returns characteristic decay function at specified times

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

Sources

Receivers

class SimPEG.VRM.RxVRM.BaseRxVRM(locs, **kwargs)[source]

Bases: SimPEG.Survey.BaseRx, properties.base.base.HasProperties

Base VRM receiver class

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

getP(mesh, projGLoc=None)

Returns the projection matrices as a list for all components collected by the receivers.

Note

Projection matrices are stored as a dictionary listed by meshes.

knownRxTypes = None
locs = None
property nD

Number of data in the receiver.

projGLoc = 'CC'
property rxType

Receiver Type

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

storeProjections = True
validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.RxVRM.Point(locs, **kwargs)[source]

Bases: SimPEG.VRM.RxVRM.BaseRxVRM

Point receiver

Required Properties:

  • fieldComp (StringChoice): Component of response, any of “x”, “y”, “z”

  • fieldType (StringChoice): Field type, any of “h”, “b”, “dhdt”, “dbdt”

  • times (Array): Observation times, a list or numpy array of <class ‘float’> with shape (*)

property times

times (Array): Observation times, a list or numpy array of <class ‘float’> with shape (*)

property fieldType

fieldType (StringChoice): Field type, any of “h”, “b”, “dhdt”, “dbdt”

property fieldComp

fieldComp (StringChoice): Component of response, any of “x”, “y”, “z”

property nTimes

Number of measurements times.

property nLocs

Number of locations.

property nD

Number of data in the receiver.

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

getP(mesh, projGLoc=None)

Returns the projection matrices as a list for all components collected by the receivers.

Note

Projection matrices are stored as a dictionary listed by meshes.

knownRxTypes = None
locs = None
projGLoc = 'CC'
property rxType

Receiver Type

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

storeProjections = True
validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

class SimPEG.VRM.RxVRM.SquareLoop(locs, **kwargs)[source]

Bases: SimPEG.VRM.RxVRM.BaseRxVRM

Square loop receiver

Measurements with this type of receiver are the field, integrated over the area of the loop, then multiplied by the number of coils, then normalized by the dipole moment. As a result, the units for fields predicted with this type of receiver are the same as ‘h’, ‘b’, ‘dhdt’ and ‘dbdt’, respectively.

Required Properties:

  • fieldComp (StringChoice): Component of response, any of “x”, “y”, “z”

  • fieldType (StringChoice): Field type, any of “h”, “b”, “dhdt”, “dbdt”

  • nTurns (Integer): Number of loop turns, an integer in range [1, inf], Default: 1

  • quadOrder (Integer): Order for numerical quadrature integration over loop, an integer in range [1, 7], Default: 3

  • times (Array): Observation times, a list or numpy array of <class ‘float’> with shape (*)

  • width (Float): Square loop width, a float in range [1e-06, inf]

property times

times (Array): Observation times, a list or numpy array of <class ‘float’> with shape (*)

property width

width (Float): Square loop width, a float in range [1e-06, inf]

property nTurns

nTurns (Integer): Number of loop turns, an integer in range [1, inf], Default: 1

property quadOrder

quadOrder (Integer): Order for numerical quadrature integration over loop, an integer in range [1, 7], Default: 3

property fieldType

fieldType (StringChoice): Field type, any of “h”, “b”, “dhdt”, “dbdt”

property fieldComp

fieldComp (StringChoice): Component of response, any of “x”, “y”, “z”

property nTimes

Number of measurements times.

property nLocs

Number of locations.

property nD

Number of data in the receiver.

classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

getP(mesh, projGLoc=None)

Returns the projection matrices as a list for all components collected by the receivers.

Note

Projection matrices are stored as a dictionary listed by meshes.

knownRxTypes = None
locs = None
projGLoc = 'CC'
property rxType

Receiver Type

serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

storeProjections = True
validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

Survey

class SimPEG.VRM.SurveyVRM.SurveyVRM(srcList, **kwargs)[source]

Bases: SimPEG.Survey.BaseSurvey, properties.base.base.HasProperties

Required Properties:

  • t_active (Array): Boolean array where True denotes active data in the inversion, a list or numpy array of <class ‘bool’> with shape (*)

property srcList

Source List

srcPair

alias of SimPEG.Survey.BaseSrc

property t_active

t_active (Array): Boolean array where True denotes active data in the inversion, a list or numpy array of <class ‘bool’> with shape (*)

counter = None
classmethod deserialize(value, trusted=False, strict=False, assert_valid=False, **kwargs)

Creates HasProperties instance from serialized dictionary

This uses the Property deserializers to deserialize all JSON-compatible dictionary values into their corresponding Property values on a new instance of a HasProperties class. Extra keys in the dictionary that do not correspond to Properties will be ignored.

Parameters:

  • value - Dictionary to deserialize new instance from.

  • trusted - If True (and if the input dictionary has '__class__' keyword and this class is in the registry), the new HasProperties class will come from the dictionary. If False (the default), only the HasProperties class this method is called on will be constructed.

  • strict - Requires '__class__', if present on the input dictionary, to match the deserialized instance’s class. Also disallows unused properties in the input dictionary. Default is False.

  • assert_valid - Require deserialized instance to be valid. Default is False.

  • Any other keyword arguments will be passed through to the Property deserializers.

dobs = None
dtrue = None
eps = None
equal(other)

Determine if two HasProperties instances are equivalent

Equivalence is determined by checking if all Property values on two instances are equal, using Property.equal.

eval(f)

This function projects the fields onto the data space.

\[d_\text{pred} = \mathbf{P} f(m)\]
evalDeriv(f)

This function s the derivative of projects the fields onto the data space.

\[\frac{\partial d_\text{pred}}{\partial u} = \mathbf{P}\]
getSourceIndex(sources)
property isSynthetic

Check if the data is synthetic.

property ispaired
makeSyntheticData(m, std=None, f=None, force=False)

Make synthetic data given a model, and a standard deviation.

Parameters
property mesh

Mesh of the paired problem.

mtrue = None
property nD

Number of data

property nSrc

Number of Sources

pair(p)

Bind a problem to this survey instance using pointers

property prob

The geophysical problem that explains this survey, use:

survey.pair(prob)
residual(m, f=None)
Parameters
Return type

numpy.ndarray

Returns

data residual

The data residual:

\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]
serialize(include_class=True, save_dynamic=False, **kwargs)

Serializes a HasProperties instance to dictionary

This uses the Property serializers to serialize all Property values to a JSON-compatible dictionary. Properties that are undefined are not included. If the HasProperties instance contains a reference to itself, a properties.SelfReferenceError will be raised.

Parameters:

  • include_class - If True (the default), the name of the class will also be saved to the serialized dictionary under key '__class__'

  • save_dynamic - If True, dynamic properties are written to the serialized dict (default: False).

  • Any other keyword arguments will be passed through to the Property serializers.

set_active_interval(tmin, tmax)[source]

Set active times using an interval

std = None
unpair()

Unbind a problem from this survey instance

validate()

Call all registered class validator methods

These are all methods decorated with @properties.validator. Validator methods are expected to raise a ValidationError if they fail.

property vnD

Vector number of data

dpred(m=None, f=None)[source]