simpeg.electromagnetics.frequency_domain.Simulation3DElectricField.getADeriv#

Simulation3DElectricField.getADeriv(freq, u, v, adjoint=False)[source]#

Derivative operation for the system matrix times a vector.

The system matrix at each frequency is given by:

A=CTMf1μC+iωMeσ

where

  • Meσ is the inner-product matrix for conductivities projected to edges

  • Mf1μ is the inner-product matrix for inverse permeabilities projected to faces

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

Where m are the set of model parameters defining the electromagnetic properties v is a vector and e is the discrete electric field solution, this method assumes the discrete solution is fixed and returns

(Ae)mv

Or the adjoint operation

(Ae)mTv
Parameters:
freqfloat

The frequency in Hz.

u(n_edges,) numpy.ndarray

The solution for the fields for the current model at the specified frequency.

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.