SimPEG.electromagnetics.static.spontaneous_potential.Simulation3DCellCentered#

class SimPEG.electromagnetics.static.spontaneous_potential.Simulation3DCellCentered(mesh, survey=None, sigma=None, rho=None, q=None, qMap=None, **kwargs)[source]#

Bases: Simulation3DCellCentered

A Spontaneous potential simulation.

Parameters:
meshdiscretize.base.BaseMesh
surveyspontaneous_potential.Survey
sigma, rhofloat or array_like

The conductivity/resistivity model of the subsurface.

qfloat, array_like, optional

The charge density accumulation rate model (C/(s m^3)), also physically represents the volumetric current density (A/m^3).

qMapSimPEG.maps.IdentityMap, optional

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

**kwargs

arguments passed on to resistivity.Simulation3DCellCentered

Notes

The charge density accumulation rate, \(q\), is related to the spontaneous electric potential, \(\phi\), with the same PDE, that relates current sources to potential in the resistivity case.

\[- \nabla \cdot \sigma \nabla \phi = q\]

This equation is solve for potential with a finite volume approach, discretized with \(\phi\) and \(q\) on cell centers, electrical conductivity :math`sigma` as a cell property, and therefore current density lives on the faces between cells.

By default the boundary conditions assume a Robin condition on the subsurface boundaries, and a zero Nuemann boundary at the top. For more details on the boundary conditions, check out the resistivity simulations.

Attributes

Mcc

Cell center inner product matrix.

MccRho

Cell center property inner product matrix.

MccRhoI

Cell center property inner product inverse matrix.

MccSigma

Cell center property inner product matrix.

MccSigmaI

Cell center property inner product inverse matrix.

Me

Edge inner product matrix.

MeI

Edge inner product inverse matrix.

MeRho

Edge property inner product matrix.

MeRhoI

Edge property inner product inverse matrix.

MeSigma

Edge property inner product matrix.

MeSigmaI

Edge property inner product inverse matrix.

Mf

Face inner product matrix.

MfI

Face inner product inverse matrix.

MfRho

Face property inner product matrix.

MfRhoI

Face property inner product inverse matrix.

MfSigma

Face property inner product matrix.

MfSigmaI

Face property inner product inverse matrix.

Mn

Node inner product matrix.

MnI

Node inner product inverse matrix.

MnRho

Node property inner product matrix.

MnRhoI

Node property inner product inverse matrix.

MnSigma

Node property inner product matrix.

MnSigmaI

Node property inner product inverse matrix.

bc_type

Type of boundary condition to use for simulation.

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

matrices to be deleted if the model for conductivity/resistivity is updated

mesh

Mesh for the simulation.

model

The inversion model.

needs_model

True if a model is necessary

q

Charge density accumulation rate (c/(s m^3)) physical property model.

qDeriv

Derivative of Charge density accumulation rate (C/(s m^3)) wrt the model.

qMap

Mapping of the inversion model to Charge density accumulation rate (C/(s m^3)).

rho

Electrical resistivity (ohm m) physical property model.

rhoDeriv

Derivative of Electrical resistivity (Ohm m) wrt the model.

rhoMap

Mapping of the inversion model to Electrical resistivity (Ohm m).

sensitivity_path

Path to directory where sensitivity file is stored.

sigma

Electrical conductivity (s/m) physical property model.

sigmaDeriv

Derivative of Electrical conductivity (S/m) wrt the model.

sigmaMap

Mapping of the inversion model to Electrical conductivity (S/m).

solver

Numerical solver used in the forward simulation.

solver_opts

Solver-specific parameters.

storeJ

Whether to store the sensitivity matrix

surface_faces

Array defining which boundary faces to interpret as surfaces of Neumann boundary

survey

The DC survey object.

verbose

Verbose progress printout.

Ainv

MccI

Vol

Methods

Jtvec(m, v[, f])

Compute adjoint sensitivity matrix (J^T) and vector (v) product.

Jtvec_approx(m, v[, f])

Approximation of the Jacobian transpose times a vector for the model provided.

Jvec(m, v[, f])

Compute sensitivity matrix (J) and vector (v) product.

Jvec_approx(m, v[, f])

Approximation of the Jacobian times a vector for the model provided.

MccRhoDeriv(u[, v, adjoint])

Derivative of MccProperty with respect to the model.

MccRhoIDeriv(u[, v, adjoint])

Derivative of MccPropertyI with respect to the model.

MccSigmaDeriv(u[, v, adjoint])

Derivative of MccProperty with respect to the model.

MccSigmaIDeriv(u[, v, adjoint])

Derivative of MccPropertyI with respect to the model.

MeRhoDeriv(u[, v, adjoint])

Derivative of MeProperty with respect to the model.

MeRhoIDeriv(u[, v, adjoint])

Derivative of MePropertyI with respect to the model.

MeSigmaDeriv(u[, v, adjoint])

Derivative of MeProperty with respect to the model.

MeSigmaIDeriv(u[, v, adjoint])

Derivative of MePropertyI with respect to the model.

MfRhoDeriv(u[, v, adjoint])

Derivative of MfProperty with respect to the model.

MfRhoIDeriv(u[, v, adjoint])

I Derivative of MfPropertyI with respect to the model.

MfSigmaDeriv(u[, v, adjoint])

Derivative of MfProperty with respect to the model.

MfSigmaIDeriv(u[, v, adjoint])

I Derivative of MfPropertyI with respect to the model.

MnRhoDeriv(u[, v, adjoint])

Derivative of MnProperty with respect to the model.

MnRhoIDeriv(u[, v, adjoint])

Derivative of MnPropertyI with respect to the model.

MnSigmaDeriv(u[, v, adjoint])

Derivative of MnProperty with respect to the model.

MnSigmaIDeriv(u[, v, adjoint])

Derivative of MnPropertyI with respect to the model.

dpred([m, f])

Predicted data for the model provided.

fields([m, calcJ])

Return the computed geophysical fields for the model provided.

fieldsPair

alias of Fields3DCellCentered

getA([resistivity])

Make the A matrix for the cell centered DC resistivity problem A = D MfRhoI G

getJtJdiag(m[, W, f])

Return the diagonal of JtJ

getRHS()

RHS for the DC problem q

getRHSDeriv(source, v[, adjoint])

Derivative of the right hand side with respect to the model

getSourceTerm()

Evaluates the sources, and puts them in matrix form :rtype: tuple :return: q (nC or nN, nSrc)

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

Make synthetic data for the model and Gaussian noise provided.

residual(m, dobs[, f])

The data residual.

getADeriv

getJ

setBC