simpeg.electromagnetics.time_domain.Simulation3DMagneticFluxDensity.getAsubdiagDeriv#

Simulation3DMagneticFluxDensity.getAsubdiagDeriv(tInd, u, v, adjoint=False)[source]#

Derivative operation for the sub-diagonal system matrix times a vector.

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

Bk=1ΔtkI

where Δtk is the step length and I is the identity matrix.

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

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

(Bkbk1)mv=0

Or the adjoint operation

(Bkbk1)mTv=0

The derivative operation returns a vector of zeros because the sub-diagonal system matrix does not depend on the model!!!

Parameters:
tIndint

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

u(n_faces,) numpy.ndarray

The solution for the fields for the current model for the previous time-step; i.e. bk1.

vnumpy.ndarray

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

adjointbool

Whether to perform the adjoint operation.

Returns:
numpy.ndarray

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