Time Domain Electromagnetics¶
The quasistatic time domain Maxwell’s equations are given by
where:
\(\vec{e}\) is the electric field
\(\vec{b}\) is the magnetic flux
\(\vec{h}\) is the magnetic field
\(\vec{j}\) is the current density
\(\vec{s}_m\) is the magnetic source term
\(\vec{s}_e\) is the electric source term
TDEM Simulation¶

class
SimPEG.electromagnetics.time_domain.simulation.
BaseTDEMSimulation
(*args, **kwargs)[source]¶ Bases:
SimPEG.simulation.BaseTimeSimulation
,SimPEG.electromagnetics.base.BaseEMSimulation
We start with the first order form of Maxwell’s equations, eliminate and solve the second order form. For the time discretization, we use backward Euler.
Required Properties:
counter (
Counter
): A SimPEG.utils.Counter object, an instance of Countermesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshsensitivity_path (
String
): path to store the sensitivty, a unicode string, Default: ./sensitivity/None
solver_opts (
Dictionary
): solver options as a kwarg dict, a dictionarysurvey (
Survey
): a survey object, an instance of Surveyt0 (
Float
): Origin of the time discretization, a float, Default: 0.0 time_steps (
TimeStepArray
): Sets/gets the time steps for the time domain simulation. You can set as an array of dt’s or as a list of tuples/floats. Tuples must be length two with […, (dt, repeat), …] For example, the following setters are the same:
sim.time_steps = [(1e6, 3), 1e5, (1e4, 2)] sim.time_steps = np.r_[1e6,1e6,1e6,1e5,1e4,1e4]
, an array or list of tuples specifying the mesh tensor of <class ‘float’> with shape (*)
 time_steps (
Optional Properties:
model (
Model
): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)mu (
PhysicalProperty
): Magnetic Permeability (H/m), a physical property, Default: 1.25663706212e06mui (
PhysicalProperty
): Inverse Magnetic Permeability (m/H), a physical propertyrho (
PhysicalProperty
): Electrical resistivity (Ohm m), a physical propertyrhoMap (
Mapping
): Mapping of Electrical resistivity (Ohm m) to the inversion model., a SimPEG Mapsigma (
PhysicalProperty
): Electrical conductivity (S/m), a physical propertysigmaMap (
Mapping
): Mapping of Electrical conductivity (S/m) to the inversion model., a SimPEG Map
Other Properties:
rhoDeriv (
Derivative
): Derivative of Electrical resistivity (Ohm m) wrt the model.sigmaDeriv (
Derivative
): Derivative of Electrical conductivity (S/m) wrt the model.

clean_on_model_update
= ['_Adcinv']¶ clear DC matrix factors on any model updates

dt_threshold
= 1e08¶

fields
(m)[source]¶ Solve the forward problem for the fields.
 Parameters
m (numpy.ndarray) – inversion model (nP,)
 Return type
 Return f
fields object

Jvec
(m, v, f=None)[source]¶ Jvec computes the sensitivity times a vector
\[\mathbf{J} \mathbf{v} = \frac{d\mathbf{P}}{d\mathbf{F}} \left( \frac{d\mathbf{F}}{d\mathbf{u}} \frac{d\mathbf{u}}{d\mathbf{m}} + \frac{\partial\mathbf{F}}{\partial\mathbf{m}} \right) \mathbf{v}\]where
\[\mathbf{A} \frac{d\mathbf{u}}{d\mathbf{m}} + \frac{\partial \mathbf{A}(\mathbf{u}, \mathbf{m})} {\partial\mathbf{m}} = \frac{d \mathbf{RHS}}{d \mathbf{m}}\]

Jtvec
(m, v, f=None)[source]¶ Jvec computes the adjoint of the sensitivity times a vector
\[\mathbf{J}^\top \mathbf{v} = \left( \frac{d\mathbf{u}}{d\mathbf{m}} ^ \top \frac{d\mathbf{F}}{d\mathbf{u}} ^ \top + \frac{\partial\mathbf{F}}{\partial\mathbf{m}} ^ \top \right) \frac{d\mathbf{P}}{d\mathbf{F}} ^ \top \mathbf{v}\]where
\[\frac{d\mathbf{u}}{d\mathbf{m}} ^\top \mathbf{A}^\top + \frac{d\mathbf{A}(\mathbf{u})}{d\mathbf{m}} ^ \top = \frac{d \mathbf{RHS}}{d \mathbf{m}} ^ \top\]

getSourceTerm
(tInd)[source]¶ Assemble the source term. This ensures that the RHS is a vector / array of the correct size

property
Adcinv
¶

class
SimPEG.electromagnetics.time_domain.simulation.
Simulation3DMagneticFluxDensity
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.BaseTDEMSimulation
Starting from the quasistatic EB formulation of Maxwell’s equations (semidiscretized)
\[\begin{split}\mathbf{C} \mathbf{e} + \frac{\partial \mathbf{b}}{\partial t} = \mathbf{s_m} \\ \mathbf{C}^{\top} \mathbf{M_{\mu^{1}}^f} \mathbf{b}  \mathbf{M_{\sigma}^e} \mathbf{e} = \mathbf{s_e}\end{split}\]where \(\mathbf{s_e}\) is an integrated quantity, we eliminate \(\mathbf{e}\) using
\[\mathbf{e} = \mathbf{M_{\sigma}^e}^{1} \mathbf{C}^{\top} \mathbf{M_{\mu^{1}}^f} \mathbf{b}  \mathbf{M_{\sigma}^e}^{1} \mathbf{s_e}\]to obtain a second order semidiscretized system in \(\mathbf{b}\)
\[\mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{C}^{\top} \mathbf{M_{\mu^{1}}^f} \mathbf{b} + \frac{\partial \mathbf{b}}{\partial t} = \mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{s_e} + \mathbf{s_m}\]and moving everything except the time derivative to the rhs gives
\[\frac{\partial \mathbf{b}}{\partial t} = \mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{C}^{\top} \mathbf{M_{\mu^{1}}^f} \mathbf{b} + \mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{s_e} + \mathbf{s_m}\]For the time discretization, we use backward euler. To solve for the \(n+1\) th time step, we have
\[\frac{\mathbf{b}^{n+1}  \mathbf{b}^{n}}{\mathbf{dt}} = \mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{C}^{\top} \mathbf{M_{\mu^{1}}^f} \mathbf{b}^{n+1} + \mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{s_e}^{n+1} + \mathbf{s_m}^{n+1}\]rearranging to put \(\mathbf{b}^{n+1}\) on the left hand side gives
\[(\mathbf{I} + \mathbf{dt} \mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{C}^{\top} \mathbf{M_{\mu^{1}}^f}) \mathbf{b}^{n+1} = \mathbf{b}^{n} + \mathbf{dt}(\mathbf{C} \mathbf{M_{\sigma}^e}^{1} \mathbf{s_e}^{n+1} + \mathbf{s_m}^{n+1})\]Required Properties:
counter (
Counter
): A SimPEG.utils.Counter object, an instance of Countermesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshsensitivity_path (
String
): path to store the sensitivty, a unicode string, Default: ./sensitivity/None
solver_opts (
Dictionary
): solver options as a kwarg dict, a dictionarysurvey (
Survey
): a survey object, an instance of Surveyt0 (
Float
): Origin of the time discretization, a float, Default: 0.0 time_steps (
TimeStepArray
): Sets/gets the time steps for the time domain simulation. You can set as an array of dt’s or as a list of tuples/floats. Tuples must be length two with […, (dt, repeat), …] For example, the following setters are the same:
sim.time_steps = [(1e6, 3), 1e5, (1e4, 2)] sim.time_steps = np.r_[1e6,1e6,1e6,1e5,1e4,1e4]
, an array or list of tuples specifying the mesh tensor of <class ‘float’> with shape (*)
 time_steps (
Optional Properties:
model (
Model
): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)mu (
PhysicalProperty
): Magnetic Permeability (H/m), a physical property, Default: 1.25663706212e06mui (
PhysicalProperty
): Inverse Magnetic Permeability (m/H), a physical propertyrho (
PhysicalProperty
): Electrical resistivity (Ohm m), a physical propertyrhoMap (
Mapping
): Mapping of Electrical resistivity (Ohm m) to the inversion model., a SimPEG Mapsigma (
PhysicalProperty
): Electrical conductivity (S/m), a physical propertysigmaMap (
Mapping
): Mapping of Electrical conductivity (S/m) to the inversion model., a SimPEG Map
Other Properties:
rhoDeriv (
Derivative
): Derivative of Electrical resistivity (Ohm m) wrt the model.sigmaDeriv (
Derivative
): Derivative of Electrical conductivity (S/m) wrt the model.

fieldsPair
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.Fields3DMagneticFluxDensity

Fields_Derivs
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.FieldsDerivativesEB

class
SimPEG.electromagnetics.time_domain.simulation.
Simulation3DElectricField
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.BaseTDEMSimulation
Solve the EBformulation of Maxwell’s equations for the electric field, e.
Starting with
\[\nabla \times \mathbf{e} + \frac{\partial \mathbf{b}}{\partial t} = \mathbf{s_m} \ \nabla \times \mu^{1} \mathbf{b}  \sigma \mathbf{e} = \mathbf{s_e}\]we eliminate \(\frac{\partial b}{\partial t}\) using
\[\frac{\partial \mathbf{b}}{\partial t} =  \nabla \times \mathbf{e} + \mathbf{s_m}\]taking the timederivative of Ampere’s law, we see
\[\frac{\partial}{\partial t}\left( \nabla \times \mu^{1} \mathbf{b}  \sigma \mathbf{e} \right) = \frac{\partial \mathbf{s_e}}{\partial t} \ \nabla \times \mu^{1} \frac{\partial \mathbf{b}}{\partial t}  \sigma \frac{\partial\mathbf{e}}{\partial t} = \frac{\partial \mathbf{s_e}}{\partial t}\]which gives us
\[\nabla \times \mu^{1} \nabla \times \mathbf{e} + \sigma \frac{\partial\mathbf{e}}{\partial t} = \nabla \times \mu^{1} \mathbf{s_m} + \frac{\partial \mathbf{s_e}}{\partial t}\]Required Properties:
counter (
Counter
): A SimPEG.utils.Counter object, an instance of Countermesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshsensitivity_path (
String
): path to store the sensitivty, a unicode string, Default: ./sensitivity/None
solver_opts (
Dictionary
): solver options as a kwarg dict, a dictionarysurvey (
Survey
): a survey object, an instance of Surveyt0 (
Float
): Origin of the time discretization, a float, Default: 0.0 time_steps (
TimeStepArray
): Sets/gets the time steps for the time domain simulation. You can set as an array of dt’s or as a list of tuples/floats. Tuples must be length two with […, (dt, repeat), …] For example, the following setters are the same:
sim.time_steps = [(1e6, 3), 1e5, (1e4, 2)] sim.time_steps = np.r_[1e6,1e6,1e6,1e5,1e4,1e4]
, an array or list of tuples specifying the mesh tensor of <class ‘float’> with shape (*)
 time_steps (
Optional Properties:
model (
Model
): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)mu (
PhysicalProperty
): Magnetic Permeability (H/m), a physical property, Default: 1.25663706212e06mui (
PhysicalProperty
): Inverse Magnetic Permeability (m/H), a physical propertyrho (
PhysicalProperty
): Electrical resistivity (Ohm m), a physical propertyrhoMap (
Mapping
): Mapping of Electrical resistivity (Ohm m) to the inversion model., a SimPEG Mapsigma (
PhysicalProperty
): Electrical conductivity (S/m), a physical propertysigmaMap (
Mapping
): Mapping of Electrical conductivity (S/m) to the inversion model., a SimPEG Map
Other Properties:
rhoDeriv (
Derivative
): Derivative of Electrical resistivity (Ohm m) wrt the model.sigmaDeriv (
Derivative
): Derivative of Electrical conductivity (S/m) wrt the model.

fieldsPair
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.Fields3DElectricField

Fields_Derivs
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.FieldsDerivativesEB

getAdiagDeriv
(tInd, u, v, adjoint=False)[source]¶ Deriv of ADiag with respect to electrical conductivity

class
SimPEG.electromagnetics.time_domain.simulation.
Simulation3DMagneticField
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.BaseTDEMSimulation
Solve the HJ formulation of Maxwell’s equations for the magnetic field h.
We start with Maxwell’s equations in terms of the magnetic field and current density
\[\nabla \times \rho \mathbf{j} + \mu \frac{\partial h}{\partial t} = \mathbf{s_m} \ \nabla \times \mathbf{h}  \mathbf{j} = \mathbf{s_e}\]and eliminate \(\mathbf{j}\) using
\[\mathbf{j} = \nabla \times \mathbf{h}  \mathbf{s_e}\]giving
\[\nabla \times \rho \nabla \times \mathbf{h} + \mu \frac{\partial h}{\partial t} = \nabla \times \rho \mathbf{s_e} + \mathbf{s_m}\]Required Properties:
counter (
Counter
): A SimPEG.utils.Counter object, an instance of Countermesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshsensitivity_path (
String
): path to store the sensitivty, a unicode string, Default: ./sensitivity/None
solver_opts (
Dictionary
): solver options as a kwarg dict, a dictionarysurvey (
Survey
): a survey object, an instance of Surveyt0 (
Float
): Origin of the time discretization, a float, Default: 0.0 time_steps (
TimeStepArray
): Sets/gets the time steps for the time domain simulation. You can set as an array of dt’s or as a list of tuples/floats. Tuples must be length two with […, (dt, repeat), …] For example, the following setters are the same:
sim.time_steps = [(1e6, 3), 1e5, (1e4, 2)] sim.time_steps = np.r_[1e6,1e6,1e6,1e5,1e4,1e4]
, an array or list of tuples specifying the mesh tensor of <class ‘float’> with shape (*)
 time_steps (
Optional Properties:
model (
Model
): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)mu (
PhysicalProperty
): Magnetic Permeability (H/m), a physical property, Default: 1.25663706212e06mui (
PhysicalProperty
): Inverse Magnetic Permeability (m/H), a physical propertyrho (
PhysicalProperty
): Electrical resistivity (Ohm m), a physical propertyrhoMap (
Mapping
): Mapping of Electrical resistivity (Ohm m) to the inversion model., a SimPEG Mapsigma (
PhysicalProperty
): Electrical conductivity (S/m), a physical propertysigmaMap (
Mapping
): Mapping of Electrical conductivity (S/m) to the inversion model., a SimPEG Map
Other Properties:
rhoDeriv (
Derivative
): Derivative of Electrical resistivity (Ohm m) wrt the model.sigmaDeriv (
Derivative
): Derivative of Electrical conductivity (S/m) wrt the model.

fieldsPair
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.Fields3DMagneticField

Fields_Derivs
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.FieldsDerivativesHJ

class
SimPEG.electromagnetics.time_domain.simulation.
Simulation3DCurrentDensity
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.BaseTDEMSimulation
Solve the HJ formulation for current density
In this case, we eliminate \(\partial \mathbf{h} / \partial t\) and solve for \(\mathbf{j}\)
Required Properties:
counter (
Counter
): A SimPEG.utils.Counter object, an instance of Countermesh (
BaseMesh
): a discretize mesh instance, an instance of BaseMeshsensitivity_path (
String
): path to store the sensitivty, a unicode string, Default: ./sensitivity/None
solver_opts (
Dictionary
): solver options as a kwarg dict, a dictionarysurvey (
Survey
): a survey object, an instance of Surveyt0 (
Float
): Origin of the time discretization, a float, Default: 0.0 time_steps (
TimeStepArray
): Sets/gets the time steps for the time domain simulation. You can set as an array of dt’s or as a list of tuples/floats. Tuples must be length two with […, (dt, repeat), …] For example, the following setters are the same:
sim.time_steps = [(1e6, 3), 1e5, (1e4, 2)] sim.time_steps = np.r_[1e6,1e6,1e6,1e5,1e4,1e4]
, an array or list of tuples specifying the mesh tensor of <class ‘float’> with shape (*)
 time_steps (
Optional Properties:
model (
Model
): Inversion model., a numpy array of <class ‘float’>, <class ‘int’> with shape (*) or (*, *)mu (
PhysicalProperty
): Magnetic Permeability (H/m), a physical property, Default: 1.25663706212e06mui (
PhysicalProperty
): Inverse Magnetic Permeability (m/H), a physical propertyrho (
PhysicalProperty
): Electrical resistivity (Ohm m), a physical propertyrhoMap (
Mapping
): Mapping of Electrical resistivity (Ohm m) to the inversion model., a SimPEG Mapsigma (
PhysicalProperty
): Electrical conductivity (S/m), a physical propertysigmaMap (
Mapping
): Mapping of Electrical conductivity (S/m) to the inversion model., a SimPEG Map
Other Properties:
rhoDeriv (
Derivative
): Derivative of Electrical resistivity (Ohm m) wrt the model.sigmaDeriv (
Derivative
): Derivative of Electrical conductivity (S/m) wrt the model.

fieldsPair
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.Fields3DCurrentDensity

Fields_Derivs
[source]¶ alias of
SimPEG.electromagnetics.time_domain.fields.FieldsDerivativesHJ

class
SimPEG.electromagnetics.time_domain.simulation.
Problem3D_e
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.Simulation3DElectricField
This class has been deprecated, see Simulation3DElectricField for documentation

class
SimPEG.electromagnetics.time_domain.simulation.
Problem3D_b
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.Simulation3DMagneticFluxDensity
This class has been deprecated, see Simulation3DMagneticFluxDensity for documentation

class
SimPEG.electromagnetics.time_domain.simulation.
Problem3D_h
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.Simulation3DMagneticField
This class has been deprecated, see Simulation3DMagneticField for documentation

class
SimPEG.electromagnetics.time_domain.simulation.
Problem3D_j
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.simulation.Simulation3DCurrentDensity
This class has been deprecated, see Simulation3DCurrentDensity for documentation
Fields¶

class
SimPEG.electromagnetics.time_domain.fields.
FieldsTDEM
(*args, **kwargs)[source]¶ Bases:
SimPEG.fields.TimeFields
Fancy Field Storage for a TDEM simulation. Only one field type is stored for each problem, the rest are computed. The fields obejct acts like an array and is indexed by
f = problem.fields(m) e = f[source_list,'e'] b = f[source_list,'b']
If accessing all sources for a given field, use the
:
f = problem.fields(m) e = f[:,'e'] b = f[:,'b']
The array returned will be size (nE or nF, nSrcs \(\times\) nFrequencies)
Required Properties:
 aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary
 aliasFields (
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {}¶

dtype
¶ alias of
builtins.float

property
aliasFields
¶ aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary

property
approxSize
¶ The approximate cost to storing all of the known fields.

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 JSONcompatible 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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
FieldsDerivativesEB
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsTDEM
A fields object for satshing derivs in the EB formulation
Required Properties:
 aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary
 aliasFields (
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {'bDeriv': 'F', 'dbdtDeriv': 'F', 'dhdtDeriv': 'F', 'eDeriv': 'E', 'hDeriv': 'F', 'jDeriv': 'E'}¶

property
aliasFields
¶ aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
FieldsDerivativesHJ
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsTDEM
A fields object for satshing derivs in the HJ formulation
Required Properties:
 aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary
 aliasFields (
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {'bDeriv': 'E', 'dbdtDeriv': 'E', 'dhdtDeriv': 'E', 'eDeriv': 'F', 'hDeriv': 'E', 'jDeriv': 'F'}¶

property
aliasFields
¶ aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
Fields3DMagneticFluxDensity
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsTDEM
Field Storage for a TDEM simulation.
Required Properties:
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {'bSolution': 'F'}¶

aliasFields
= {'b': ['bSolution', 'F', '_b'], 'dbdt': ['bSolution', 'F', '_dbdt'], 'dhdt': ['bSolution', 'F', '_dhdt'], 'e': ['bSolution', 'E', '_e'], 'h': ['bSolution', 'F', '_h'], 'j': ['bSolution', 'E', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
Fields3DElectricField
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsTDEM
Fancy Field Storage for a TDEM simulation.
Required Properties:
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {'eSolution': 'E'}¶

aliasFields
= {'b': ['eSolution', 'F', '_b'], 'dbdt': ['eSolution', 'F', '_dbdt'], 'dhdt': ['eSolution', 'F', '_dhdt'], 'e': ['eSolution', 'E', '_e'], 'j': ['eSolution', 'E', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
Fields3DMagneticField
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsTDEM
Fancy Field Storage for a TDEM simulation.
Required Properties:
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {'hSolution': 'E'}¶

aliasFields
= {'b': ['hSolution', 'E', '_b'], 'charge': ['hSolution', 'CC', '_charge'], 'dbdt': ['hSolution', 'E', '_dbdt'], 'dhdt': ['hSolution', 'E', '_dhdt'], 'e': ['hSolution', 'F', '_e'], 'h': ['hSolution', 'E', '_h'], 'j': ['hSolution', 'F', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
Fields3DCurrentDensity
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsTDEM
Fancy Field Storage for a TDEM simulation.
Required Properties:
simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

knownFields
= {'jSolution': 'F'}¶

aliasFields
= {'charge': ['jSolution', 'CC', '_charge'], 'charge_density': ['jSolution', 'CC', '_charge_density'], 'dbdt': ['jSolution', 'E', '_dbdt'], 'dhdt': ['jSolution', 'E', '_dhdt'], 'e': ['jSolution', 'F', '_e'], 'j': ['jSolution', 'F', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

class
SimPEG.electromagnetics.time_domain.fields.
Fields_Derivs_eb
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsDerivativesEB
This class has been deprecated, see FieldsDerivativesEB for documentation

property
aliasFields
¶ aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
.

knownFields
= {'bDeriv': 'F', 'dbdtDeriv': 'F', 'dhdtDeriv': 'F', 'eDeriv': 'E', 'hDeriv': 'F', 'jDeriv': 'E'}¶

property
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

property

class
SimPEG.electromagnetics.time_domain.fields.
Fields_Derivs_hj
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.FieldsDerivativesHJ
This class has been deprecated, see FieldsDerivativesHJ for documentation

property
aliasFields
¶ aliasFields (
Dictionary
): a dictionary of the aliased fields with [alias, location, function], e.g. {“b”:[“e”,”F”,lambda(F,e,ind)]} , a dictionary

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
.

knownFields
= {'bDeriv': 'E', 'dbdtDeriv': 'E', 'dhdtDeriv': 'E', 'eDeriv': 'F', 'hDeriv': 'E', 'jDeriv': 'F'}¶

property
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

property

class
SimPEG.electromagnetics.time_domain.fields.
Fields3D_b
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.Fields3DMagneticFluxDensity
This class has been deprecated, see Fields3DMagneticFluxDensity for documentation

aliasFields
= {'b': ['bSolution', 'F', '_b'], 'dbdt': ['bSolution', 'F', '_dbdt'], 'dhdt': ['bSolution', 'F', '_dhdt'], 'e': ['bSolution', 'E', '_e'], 'h': ['bSolution', 'F', '_h'], 'j': ['bSolution', 'E', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
.

knownFields
= {'bSolution': 'F'}¶

property
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶


class
SimPEG.electromagnetics.time_domain.fields.
Fields3D_e
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.Fields3DElectricField
This class has been deprecated, see Fields3DElectricField for documentation

aliasFields
= {'b': ['eSolution', 'F', '_b'], 'dbdt': ['eSolution', 'F', '_dbdt'], 'dhdt': ['eSolution', 'F', '_dhdt'], 'e': ['eSolution', 'E', '_e'], 'j': ['eSolution', 'E', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
.

knownFields
= {'eSolution': 'E'}¶

property
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶


class
SimPEG.electromagnetics.time_domain.fields.
Fields3D_h
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.Fields3DMagneticField
This class has been deprecated, see Fields3DMagneticField for documentation

aliasFields
= {'b': ['hSolution', 'E', '_b'], 'charge': ['hSolution', 'CC', '_charge'], 'dbdt': ['hSolution', 'E', '_dbdt'], 'dhdt': ['hSolution', 'E', '_dhdt'], 'e': ['hSolution', 'F', '_e'], 'h': ['hSolution', 'E', '_h'], 'j': ['hSolution', 'F', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
.

knownFields
= {'hSolution': 'E'}¶

property
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶


class
SimPEG.electromagnetics.time_domain.fields.
Fields3D_j
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.fields.Fields3DCurrentDensity
This class has been deprecated, see Fields3DCurrentDensity for documentation

aliasFields
= {'charge': ['jSolution', 'CC', '_charge'], 'charge_density': ['jSolution', 'CC', '_charge_density'], 'dbdt': ['jSolution', 'E', '_dbdt'], 'dhdt': ['jSolution', 'E', '_dhdt'], 'e': ['jSolution', 'F', '_e'], 'j': ['jSolution', 'F', '_j']}¶

property
approxSize
¶ The approximate cost to storing all of the known fields.

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

dtype
¶ alias of
builtins.float

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
.

knownFields
= {'jSolution': 'F'}¶

property
mesh
¶

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 JSONcompatible 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
simulation
¶ simulation (
BaseTimeSimulation
): a SimPEG time simulation, an instance of BaseTimeSimulation

property
survey
¶

Sources¶

class
SimPEG.electromagnetics.time_domain.sources.
BaseWaveform
(*args, **kwargs)[source]¶ Bases:
properties.base.base.HasProperties
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0

property
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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 JSONcompatible 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 JSONcompatible 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.time_domain.sources.
StepOffWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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 JSONcompatible 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.time_domain.sources.
RampOffWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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 JSONcompatible 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.time_domain.sources.
RawWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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 JSONcompatible 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.time_domain.sources.
VTEMWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
Required Properties:
a (
Float
): parameter controlling how quickly the waveform ramps on, a float, Default: 3.0eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0042peakTime (
Float
): Time at which the VTEM waveform is at its peak, a float, Default: 0.00273

property
peakTime
¶ peakTime (
Float
): Time at which the VTEM waveform is at its peak, a float, Default: 0.00273

property
a
¶ a (
Float
): parameter controlling how quickly the waveform ramps on, a float, Default: 3.0

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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 JSONcompatible 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.time_domain.sources.
TrapezoidWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
A waveform that has a linear rampon and a linear rampoff.
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0 ramp_off (
Array
): times over which we ramp off the waveform [time starting to ramp off, time off] , a list or numpy array of <class ‘float’> with shape (2)
 ramp_off (
 ramp_on (
Array
): times over which the transmitter ramps on [time starting to ramp on, time fully on] , a list or numpy array of <class ‘float’> with shape (2)
 ramp_on (

property
ramp_on
¶ ramp_on (
Array
): times over which the transmitter ramps on [time starting to ramp on, time fully on] , a list or numpy array of <class ‘float’> with shape (2)

property
ramp_off
¶ ramp_off (
Array
): times over which we ramp off the waveform [time starting to ramp off, time off] , a list or numpy array of <class ‘float’> with shape (2)

property
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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 JSONcompatible 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.time_domain.sources.
TriangularWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.TrapezoidWaveform
TriangularWaveform is a special case of TrapezoidWaveform where there’s no pleateau
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a floatpeakTime (
Float
): Time at which the Triangular waveform is at its peak, a float ramp_off (
Array
): times over which we ramp off the waveform [time starting to ramp off, time off] , a list or numpy array of <class ‘float’> with shape (2)
 ramp_off (
 ramp_on (
Array
): times over which the transmitter ramps on [time starting to ramp on, time fully on] , a list or numpy array of <class ‘float’> with shape (2)
 ramp_on (

property
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

property
ramp_on
¶ ramp_on (
Array
): times over which the transmitter ramps on [time starting to ramp on, time fully on] , a list or numpy array of <class ‘float’> with shape (2)

property
ramp_off
¶ ramp_off (
Array
): times over which we ramp off the waveform [time starting to ramp off, time off] , a list or numpy array of <class ‘float’> with shape (2)

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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 JSONcompatible 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.time_domain.sources.
QuarterSineRampOnWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
A waveform that has a quartersine rampon and a linear rampoff
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0ramp_off (
Array
): times over which we ramp off the waveform, a list or numpy array of <class ‘float’> with shape (2)ramp_on (
Array
): times over which the transmitter ramps on, a list or numpy array of <class ‘float’> with shape (2)

property
ramp_on
¶ ramp_on (
Array
): times over which the transmitter ramps on, a list or numpy array of <class ‘float’> with shape (2)

property
ramp_off
¶ ramp_off (
Array
): times over which we ramp off the waveform, a list or numpy array of <class ‘float’> with shape (2)

property
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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 JSONcompatible 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.time_domain.sources.
HalfSineWaveform
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseWaveform
A waveform that has a quartersine rampon and a quartercosine rampoff. When the end of rampon and start of ramp off are on the same spot, it looks like a half sine wave.
Required Properties:
eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: FalseoffTime (
Float
): offtime of the source, a float, Default: 0.0ramp_off (
Array
): times over which we ramp off the waveform, a list or numpy array of <class ‘float’> with shape (2)ramp_on (
Array
): times over which the transmitter ramps on, a list or numpy array of <class ‘float’> with shape (2)

property
ramp_on
¶ ramp_on (
Array
): times over which the transmitter ramps on, a list or numpy array of <class ‘float’> with shape (2)

property
ramp_off
¶ ramp_off (
Array
): times over which we ramp off the waveform, a list or numpy array of <class ‘float’> with shape (2)

property
hasInitialFields
¶ hasInitialFields (
Boolean
): Does the waveform have initial fields?, a boolean, Default: False

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

property
eps
¶ eps (
Float
): window of time within which the waveform is considered on, a float, Default: 1e09

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 JSONcompatible 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.time_domain.sources.
BaseTDEMSrc
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.base.BaseEMSrc
Required Properties:
integrate (
Boolean
): integrate the source term?, a boolean, Default: Falsereceiver_list (a list of
BaseRx
): receiver list, a list (each item is an instance of BaseRx)srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>
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
waveform
¶ waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

property
srcType
¶ srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”

eval
(prob, time)[source]¶ \(s_m\) : magnetic source term
\(s_e\) : electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
tuple with magnetic source term and electric source term

evalDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivatives of the source terms with respect to the inversion model 
s_mDeriv
: derivative of the magnetic source term s_eDeriv
: derivative of the electric source term Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
tuple with magnetic source term and electric source term derivatives times a vector

s_m
(prob, time)[source]¶ Magnetic source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
magnetic source term on mesh

s_e
(prob, time)[source]¶ Electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
electric source term on mesh

s_mDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of magnetic source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of magnetic source term derivative with a vector

s_eDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of electric source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of electric source term derivative with a vector

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 JSONcompatible 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 JSONcompatible 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.time_domain.sources.
MagDipole
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseTDEMSrc
Required Properties:
integrate (
Boolean
): integrate the source term?, a boolean, Default: Falselocation (
LocationVector
): location of the source, A location array (1dimensional numpy array) of <class ‘float’>, <class ‘int’> with shape (3), Default: [0. 0. 0.]moment (
Float
): dipole moment of the transmitter, a float in range [0.0, inf], Default: 1.0mu (
Float
): permeability of the background, a float in range [0.0, inf], Default: 1.25663706212e06orientation (
Vector3
): orientation of the source, a 3D Vector of <class ‘float’> with shape (3), Default: Zreceiver_list (a list of
BaseRx
): receiver list, a list (each item is an instance of BaseRx)srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

property
moment
¶ moment (
Float
): dipole moment of the transmitter, a float in range [0.0, inf], Default: 1.0

property
mu
¶ mu (
Float
): permeability of the background, a float in range [0.0, inf], Default: 1.25663706212e06

property
orientation
¶ orientation (
Vector3
): orientation of the source, a 3D Vector of <class ‘float’> with shape (3), Default: Z

property
location
¶ location (
LocationVector
): location of the source, A location array (1dimensional numpy array) of <class ‘float’>, <class ‘int’> with shape (3), Default: [0. 0. 0.]

property
loc
¶ loc has been deprecated. See location for documentation

s_m
(prob, time)[source]¶ Magnetic source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
magnetic source term on mesh

s_e
(prob, time)[source]¶ Electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
electric source term on mesh

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 JSONcompatible 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
(prob, time)[source]¶ \(s_m\) : magnetic source term
\(s_e\) : electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
tuple with magnetic source term and electric source term

evalDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivatives of the source terms with respect to the inversion model 
s_mDeriv
: derivative of the magnetic source term s_eDeriv
: derivative of the electric source term Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
tuple with magnetic source term and electric source term derivatives times a vector

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

s_eDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of electric source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of electric source term derivative with a vector

s_mDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of magnetic source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of magnetic source term derivative with a vector

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 JSONcompatible 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
srcType
¶ srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”

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
waveform
¶ waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

class
SimPEG.electromagnetics.time_domain.sources.
CircularLoop
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.MagDipole
Required Properties:
N (
Float
): number of turns in the loop, a float, Default: 1.0current (
Float
): current in the loop, a float, Default: 1.0integrate (
Boolean
): integrate the source term?, a boolean, Default: Falselocation (
LocationVector
): location of the source, A location array (1dimensional numpy array) of <class ‘float’>, <class ‘int’> with shape (3), Default: [0. 0. 0.]mu (
Float
): permeability of the background, a float in range [0.0, inf], Default: 1.25663706212e06orientation (
Vector3
): orientation of the source, a 3D Vector of <class ‘float’> with shape (3), Default: Zradius (
Float
): radius of the loop source, a float in range [0.0, inf], Default: 1.0receiver_list (a list of
BaseRx
): receiver list, a list (each item is an instance of BaseRx)srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

property
radius
¶ radius (
Float
): radius of the loop source, a float in range [0.0, inf], Default: 1.0

property
moment
¶ moment (
Float
): dipole moment of the transmitter, a float in range [0.0, inf], Default: 1.0

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 JSONcompatible 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
(prob, time)[source]¶ \(s_m\) : magnetic source term
\(s_e\) : electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
tuple with magnetic source term and electric source term

evalDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivatives of the source terms with respect to the inversion model 
s_mDeriv
: derivative of the magnetic source term s_eDeriv
: derivative of the electric source term Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
tuple with magnetic source term and electric source term derivatives times a vector

property
loc
¶ loc has been deprecated. See location for documentation

property
location
¶ location (
LocationVector
): location of the source, A location array (1dimensional numpy array) of <class ‘float’>, <class ‘int’> with shape (3), Default: [0. 0. 0.]

property
mu
¶ mu (
Float
): permeability of the background, a float in range [0.0, inf], Default: 1.25663706212e06

property
nD
¶ Number of data

property
orientation
¶ orientation (
Vector3
): orientation of the source, a 3D Vector of <class ‘float’> with shape (3), Default: Z

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

s_e
(prob, time)[source]¶ Electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
electric source term on mesh

s_eDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of electric source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of electric source term derivative with a vector

s_m
(prob, time)[source]¶ Magnetic source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
magnetic source term on mesh

s_mDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of magnetic source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of magnetic source term derivative with a vector

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 JSONcompatible 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
srcType
¶ srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”

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
waveform
¶ waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

class
SimPEG.electromagnetics.time_domain.sources.
LineCurrent
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseTDEMSrc
RawVec electric source. It is defined by the user provided vector s_e
 param list rxList
receiver list
 param bool integrate
Integrate the source term (multiply by Me) [False]
Required Properties:
current (
Float
): current in the line, a float, Default: 1.0integrate (
Boolean
): integrate the source term?, a boolean, Default: Falselocation (
Array
): location of the source, 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)srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

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

property
loc
¶ loc has been deprecated. See location for documentation

s_m
(prob, time)[source]¶ Magnetic source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
magnetic source term on mesh

s_e
(prob, time)[source]¶ Electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
electric source term on mesh

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 JSONcompatible 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
(prob, time)[source]¶ \(s_m\) : magnetic source term
\(s_e\) : electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
tuple with magnetic source term and electric source term

evalDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivatives of the source terms with respect to the inversion model 
s_mDeriv
: derivative of the magnetic source term s_eDeriv
: derivative of the electric source term Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
tuple with magnetic source term and electric source term derivatives times a vector

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

s_eDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of electric source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of electric source term derivative with a vector

s_mDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of magnetic source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of magnetic source term derivative with a vector

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 JSONcompatible 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
srcType
¶ srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”

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
waveform
¶ waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>

class
SimPEG.electromagnetics.time_domain.sources.
RawVec_Grounded
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.sources.BaseTDEMSrc
Required Properties:
integrate (
Boolean
): integrate the source term?, a boolean, Default: Falsereceiver_list (a list of
BaseRx
): receiver list, a list (each item is an instance of BaseRx)srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>
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 (*)

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 JSONcompatible 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
(prob, time)[source]¶ \(s_m\) : magnetic source term
\(s_e\) : electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
tuple with magnetic source term and electric source term

evalDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivatives of the source terms with respect to the inversion model 
s_mDeriv
: derivative of the magnetic source term s_eDeriv
: derivative of the electric source term Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
tuple with magnetic source term and electric source term derivatives times a vector

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

s_e
(prob, time)[source]¶ Electric source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
electric source term on mesh

s_eDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of electric source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of electric source term derivative with a vector

s_m
(prob, time)[source]¶ Magnetic source term
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
 Return type
 Returns
magnetic source term on mesh

s_mDeriv
(prob, time, v=None, adjoint=False)[source]¶ Derivative of magnetic source term with respect to the inversion model
 Parameters
simulation (BaseFDEMSimulation) – FDEM Simulation
v (numpy.ndarray) – vector to take product with
adjoint (bool) – adjoint?
 Return type
 Returns
product of magnetic source term derivative with a vector

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 JSONcompatible 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
srcType
¶ srcType (
StringChoice
): is the source a galvanic of inductive source, either “inductive” or “galvanic”

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
waveform
¶ waveform (
BaseWaveform
): A source waveform, an instance of BaseWaveform, Default: <SimPEG.electromagnetics.time_domain.sources.StepOffWaveform object at 0x7ffb260216d0>
Receivers¶

class
SimPEG.electromagnetics.time_domain.receivers.
BaseRx
(*args, **kwargs)[source]¶ Bases:
SimPEG.survey.BaseTimeRx
Time domain receiver base class
 param numpy.ndarray locations
receiver locations (ie.
np.r_[x,y,z]
) param numpy.ndarray times
times
 param string orientation
receiver orientation ‘x’, ‘y’ or ‘z’
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> with shape (*)

property
projComp
¶ projComp has been deprecated. See orientation for documentation

property
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

eval
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

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

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

class
SimPEG.electromagnetics.time_domain.receivers.
PointElectricField
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.BaseRx
Electric field TDEM receiver
 param numpy.ndarray locations
receiver locations (ie.
np.r_[x,y,z]
) param numpy.ndarray times
times
 param string orientation
receiver orientation ‘x’, ‘y’ or ‘z’
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

class
SimPEG.electromagnetics.time_domain.receivers.
PointMagneticFluxDensity
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.BaseRx
Magnetic flux TDEM receiver
 param numpy.ndarray locations
receiver locations (ie.
np.r_[x,y,z]
) param numpy.ndarray times
times
 param string orientation
receiver orientation ‘x’, ‘y’ or ‘z’
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

class
SimPEG.electromagnetics.time_domain.receivers.
PointMagneticFluxTimeDerivative
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.BaseRx
dbdt TDEM receiver
 param numpy.ndarray locations
receiver locations (ie.
np.r_[x,y,z]
) param numpy.ndarray times
times
 param string orientation
receiver orientation ‘x’, ‘y’ or ‘z’
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> with shape (*)

eval
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

class
SimPEG.electromagnetics.time_domain.receivers.
PointMagneticField
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.BaseRx
Magnetic field TDEM receiver
 param numpy.ndarray locations
receiver locations (ie.
np.r_[x,y,z]
) param numpy.ndarray times
times
 param string orientation
receiver orientation ‘x’, ‘y’ or ‘z’
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

class
SimPEG.electromagnetics.time_domain.receivers.
PointCurrentDensity
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.BaseRx
Current density TDEM receiver
 param numpy.ndarray locations
receiver locations (ie.
np.r_[x,y,z]
) param numpy.ndarray times
times
 param string orientation
receiver orientation ‘x’, ‘y’ or ‘z’
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

class
SimPEG.electromagnetics.time_domain.receivers.
PointMagneticFieldTimeDerivative
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.BaseRx
Required Properties:
locations (
RxLocationArray
): Locations of the receivers (nRx x nDim), an array of receiver locations of <class ‘float’>, <class ‘int’> with shape (*, *)orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”storeProjections (
Boolean
): Store calls to getP (organized by mesh), a boolean, Default: Truetimes (
Array
): times where the recievers measure data, a list or numpy array of <class ‘float’>, <class ‘int’> 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

class
SimPEG.electromagnetics.time_domain.receivers.
Point_e
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.PointElectricField
This class has been deprecated, see PointElectricField 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

classmethod

class
SimPEG.electromagnetics.time_domain.receivers.
Point_b
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.PointMagneticFluxDensity
This class has been deprecated, see PointMagneticFluxDensity 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

classmethod

class
SimPEG.electromagnetics.time_domain.receivers.
Point_h
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.PointMagneticField
This class has been deprecated, see PointMagneticField 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

classmethod

class
SimPEG.electromagnetics.time_domain.receivers.
Point_j
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.PointCurrentDensity
This class has been deprecated, see PointCurrentDensity 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

classmethod

class
SimPEG.electromagnetics.time_domain.receivers.
Point_dbdt
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.PointMagneticFluxTimeDerivative
This class has been deprecated, see PointMagneticFluxTimeDerivative 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

classmethod

class
SimPEG.electromagnetics.time_domain.receivers.
Point_dhdt
(*args, **kwargs)[source]¶ Bases:
SimPEG.electromagnetics.time_domain.receivers.PointMagneticFieldTimeDerivative
This class has been deprecated, see PointMagneticFieldTimeDerivative 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 JSONcompatible 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
(src, mesh, time_mesh, f)[source]¶ Project fields to receivers to get data.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
f (Fields) – fields object
 Return type
 Returns
fields projected to recievers

evalDeriv
(src, mesh, time_mesh, f, v, adjoint=False)[source]¶ Derivative of projected fields with respect to the inversion model times a vector.
 Parameters
src (SimPEG.electromagnetics.time_domain.sources.BaseWaveform) – TDEM source
mesh (discretize.base.BaseMesh) – mesh used
time_mesh (discretize.base.BaseMesh) – time mesh
f (Fields) – fields object
v (numpy.ndarray) – vector to multiply
 Return type
 Returns
fields projected to recievers

getP
(mesh, time_mesh, f)[source]¶ Returns the projection matrices as a list for all components collected by the receivers.
Note
Projection matrices are stored as a dictionary (mesh, time_mesh) if storeProjections is True

getSpatialP
(mesh, f)[source]¶ Returns the spatial projection matrix.
Note
This is not stored in memory, but is created on demand.

getTimeP
(time_mesh, f)[source]¶ Returns the time projection matrix.
Note
This is not stored in memory, but is created on demand.

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
orientation
¶ orientation (
StringChoice
): orientation of the receiver. Must currently be ‘x’, ‘y’, ‘z’, any of “x”, “y”, “z”

property
projComp
¶ projComp has been deprecated. See orientation 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 JSONcompatible 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

classmethod
Survey¶

class
SimPEG.electromagnetics.time_domain.survey.
Survey
(*args, **kwargs)[source]¶ Bases:
SimPEG.survey.BaseSurvey
Time domain electromagnetic survey
Required Properties:
counter (
Counter
): A SimPEG counter object, an instance of Countersource_list (a list of
BaseTDEMSrc
): A list of sources for the survey, a list (each item is an instance of BaseTDEMSrc)

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

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