simpeg.electromagnetics.static.self_potential.Simulation3DCellCentered#
- class simpeg.electromagnetics.static.self_potential.Simulation3DCellCentered(mesh, survey=None, sigma=None, rho=None, q=None, qMap=None, **kwargs)[source]#
Bases:
Simulation3DCellCenteredA self potential simulation.
- Parameters:
- mesh
discretize.base.BaseMesh - survey
simpeg.electromagnetics.static.self_potential.Survey - sigma, rho
floator array_like The conductivity/resistivity model of the subsurface.
- q
float, array_like,optional The charge density accumulation rate model (C/(s m^3)), also physically represents the volumetric current density (A/m^3).
- qMap
simpeg.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
- 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.
Type of boundary condition to use for simulation.
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.
True if a model is necessary
Charge density accumulation rate (c/(s m^3)) physical property model.
Derivative of Charge density accumulation rate (C/(s m^3)) wrt the model.
Mapping of the inversion model to Charge density accumulation rate (C/(s m^3)).
Electrical resistivity (ohm m) physical property model.
Derivative of Electrical resistivity (Ohm m) wrt the model.
Mapping of the inversion model to Electrical resistivity (Ohm m).
Path to directory where sensitivity file is stored.
Electrical conductivity (s/m) physical property model.
Derivative of Electrical conductivity (S/m) wrt the model.
Mapping of the inversion model to Electrical conductivity (S/m).
Numerical solver used in the forward simulation.
Set solver-specific parameters.
Whether to store the sensitivity matrix.
Return which boundary faces to interpret as surfaces of Neumann boundary.
The DC survey object.
Verbose progress printout.
Ainv
Methods
Jtvec(m, v[, f])Compute the adjoint sensitivity matrix times a vector.
Jtvec_approx(m, v[, f])Approximation of the Jacobian transpose times a vector for the model provided.
Jvec(m, v[, f])Compute the sensitivity matrix times a vector.
Jvec_approx(m, v[, f])Approximation of the Jacobian times a vector for the model provided.
MccRhoDeriv(u[, v, adjoint])Get derivative of MccProperty with respect to the model.
MccRhoIDeriv(u[, v, adjoint])Get derivative of MccPropertyI with respect to the model.
MccSigmaDeriv(u[, v, adjoint])Get derivative of MccProperty with respect to the model.
MccSigmaIDeriv(u[, v, adjoint])Get derivative of MccPropertyI with respect to the model.
MeRhoDeriv(u[, v, adjoint])Get derivative of MeProperty with respect to the model.
MeRhoIDeriv(u[, v, adjoint])Get derivative of MePropertyI with respect to the model.
MeSigmaDeriv(u[, v, adjoint])Get derivative of MeProperty with respect to the model.
MeSigmaIDeriv(u[, v, adjoint])Get derivative of MePropertyI with respect to the model.
MfRhoDeriv(u[, v, adjoint])Get derivative of MfProperty with respect to the model.
MfRhoIDeriv(u[, v, adjoint])Get derivative of MfPropertyI with respect to the model.
MfSigmaDeriv(u[, v, adjoint])Get derivative of MfProperty with respect to the model.
MfSigmaIDeriv(u[, v, adjoint])Get derivative of MfPropertyI with respect to the model.
MnRhoDeriv(u[, v, adjoint])Get derivative of MnProperty with respect to the model.
MnRhoIDeriv(u[, v, adjoint])Get derivative of MnPropertyI with respect to the model.
MnSigmaDeriv(u[, v, adjoint])Get derivative of MnProperty with respect to the model.
MnSigmaIDeriv(u[, v, adjoint])Get derivative of MnPropertyI with respect to the model.
dpred([m, f])Predicted data for the model provided.
fields([m, calcJ])Compute and return the fields for the model provided.
getA([resistivity])Return the system matrix.
getADeriv(u, v[, adjoint])Get resistivity derivative operation for the system matrix times a vector.
getJ(m[, f])Compute the sensitivity matrix for a given model.
getJtJdiag(m[, W, f])Return the diagonal of JtJ.
getRHS()Compute and return right-hand sides for all sources.
getRHSDeriv(source, v[, adjoint])Get derivative of the right-hand side with respect to the model.
Return the discrete source term for all sources.
make_synthetic_data(m[, relative_error, ...])Make synthetic data for the model and Gaussian noise provided.
residual(m, dobs[, f])The data residual.
setBC()Set the boundary conditions for the gradient operator.
fieldsPair
Notes
The charge density accumulation rate, \(q\), is related to the self 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.