simpeg.electromagnetics.time_domain.Simulation3DCurrentDensity.getAdcDeriv#

Simulation3DCurrentDensity.getAdcDeriv(u, v, adjoint=False)[source]#

Derivative operation for the DC resistivity system matrix times a vector.

The discrete solution to the 3D DC resistivity problem is expressed as:

\[\mathbf{A_{dc}}\boldsymbol{\phi_0} = \mathbf{q_{dc}}\]

where \(\mathbf{A_{dc}}\) is the DC resistivity system matrix, \(\boldsymbol{\phi_0}\) is the discrete solution for the electric potentials at the initial time, and \(\mathbf{q_{dc}}\) is the galvanic source term. For a vector \(\mathbf{v}\), this method assumes the discrete solution is fixed and returns

\[\frac{\partial (\mathbf{A_{dc}}\boldsymbol{\phi_0})}{\partial \mathbf{m}} \, \mathbf{v}\]

Or the adjoint operation

\[\frac{\partial (\mathbf{A_{dc}}\boldsymbol{\phi_0})}{\partial \mathbf{m}}^T \, \mathbf{v}\]
Parameters:
u(n_cells,) numpy.ndarray

The solution for the fields for the current model; i.e. electric potentials at cell centers.

vnumpy.ndarray

The vector. (n_param,) for the standard operation. (n_cells,) for the adjoint operation.

adjointbool

Whether to perform the adjoint operation.

Returns:
numpy.ndarray

Derivative of the DC resistivity system matrix times a vector. (n_cells,) for the standard operation. (n_param,) for the adjoint operation.