simpeg.electromagnetics.time_domain.Simulation3DElectricField.getRHSDeriv#
- Simulation3DElectricField.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^T M_{f\frac{1}{\mu}} } \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_{f\frac{1}{\mu}}}\) is the inner-product matrices for inverse permeabilities projected to faces
See the Notes section of the doc strings for
Simulation3DElectricField
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_edges,) 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_edges,) for the standard operation. (n_param,) for the adjoint operation.