simpeg.electromagnetics.time_domain.Simulation3DCurrentDensity.getRHSDeriv#
- Simulation3DCurrentDensity.getRHSDeriv(tInd, src, v, adjoint=False)[source]#
Derivative of the right-hand side times a vector for a given source and time index.
The right-hand side for a given source at time index k is constructed according to:
\[\mathbf{q}_k = - \frac{1}{\Delta t_k} \big [ \mathbf{s}_{\mathbf{e},k} + \mathbf{s}_{\mathbf{e},k-1} \big ] \; - \; \frac{1}{\Delta t_k} \mathbf{C M_{e\mu}^{-1}} \big [ \mathbf{s}_{\mathbf{m},k} + \mathbf{s}_{\mathbf{m},k-1} \big ]\]where
\(\Delta t_k\) is the step length
\(\mathbf{C}\) is the discrete curl operator
\(\mathbf{s_m}\) and \(\mathbf{s_e}\) are the integrated magnetic and electric source terms, respectively
\(\mathbf{M_{e\mu}}\) is the inner-product matrix for permeabilities projected to edges
See the Notes section of the doc strings for
Simulation3DCurrentDensity
for a full description of the formulation.Where \(\mathbf{m}\) are the set of model parameters and \(\mathbf{v}\) is a vector, this method returns
\[\frac{\partial \mathbf{q_k}}{\partial \mathbf{m}} \, \mathbf{v}\]Or the adjoint operation
\[\frac{\partial \mathbf{q_k}}{\partial \mathbf{m}}^T \, \mathbf{v}\]- Parameters:
- tInd
int
The time index; between
[0, n_steps]
.- src
time_domain.sources.BaseTDEMSrc
The TDEM source object.
- v
numpy.ndarray
The vector. (n_param,) for the standard operation. (n_faces,) for the adjoint operation.
- adjointbool
Whether to perform the adjoint operation.
- tInd
- Returns:
numpy.ndarray
Derivative of the right-hand sides times a vector. (n_faces,) for the standard operation. (n_param,) for the adjoint operation.