simpeg.potential_fields.gravity.Simulation3DDifferential#

class simpeg.potential_fields.gravity.Simulation3DDifferential(mesh, rho=1.0, rhoMap=None, **kwargs)[source]#

Bases: BasePDESimulation

Finite volume simulation class for gravity.

Notes

From Blakely (1996), the scalar potential \(\phi\) outside the source region is obtained by solving a Poisson’s equation:

\[\nabla^2 \phi = 4 \pi \gamma \rho\]

where \(\gamma\) is the gravitational constant and \(\rho\) defines the distribution of density within the source region.

Applying the finite volumn method, we can solve the Poisson’s equation on a 3D voxel grid according to:

\[\big [ \mathbf{D M_f D^T} \big ] \mathbf{u} = - \mathbf{M_c \, \rho}\]

Attributes

Mcc

Cell center inner product matrix.

Me

Edge inner product matrix.

MeI

Edge inner product inverse matrix.

Mf

Face inner product matrix.

MfI

Face inner product inverse matrix.

Mn

Node inner product matrix.

MnI

Node inner product inverse matrix.

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

A list of properties stored on this object to delete when the model is updated

mesh

Mesh for the simulation.

model

The inversion model.

needs_model

True if a model is necessary

rho

Specific density (g/cc) physical property model.

rhoDeriv

Derivative of Specific density (g/cc) wrt the model.

rhoMap

Mapping of the inversion model to Specific density (g/cc).

sensitivity_path

Path to directory where sensitivity file is stored.

solver

Numerical solver used in the forward simulation.

solver_opts

Solver-specific parameters.

survey

The survey for the simulation.

verbose

Verbose progress printout.

MccI

Vol

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.

dpred([m, f])

Predicted data for the model provided.

fields([m])

Compute fields

getA()

GetA creates and returns the A matrix for the Gravity nodal problem

getRHS()

Return right-hand side for the linear system

make_synthetic_data(m[, relative_error, ...])

Make synthetic data for the model and Gaussian noise provided.

residual(m, dobs[, f])

The data residual.