krylov

emg3d.solver.krylov(grid, model, sfield, efield, var)[source]

Krylov Subspace iterative solver for 3D CSEM data.

Using a Krylov subspace iterative solver (defined in var.sslsolver) implemented in SciPy with or without multigrid as a pre-conditioner ([Muld06]).

  • The electric field is stored in-place in efield.
  • The current error (l2-norm) is stored in var.l2.
  • The reference error (l2-norm of sfield) is stored in var.l2_refe.

This function is called by solve().

Parameters:
grid : emg3d.meshes.TensorMesh

The grid. See emg3d.meshes.TensorMesh.

model : emg3d.models.VolumeModel

The Model. See emg3d.models.VolumeModel.

sfield : emg3d.fields.SourceField

The source field. See emg3d.fields.get_source_field().

efield : emg3d.fields.Field

The electric field. See emg3d.fields.Field.

var : MGParameters instance

As returned by multigrid().