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 CounterindActive (
Array
): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)mesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshrefinement_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 dictionarysurvey (
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 (*)
-
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
= []¶
-
deleteTheseOnModelUpdate
= []¶
-
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
-
residual
(m, dobs, f=None)[source]¶ The data residual:
\[\mu_\text{data} = \mathbf{d}_\text{pred} - \mathbf{d}_\text{obs}\]- Parameters
m (numpy.ndarray) – geophysical model
f (numpy.ndarray) – fields
- Return type
- 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
-
property
survey
¶ survey (
BaseSurvey
): a survey object, an instance of BaseSurvey
-
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 CounterindActive (
Array
): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)mesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshrefinement_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 dictionarysurvey (
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 propertyxiMap (
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
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.
-
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
= []¶
-
deleteTheseOnModelUpdate
= []¶
-
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
.
-
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
-
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
m (numpy.ndarray) – geophysical model
f (numpy.ndarray) – fields
- Return type
- 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
-
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 CounterindActive (
Array
): Topography active cells, a list or numpy array of <class ‘bool’> with shape (*)mesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshrefinement_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 dictionarysurvey (
BaseSurvey
): a survey object, an instance of BaseSurvey
Optional Properties:
chi0 (
PhysicalProperty
): DC susceptibility, a physical propertydchi (
PhysicalProperty
): Frequency dependence, a physical propertymodel (
Model
): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*, *) or (*)tau1 (
PhysicalProperty
): Low bound time-relaxation constant, a physical propertytau2 (
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
= []¶
-
deleteTheseOnModelUpdate
= []¶
-
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
.
-
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
-
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
m (numpy.ndarray) – geophysical model
f (numpy.ndarray) – fields
- Return type
- 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
-
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.
-
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_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
-
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
= []¶
-
deleteTheseOnModelUpdate
= []¶
-
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
.
-
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
-
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
m (numpy.ndarray) – geophysical model
f (numpy.ndarray) – fields
- Return type
- 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
-
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.
-
property
-
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
dchi
¶ Frequency dependence
-
deleteTheseOnModelUpdate
= []¶
-
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
.
-
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
-
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
m (numpy.ndarray) – geophysical model
f (numpy.ndarray) – fields
- Return type
- 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
-
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
-
property
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
-
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.
-
class
SimPEG.electromagnetics.viscous_remanent_magnetization.waveforms.
SquarePulse
(*args, **kwargs)[source]¶ Bases:
properties.base.base.HasProperties
Required Properties:
-
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.
-
-
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.
-
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.
-
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 (*)
-
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.
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
.
-
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
.
-
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
.
-
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
.
-
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: CCstoreProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
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
.
-
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.
-
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: 1orientation (
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: CCquadOrder (
Integer
): Order for numerical quadrature integration over loop, an integer in range [1, 7], Default: 3storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
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
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
.
-
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
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 Countersource_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 (*)
-
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
.
-
property
nD
¶ Number of data
-
property
nSrc
¶ Number of Sources
-
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