simpeg.potential_fields.magnetics.Simulation3DDifferential#
- class simpeg.potential_fields.magnetics.Simulation3DDifferential(mesh, survey=None, mu=None, muMap=None, rem=None, remMap=None, storeJ=False, solver_dtype=<class 'numpy.float64'>, **kwargs)[source]#
Bases:
BaseMagneticPDESimulationA secondary field simulation for magnetic data.
- Parameters:
- mesh
discretize.base.BaseMesh - survey
magnetics.survey.Survey - mu
float, array_like Magnetic Permeability Model (H/ m). Set this for forward modeling or to fix while inverting for remanence. This is used if
muMapis None.- muMap
simpeg.maps.IdentityMap,optional The mapping used to go from the simulation model to
mu. Set this to invert formu.- rem
float, array_like Magnetic Polarization \(\mu_0 \mathbf{M}\) (nT). Set this for forward modeling or to fix remanent magnetization while inverting for permeability. This is used if
remMapis None.- remMap
simpeg.maps.IdentityMap,optional The mapping used to go from the simulation model to \(\mu_0 \mathbf{M}\). Set this to invert for \(\mu_0 \mathbf{M}\).
- storeJ: bool
Whether to store the sensitivity matrix. If set to True
- solver_dtype: dtype, optional
Data type to use for the matrix that gets passed to the
solver. Default to numpy.float64.
- mesh
Attributes
Get cell inner product matrix.
Get inverse of cell inner product matrix.
Get cell center property inner product matrix.
Get cell center property inner product inverse matrix.
Get cell center property inner product matrix.
Get cell center property inner product inverse matrix.
Get edge inner product matrix.
Get inverse of edge inner product matrix.
Get edge property inner product matrix.
Get edge property inner product inverse matrix.
Get edge property inner product matrix.
Get edge property inner product inverse matrix.
Get face inner product matrix.
Get inverse of face inner product matrix.
Get face property inner product matrix.
Get face property inner product inverse matrix.
Get face property inner product matrix.
Get face property inner product inverse matrix.
Get node inner product matrix.
Get inverse of node inner product matrix.
Get node property inner product matrix.
Get node property inner product inverse matrix.
Get node property inner product matrix.
Get node property inner product inverse matrix.
Get volumes.
A list of solver objects to clean when the model is updated
SimPEG
Counterobject to store iterations and run-times.HasModel.deleteTheseOnModelUpdate has been deprecated.
Mesh for the simulation.
The inversion model.
Magnetic permeability (h/m) physical property model.
Derivative of Magnetic Permeability (H/m) wrt the model.
Mapping of the inversion model to Magnetic Permeability (H/m).
Inverse magnetic permeability (m/h) physical property model.
Derivative of Inverse Magnetic Permeability (m/H) wrt the model.
Mapping of the inversion model to Inverse Magnetic Permeability (m/H).
True if a model is necessary
Magnetic polarization (nt) physical property model.
Derivative of Magnetic Polarization (nT) wrt the model.
Mapping of the inversion model to Magnetic Polarization (nT).
Path to directory where sensitivity file is stored.
Numerical solver used in the forward simulation.
Data type used by the solver.
Set solver-specific parameters.
Whether to store the sensitivity matrix
The magnetic survey object.
Verbose progress printout.
Methods
Jtvec(m, v[, f])Compute the Jacobian transpose times a vector for the model provided.
Jtvec_approx(m, v[, f])Approximation of the Jacobian transpose times a vector for the model provided.
Jvec(m, v[, f])Compute the Jacobian times a vector for the model provided.
Jvec_approx(m, v[, f])Approximation of the Jacobian times a vector for the model provided.
MccMuDeriv(u[, v, adjoint])Get derivative of MccProperty with respect to the model.
MccMuIDeriv(u[, v, adjoint])Get derivative of MccPropertyI with respect to the model.
MccMuiDeriv(u[, v, adjoint])Get derivative of MccProperty with respect to the model.
MccMuiIDeriv(u[, v, adjoint])Get derivative of MccPropertyI with respect to the model.
MeMuDeriv(u[, v, adjoint])Get derivative of MeProperty with respect to the model.
MeMuIDeriv(u[, v, adjoint])Get derivative of MePropertyI with respect to the model.
MeMuiDeriv(u[, v, adjoint])Get derivative of MeProperty with respect to the model.
MeMuiIDeriv(u[, v, adjoint])Get derivative of MePropertyI with respect to the model.
MfMuDeriv(u[, v, adjoint])Get derivative of MfProperty with respect to the model.
MfMuIDeriv(u[, v, adjoint])Get derivative of MfPropertyI with respect to the model.
MfMuiDeriv(u[, v, adjoint])Get derivative of MfProperty with respect to the model.
MfMuiIDeriv(u[, v, adjoint])Get derivative of MfPropertyI with respect to the model.
MnMuDeriv(u[, v, adjoint])Get derivative of MnProperty with respect to the model.
MnMuIDeriv(u[, v, adjoint])Get derivative of MnPropertyI with respect to the model.
MnMuiDeriv(u[, v, adjoint])Get derivative of MnProperty with respect to the model.
MnMuiIDeriv(u[, v, adjoint])Get derivative of MnPropertyI with respect to the model.
dpred([m, f])Predicted data for the model provided.
fields(m)Return the computed geophysical fields for the model provided.
Computes the total magnetic polarization \(\mu_0\mathbf{M}\).
make_synthetic_data(m[, relative_error, ...])Make synthetic data for the model and Gaussian noise provided.
residual(m, dobs[, f])The data residual.
getJ
Notes
This simulation solves for the magnetostatic PDE:
\[\nabla \cdot \mathbf{B} = 0\]where the constitutive relation is specified as:
\[\mathbf{B} = \mu\mathbf{H} + \mu_0\mathbf{M_r}\]where \(\mathbf{M_r}\) is a fixed magnetization unaffected by the inducing field and \(\mu\mathbf{H}\) is the induced magnetization.