simpeg.electromagnetics.time_domain.Simulation3DMagneticField.getAdiagDeriv#

Simulation3DMagneticField.getAdiagDeriv(tInd, u, v, adjoint=False)[source]#

Derivative operation for the diagonal system matrix times a vector.

The diagonal system matrix for time-step index k is given by:

Ak=CTMfρC+1ΔtkMeμ

where

  • Δtk is the step length

  • C is the discrete curl operator

  • Mfρ is the resistivity inner-product matrix on faces

  • Meμ is the permeability inner-product matrix on edges

See the Notes section of the doc strings for Simulation3DMagneticField for a full description of the formulation.

Where m are the set of model parameters, v is a vector and hk is the discrete solution for time-step k, this method assumes the discrete solution is fixed and returns

(Akhk)mv

Or the adjoint operation

(Akhk)mTv
Parameters:
tIndint

The time-step index; between [0, n_steps-1].

u(n_edges,) numpy.ndarray

The solution for the fields for the current model; i.e. hk.

vnumpy.ndarray

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

adjointbool

Whether to perform the adjoint operation.

Returns:
numpy.ndarray

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