Base SimPEG Classes (SimPEG)#

SimPEG is built off of several base classes that define the general structure of simulations and inversion operations.

Simulations#

Base Simulations#

simulation.BaseSimulation([mesh, survey, ...])

BaseSimulation is the base class for all geophysical forward simulations in SimPEG.

simulation.BaseTimeSimulation([mesh, t0, ...])

Base class for a time domain simulation

simulation.LinearSimulation([mesh, ...])

Class for a linear simulation of the form

simulation.ExponentialSinusoidSimulation([...])

This is the simulation class for the linear problem consisting of exponentially decaying sinusoids.

base.BasePDESimulation([mesh, survey, ...])

Attributes

base.BaseElectricalPDESimulation(mesh[, ...])

Attributes

base.BaseMagneticPDESimulation(mesh[, mu, ...])

Attributes

Base Surveys, Sources and Receivers#

survey.BaseRx(locations[, storeProjections])

Base SimPEG receiver class.

survey.BaseTimeRx(locations, times, **kwargs)

Base SimPEG receiver class for time-domain simulations

survey.BaseSrc([receiver_list, location])

Base SimPEG source class.

survey.BaseSurvey(source_list[, counter])

Base SimPEG survey class.

survey.BaseTimeSurvey(source_list[, counter])

Base SimPEG survey class for time-dependent simulations.

Models#

models.Model(shape[, dtype, buffer, offset, ...])

Attributes

props.PhysicalProperty(short_details[, ...])

Attributes

props.Derivative([short_details, ...])

Attributes

props.Invertible(property_name[, optional])

props.Reciprocal(prop1, prop2)

props.HasModel([model])

Attributes

Data#

data.Data(survey[, dobs, relative_error, ...])

Class for defining data in SimPEG.

data.SyntheticData(survey[, dobs, dclean, ...])

Class for creating synthetic data.

Fields#

fields.Fields(simulation[, knownFields, ...])

Fancy Field Storage

fields.TimeFields(simulation[, knownFields, ...])

Fancy Field Storage for time domain problems .

Mappings#

maps.BaseParametric(mesh[, slope, ...])

Base class for parametric mappings from simple geological structures to meshes.

maps.ChiMap([mesh, nP])

Mapping that computes the magnetic permeability given a set of magnetic susceptibilities.

maps.ComboMap(maps, **kwargs)

Combination mapping constructed by joining a set of other mappings.

maps.ComplexMap([mesh, nP])

Maps the real and imaginary component values stored in a model to complex values.

maps.ExpMap([mesh, nP])

Mapping that computes the natural exponentials of the model parameters.

maps.LinearMap(A[, b])

A generalized linear mapping.

maps.IdentityMap([mesh, nP])

Identity mapping and the base mapping class for all other SimPEG mappings.

maps.InjectActiveCells(mesh[, indActive, ...])

Map active cells model to all cell of a mesh.

maps.MuRelative([mesh, nP])

Mapping that computes the magnetic permeability given a set of relative permeabilities.

maps.LogMap([mesh, nP])

Mapping that computes the natural logarithm of the model parameters.

maps.ParametricBlock(mesh[, epsilon, p])

Mapping for a rectangular block within a wholespace.

maps.ParametricCircleMap(mesh[, logSigma, slope])

Mapping for a parameterized circle.

maps.ParametricEllipsoid(mesh, **kwargs)

Mapping for a rectangular block within a wholespace.

maps.ParametricLayer(mesh, **kwargs)

Mapping for a horizontal layer within a wholespace.

maps.ParametricPolyMap(mesh, order[, ...])

Mapping for 2 layer model whose interface is defined by a polynomial.

maps.Projection(nP, index, **kwargs)

Projection mapping.

maps.ReciprocalMap([mesh, nP])

Mapping that computes the reciprocals of the model parameters.

maps.SphericalSystem([mesh, nP])

Mapping vectors from spherical to Cartesian coordinates.

maps.Surject2Dto3D(mesh[, normal])

Map 2D tensor model to 3D tensor mesh.

maps.SurjectFull(mesh, **kwargs)

Mapping a single property value to all mesh cells.

maps.SurjectUnits(indices, **kwargs)

Surjective mapping to all mesh cells.

maps.SurjectVertical1D(mesh, **kwargs)

Map 1D layered Earth model to 2D or 3D tensor mesh.

maps.Weighting([mesh, nP, weights])

Mapping that scales the elements of the model by a corresponding set of weights.

maps.Wires(*args)

Mapping class for organizing multiple parameter types into a single model.

Inversions#

Objective Function Pieces#

objective_function.BaseObjectiveFunction([...])

Base Objective Function

objective_function.ComboObjectiveFunction([...])

Composite for multiple objective functions

objective_function.L2ObjectiveFunction([nP, ...])

An L2-Objective Function

data_misfit.BaseDataMisfit(data, simulation)

data_misfit.L2DataMisfit(data, simulation[, ...])

The data misfit with an l_2 norm:

Optimizations#

optimization.ProjectedGradient(**kwargs)

Methods

optimization.BFGS(**kwargs)

Attributes

optimization.GaussNewton(**kwargs)

Methods

optimization.InexactGaussNewton(**kwargs)

Minimizes using CG as the inexact solver of

optimization.SteepestDescent(**kwargs)

Methods

optimization.NewtonRoot(**kwargs)

Newton Method - Root Finding

optimization.ProjectedGNCG(**kwargs)

Attributes

optimization.Minimize(**kwargs)

Minimize is a general class for derivative based optimization.

optimization.Remember()

This mixin remembers all the things you tend to forget.

optimization.IterationPrinters()

docstring for IterationPrinters

optimization.StoppingCriteria()

docstring for StoppingCriteria

Base inversion pieces#

inverse_problem.BaseInvProblem(dmisfit, reg, opt)

Attributes

inversion.BaseInversion(invProb[, ...])

Inversion Class