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: BaseMagneticPDESimulation

A secondary field simulation for magnetic data.

Parameters:
meshdiscretize.base.BaseMesh
surveymagnetics.survey.Survey
mufloat, array_like

Magnetic Permeability Model (H/ m). Set this for forward modeling or to fix while inverting for remanence. This is used if muMap is None.

muMapsimpeg.maps.IdentityMap, optional

The mapping used to go from the simulation model to mu. Set this to invert for mu.

remfloat, 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 remMap is None.

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

Attributes

Mcc

Get cell inner product matrix.

MccI

Get inverse of cell inner product matrix.

MccMu

Get cell center property inner product matrix.

MccMuI

Get cell center property inner product inverse matrix.

MccMui

Get cell center property inner product matrix.

MccMuiI

Get cell center property inner product inverse matrix.

Me

Get edge inner product matrix.

MeI

Get inverse of edge inner product matrix.

MeMu

Get edge property inner product matrix.

MeMuI

Get edge property inner product inverse matrix.

MeMui

Get edge property inner product matrix.

MeMuiI

Get edge property inner product inverse matrix.

Mf

Get face inner product matrix.

MfI

Get inverse of face inner product matrix.

MfMu

Get face property inner product matrix.

MfMuI

Get face property inner product inverse matrix.

MfMui

Get face property inner product matrix.

MfMuiI

Get face property inner product inverse matrix.

Mn

Get node inner product matrix.

MnI

Get inverse of node inner product matrix.

MnMu

Get node property inner product matrix.

MnMuI

Get node property inner product inverse matrix.

MnMui

Get node property inner product matrix.

MnMuiI

Get node property inner product inverse matrix.

Vol

Get volumes.

clean_on_model_update

A list of solver objects to clean when the model is updated

counter

SimPEG Counter object to store iterations and run-times.

deleteTheseOnModelUpdate

HasModel.deleteTheseOnModelUpdate has been deprecated.

mesh

Mesh for the simulation.

model

The inversion model.

mu

Magnetic permeability (h/m) physical property model.

muDeriv

Derivative of Magnetic Permeability (H/m) wrt the model.

muMap

Mapping of the inversion model to Magnetic Permeability (H/m).

mui

Inverse magnetic permeability (m/h) physical property model.

muiDeriv

Derivative of Inverse Magnetic Permeability (m/H) wrt the model.

muiMap

Mapping of the inversion model to Inverse Magnetic Permeability (m/H).

needs_model

True if a model is necessary

rem

Magnetic polarization (nt) physical property model.

remDeriv

Derivative of Magnetic Polarization (nT) wrt the model.

remMap

Mapping of the inversion model to Magnetic Polarization (nT).

sensitivity_path

Path to directory where sensitivity file is stored.

solver

Numerical solver used in the forward simulation.

solver_dtype

Data type used by the solver.

solver_opts

Set solver-specific parameters.

storeJ

Whether to store the sensitivity matrix

survey

The magnetic survey object.

verbose

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.

magnetic_polarization([m])

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.