API

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

VRM Simulation

class SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.BaseVRMSimulation(*args, **kwargs)[source]

Bases: SimPEG.simulation.BaseSimulation

Required Properties:

  • counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

  • mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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

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

  • sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

  • None

  • solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

  • survey (BaseSurvey): a survey object, an instance of BaseSurvey

Optional Properties:

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

property ref_factor

ref_factor has been deprecated. See refinement_factor for documentation

property ref_radius

ref_radius has been deprecated. See refinement_distance for documentation

property refinement_factor

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

property refinement_distance

refinement_distance (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 (*)

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

Jtv = Jtvec(m, v, f=None) Effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Approximate effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Jv = Jvec(m, v, f=None) Effect of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: Jv

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

Approximate effect of J(m) on a vector v :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: approxJv

property Solver

Solver has been deprecated. See simulation.solver for documentation

clean_on_model_update = []
property counter

counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

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)[source]

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=None)[source]

u = fields(m) The field given the model. :param numpy.ndarray m: model :rtype: numpy.ndarray :return: u, the fields

make_synthetic_data(m, relative_error=0.05, noise_floor=0.0, f=None, add_noise=False, **kwargs)[source]

Make synthetic data given a model, and a standard deviation. :param numpy.ndarray m: geophysical model :param numpy.ndarray relative_error: standard deviation :param numpy.ndarray noise_floor: noise floor :param numpy.ndarray f: fields for the given model (if pre-calculated)

property mesh

mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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(survey)[source]

Deprecated pairing method. Please use simulation.survey=survey instead

residual(m, dobs, f=None)[source]

The data residual:

\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]
Parameters
Return type

numpy.ndarray

Returns

data residual

property sensitivity_path

sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property solver

None

property solverOpts

solverOpts has been deprecated. See solver_opts for documentation

property solver_opts

solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

summary()[source]
property survey

survey (BaseSurvey): a survey object, an instance of BaseSurvey

validate()[source]

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.electromagnetics.viscous_remanent_magnetization.simulation.Simulation3DLinear(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.BaseVRMSimulation

Required Properties:

  • counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

  • mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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

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

  • sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

  • None

  • solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

  • survey (SurveyVRM): VRM Survey, an instance of SurveyVRM

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.

property survey

survey (SurveyVRM): VRM Survey, an instance of 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

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

Approximate effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Approximate effect of J(m) on a vector v :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: approxJv

property Solver

Solver has been deprecated. See simulation.solver for documentation

clean_on_model_update = []
property counter

counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

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.

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

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 (*)

make_synthetic_data(m, relative_error=0.05, noise_floor=0.0, f=None, add_noise=False, **kwargs)[source]

Make synthetic data given a model, and a standard deviation. :param numpy.ndarray m: geophysical model :param numpy.ndarray relative_error: standard deviation :param numpy.ndarray noise_floor: noise floor :param numpy.ndarray f: fields for the given model (if pre-calculated)

property mesh

mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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(survey)[source]

Deprecated pairing method. Please use simulation.survey=survey instead

property ref_factor

ref_factor has been deprecated. See refinement_factor for documentation

property ref_radius

ref_radius has been deprecated. See refinement_distance for documentation

property refinement_distance

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

property refinement_factor

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

residual(m, dobs, f=None)[source]

The data residual:

\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]
Parameters
Return type

numpy.ndarray

Returns

data residual

property sensitivity_path

sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property solver

None

property solverOpts

solverOpts has been deprecated. See solver_opts for documentation

property solver_opts

solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

summary()[source]
validate()[source]

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.electromagnetics.viscous_remanent_magnetization.simulation.Simulation3DLogUniform(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.BaseVRMSimulation

Required Properties:

  • counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

  • mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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

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

  • sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

  • None

  • solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

  • survey (BaseSurvey): a survey object, an instance of BaseSurvey

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)[source]

Jtv = Jtvec(m, v, f=None) Effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Approximate effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Jv = Jvec(m, v, f=None) Effect of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: Jv

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

Approximate effect of J(m) on a vector v :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: approxJv

property Solver

Solver has been deprecated. See simulation.solver for documentation

clean_on_model_update = []
property counter

counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

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.

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

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 (*)

make_synthetic_data(m, relative_error=0.05, noise_floor=0.0, f=None, add_noise=False, **kwargs)[source]

Make synthetic data given a model, and a standard deviation. :param numpy.ndarray m: geophysical model :param numpy.ndarray relative_error: standard deviation :param numpy.ndarray noise_floor: noise floor :param numpy.ndarray f: fields for the given model (if pre-calculated)

property mesh

mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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(survey)[source]

Deprecated pairing method. Please use simulation.survey=survey instead

property ref_factor

ref_factor has been deprecated. See refinement_factor for documentation

property ref_radius

ref_radius has been deprecated. See refinement_distance for documentation

property refinement_distance

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

property refinement_factor

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

residual(m, dobs, f=None)[source]

The data residual:

\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]
Parameters
Return type

numpy.ndarray

Returns

data residual

property sensitivity_path

sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property solver

None

property solverOpts

solverOpts has been deprecated. See solver_opts for documentation

property solver_opts

solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

summary()[source]
property survey

survey (BaseSurvey): a survey object, an instance of BaseSurvey

validate()[source]

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 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)

class SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.Problem_Linear(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.Simulation3DLinear

This class has been deprecated, see Simulation3DLinear for documentation

property A

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

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

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

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

Approximate effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Compute Pd*T*A*dxidm*v

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

Approximate effect of J(m) on a vector v :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: approxJv

property Solver

Solver has been deprecated. See simulation.solver for documentation

property T

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

clean_on_model_update = []
property counter

counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

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

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.

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

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)[source]

Computes the fields d = T*A*m

property indActive

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

make_synthetic_data(m, relative_error=0.05, noise_floor=0.0, f=None, add_noise=False, **kwargs)[source]

Make synthetic data given a model, and a standard deviation. :param numpy.ndarray m: geophysical model :param numpy.ndarray relative_error: standard deviation :param numpy.ndarray noise_floor: noise floor :param numpy.ndarray f: fields for the given model (if pre-calculated)

property mesh

mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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(survey)[source]

Deprecated pairing method. Please use simulation.survey=survey instead

property ref_factor

ref_factor has been deprecated. See refinement_factor for documentation

property ref_radius

ref_radius has been deprecated. See refinement_distance for documentation

property refinement_distance

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

property refinement_factor

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

residual(m, dobs, f=None)[source]

The data residual:

\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]
Parameters
Return type

numpy.ndarray

Returns

data residual

property sensitivity_path

sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property solver

None

property solverOpts

solverOpts has been deprecated. See solver_opts for documentation

property solver_opts

solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

summary()[source]
property survey

survey (SurveyVRM): VRM Survey, an instance of SurveyVRM

validate()[source]

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 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.

class SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.Problem_LogUnifrom(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.simulation.Simulation3DLogUniform

This class has been deprecated, see Simulation3DLogUniform for documentation

property A

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

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

Jtv = Jtvec(m, v, f=None) Effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Approximate effect of transpose of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: JTv

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

Jv = Jvec(m, v, f=None) Effect of J(m) on a vector v. :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: Jv

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

Approximate effect of J(m) on a vector v :param numpy.ndarray m: model :param numpy.ndarray v: vector to multiply :param Fields f: fields :rtype: numpy.ndarray :return: approxJv

property Solver

Solver has been deprecated. See simulation.solver for documentation

property chi0

DC susceptibility

clean_on_model_update = []
property counter

counter (Counter): A SimPEG.utils.Counter object, an instance of Counter

property dchi

Frequency dependence

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

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.

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

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=None)[source]

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

property indActive

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

make_synthetic_data(m, relative_error=0.05, noise_floor=0.0, f=None, add_noise=False, **kwargs)[source]

Make synthetic data given a model, and a standard deviation. :param numpy.ndarray m: geophysical model :param numpy.ndarray relative_error: standard deviation :param numpy.ndarray noise_floor: noise floor :param numpy.ndarray f: fields for the given model (if pre-calculated)

property mesh

mesh (BaseMesh): a discretize mesh instance, an instance of BaseMesh

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(survey)[source]

Deprecated pairing method. Please use simulation.survey=survey instead

property ref_factor

ref_factor has been deprecated. See refinement_factor for documentation

property ref_radius

ref_radius has been deprecated. See refinement_distance for documentation

property refinement_distance

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

property refinement_factor

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

residual(m, dobs, f=None)[source]

The data residual:

\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]
Parameters
Return type

numpy.ndarray

Returns

data residual

property sensitivity_path

sensitivity_path (String): path to store the sensitivty, a unicode string, Default: ./sensitivity/

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property solver

None

property solverOpts

solverOpts has been deprecated. See solver_opts for documentation

property solver_opts

solver_opts (Dictionary): solver options as a kwarg dict, a dictionary

summary()[source]
property survey

survey (BaseSurvey): a survey object, an instance of BaseSurvey

property tau1

Low bound time-relaxation constant

property tau2

Upper bound time-relaxation constant

validate()[source]

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.

Waveform

class SimPEG.electromagnetics.viscous_remanent_magnetization.waveforms.StepOff(*args, **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)[source]

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)[source]

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)[source]

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()[source]

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.electromagnetics.viscous_remanent_magnetization.waveforms.SquarePulse(*args, **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)[source]

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)[source]

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)[source]

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()[source]

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.electromagnetics.viscous_remanent_magnetization.waveforms.ArbitraryDiscrete(*args, **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)[source]

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)[source]

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)[source]

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()[source]

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.electromagnetics.viscous_remanent_magnetization.waveforms.ArbitraryPiecewise(*args, **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)[source]

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)[source]

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)[source]

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()[source]

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.electromagnetics.viscous_remanent_magnetization.waveforms.Custom(*args, **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)[source]

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)[source]

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)[source]

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()[source]

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

class SimPEG.electromagnetics.viscous_remanent_magnetization.sources.BaseSrcVRM(*args, **kwargs)[source]

Bases: SimPEG.survey.BaseSrc

SimPEG Source Object

Required Properties:

  • receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

Optional Properties:

  • location (SourceLocationArray): Location of the source [x, y, z] in 3D, a 1D array denoting the source location of <class ‘float’>, <class ‘int’> with shape (*)

property nRx

Total number of receiver locations

property vnRx

Vector number of receiver locations

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

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)[source]

Determine if two HasProperties instances are equivalent

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

getReceiverIndex(receiver)[source]
property loc

loc has been deprecated. See location for documentation

property location

location (SourceLocationArray): Location of the source [x, y, z] in 3D, a 1D array denoting the source location of <class ‘float’>, <class ‘int’> with shape (*)

property nD

Number of data

property receiver_list

receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

property rxList

rxList has been deprecated. See receiver_list for documentation

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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()[source]

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

class SimPEG.electromagnetics.viscous_remanent_magnetization.sources.MagDipole(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.sources.BaseSrcVRM

Required Properties:

  • receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

Optional Properties:

  • location (SourceLocationArray): Location of the source [x, y, z] in 3D, a 1D array denoting the source location of <class ‘float’>, <class ‘int’> with shape (*)

getH0(xyz)[source]

Computes inducing field at locations xyz

REQUIRED ARGUMENTS:

xyz – N X 3 array of locations at which primary field components are computed

OUTPUTS:

H0 – N X 3 array containing [Hx0,Hy0,Hz0] at all xyz locations

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

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)[source]

Determine if two HasProperties instances are equivalent

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

getReceiverIndex(receiver)[source]
property loc

loc has been deprecated. See location for documentation

property location

location (SourceLocationArray): Location of the source [x, y, z] in 3D, a 1D array denoting the source location of <class ‘float’>, <class ‘int’> with shape (*)

property nD

Number of data

property nRx

Total number of receiver locations

property receiver_list

receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

property rxList

rxList has been deprecated. See receiver_list for documentation

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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()[source]

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

property vnRx

Vector number of receiver locations

class SimPEG.electromagnetics.viscous_remanent_magnetization.sources.CircLoop(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.sources.BaseSrcVRM

Required Properties:

  • receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

Optional Properties:

  • location (SourceLocationArray): Location of the source [x, y, z] in 3D, a 1D array denoting the source location of <class ‘float’>, <class ‘int’> with shape (*)

getH0(xyz)[source]

Computes inducing field at locations xyz

REQUIRED ARGUMENTS:

xyz – N X 3 array of locations at which primary field components are computed

OUTPUTS:

H0 – N X 3 array containing [hx0,hy0,hz0] at all xyz locations

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

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)[source]

Determine if two HasProperties instances are equivalent

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

getReceiverIndex(receiver)[source]
property loc

loc has been deprecated. See location for documentation

property location

location (SourceLocationArray): Location of the source [x, y, z] in 3D, a 1D array denoting the source location of <class ‘float’>, <class ‘int’> with shape (*)

property nD

Number of data

property nRx

Total number of receiver locations

property receiver_list

receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

property rxList

rxList has been deprecated. See receiver_list for documentation

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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()[source]

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

property vnRx

Vector number of receiver locations

class SimPEG.electromagnetics.viscous_remanent_magnetization.sources.LineCurrent(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.sources.BaseSrcVRM

Required Properties:

  • location (Array): location of the source wire points, a list or numpy array of <class ‘float’>, <class ‘int’> with shape (*, 3)

  • receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

property location

location (Array): location of the source wire points, a list or numpy array of <class ‘float’>, <class ‘int’> with shape (*, 3)

property loc

loc has been deprecated. See location for documentation

getH0(xyz)[source]

Computes inducing field at locations xyz

REQUIRED ARGUMENTS:

xyz – N X 3 array of locations at which primary field components are computed

OUTPUTS:

H0 – N X 3 array containing [Hx0,Hy0,Hz0] at all xyz locations

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

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)[source]

Determine if two HasProperties instances are equivalent

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

getReceiverIndex(receiver)[source]
property nD

Number of data

property nRx

Total number of receiver locations

property receiver_list

receiver_list (a list of BaseRx): receiver list, a list (each item is an instance of BaseRx)

property rxList

rxList has been deprecated. See receiver_list for documentation

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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()[source]

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

property vnRx

Vector number of receiver locations

Receivers

class SimPEG.electromagnetics.viscous_remanent_magnetization.receivers.Point(*args, **kwargs)[source]

Bases: SimPEG.survey.BaseRx

Point receiver

Required Properties:

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

  • locations (RxLocationArray): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)

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

  • projGLoc (StringChoice): Projection grid location, default is CC, any of “CC”, “Fx”, “Fy”, “Fz”, “Ex”, “Ey”, “Ez”, “N”, Default: CC

  • storeProjections (Boolean): Store calls to getP (organized by mesh), a boolean, Default: True

  • 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 orientation

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

property n_times

Number of measurements times.

property nTimes

n_times.nTimes has been deprecated. See n_times for documentation

property n_locations

Number of locations.

property nLocs

n_locations.nLocs has been deprecated. See n_locations for documentation

property nD

Number of data in the receiver.

property fieldComp

fieldComp has been deprecated. See orientation for documentation

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

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)[source]

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(**kwargs)[source]
evalDeriv(**kwargs)[source]
getP(mesh, projGLoc=None)[source]

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.

property locations

locations (RxLocationArray): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)

property locs

locs has been deprecated. See locations for documentation

property projGLoc

projGLoc (StringChoice): Projection grid location, default is CC, any of “CC”, “Fx”, “Fy”, “Fz”, “Ex”, “Ey”, “Ez”, “N”, Default: CC

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property storeProjections

storeProjections (Boolean): Store calls to getP (organized by mesh), a boolean, Default: True

validate()[source]

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.electromagnetics.viscous_remanent_magnetization.receivers.SquareLoop(*args, **kwargs)[source]

Bases: SimPEG.electromagnetics.viscous_remanent_magnetization.receivers.Point

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:

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

  • locations (RxLocationArray): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)

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

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

  • projGLoc (StringChoice): Projection grid location, default is CC, any of “CC”, “Fx”, “Fy”, “Fz”, “Ex”, “Ey”, “Ez”, “N”, Default: CC

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

  • storeProjections (Boolean): Store calls to getP (organized by mesh), a boolean, Default: True

  • 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 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

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

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)[source]

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(**kwargs)[source]
evalDeriv(**kwargs)[source]
property fieldComp

fieldComp has been deprecated. See orientation for documentation

property fieldType

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

getP(mesh, projGLoc=None)[source]

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.

property locations

locations (RxLocationArray): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)

property locs

locs has been deprecated. See locations for documentation

property nD

Number of data in the receiver.

property nLocs

n_locations.nLocs has been deprecated. See n_locations for documentation

property nTimes

n_times.nTimes has been deprecated. See n_times for documentation

property n_locations

Number of locations.

property n_times

Number of measurements times.

property orientation

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

property projGLoc

projGLoc (StringChoice): Projection grid location, default is CC, any of “CC”, “Fx”, “Fy”, “Fz”, “Ex”, “Ey”, “Ez”, “N”, Default: CC

serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property storeProjections

storeProjections (Boolean): Store calls to getP (organized by mesh), a boolean, Default: True

property times

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

validate()[source]

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.electromagnetics.viscous_remanent_magnetization.survey.SurveyVRM(*args, **kwargs)[source]

Bases: SimPEG.survey.BaseSurvey

Required Properties:

  • counter (Counter): A SimPEG counter object, an instance of Counter

  • source_list (a list of BaseSrcVRM): A list of sources for the survey, a list (each item is an instance of BaseSrcVRM)

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

property source_list

source_list (a list of BaseSrcVRM): A list of sources for the survey, a list (each item is an instance of BaseSrcVRM)

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 (*)

property counter

counter (Counter): A SimPEG counter object, an instance of Counter

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

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.

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

Determine if two HasProperties instances are equivalent

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

getSourceIndex(sources)[source]
makeSyntheticData(m, std=None, f=None, force=False, **kwargs)[source]
property nD

Number of data

property nSrc

Number of Sources

pair(simulation)[source]
serialize(include_class=True, save_dynamic=False, **kwargs)[source]

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.

property srcList

srcList has been deprecated. See source_list for documentation

validate()[source]

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

set_active_interval(tmin, tmax)[source]

Set active times using an interval