SimPEG.maps.ParametricPolyMap#

class SimPEG.maps.ParametricPolyMap(mesh, order, logSigma=True, normal='X', actInd=None, slope=10000.0)[source]#

Bases: SimPEG.maps.IdentityMap

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

This mapping is used when the cells lying below the Earth’s surface can be parameterized by a 2 layer model whose interface is defined by a polynomial function. The model is defined by the physical property values for each unit (\(\sigma_1\) and \(\sigma_2\)) and the coefficients for the polynomial function (\(\mathbf{c}\)).

For a 2D mesh , the interface is defined by a polynomial function of the form:

\[p(x) = \sum_{i=0}^N c_i x^i\]

where \(c_i\) are the polynomial coefficients and \(N\) is the order of the polynomial. In this case, the model is defined as

\[\mathbf{m} = [\sigma_1, \;\sigma_2,\; c_0 ,\;\ldots\; ,\; c_N]\]

The mapping \(\mathbf{u}(\mathbf{m})\) from the model to the mesh is given by:

\[\mathbf{u}(\mathbf{m}) = \sigma_1 + (\sigma_2 - \sigma_1) \bigg [ \frac{1}{2} + \pi^{-1} \arctan \bigg ( a \Big ( \mathbf{p}(\mathbf{x_c}) - \mathbf{y_c} \Big ) \bigg ) \bigg ]\]

where \(\mathbf{x_c}\) and \(\mathbf{y_c}\) are vectors containing the x and y cell center locations for all active cells in the mesh, and \(a\) is a parameter which defines the sharpness of the boundary between the two layers. \(\mathbf{p}(\mathbf{x_c})\) evaluates the polynomial function for every element in \(\mathbf{x_c}\).

For a 3D mesh , the interface is defined by a 2D polynomial function of the form:

\[p(x,y) = \sum_{j=0}^{N_y} \sum_{i=0}^{N_x} c_{ij} \, x^i y^j\]

where \(c_{ij}\) are the polynomial coefficients. \(N_x\) and \(N_y\) define the order of the polynomial in \(x\) and \(y\), respectively. In this case, the model is defined as:

\[\mathbf{m} = [\sigma_1, \; \sigma_2, \; c_{0,0} , \; c_{1,0} , \;\ldots , \; c_{N_x, N_y}]\]

The mapping \(\mathbf{u}(\mathbf{m})\) from the model to the mesh is given by:

\[\mathbf{u}(\mathbf{m}) = \sigma_1 + (\sigma_2 - \sigma_1) \bigg [ \frac{1}{2} + \pi^{-1} \arctan \bigg ( a \Big ( \mathbf{p}(\mathbf{x_c,y_c}) - \mathbf{z_c} \Big ) \bigg ) \bigg ]\]

where \(\mathbf{x_c}, \mathbf{y_c}\) and \(\mathbf{y_z}\) are vectors containing the x, y and z cell center locations for all active cells in the mesh. \(\mathbf{p}(\mathbf{x_c, y_c})\) evaluates the polynomial function for every corresponding pair of \(\mathbf{x_c}\) and \(\mathbf{y_c}\) elements.

Parameters
meshdiscretize.BaseMesh

A discretize mesh

orderint or list of int

Order of the polynomial. For a 2D mesh, this is an int. For a 3D mesh, the order for both variables is entered separately; i.e. [order1 , order2].

logSigmabool

If True, parameters \(\sigma_1\) and \(\sigma_2\) represent the natural log of a physical property.

normal{‘x’, ‘y’, ‘z’}
actIndnumpy.ndarray

Active cells array. Can be a boolean numpy.ndarray of length mesh.nC or a numpy.ndarray of int containing the indices of the active cells.

Examples

Attributes

actInd

Active indices of the mesh.

logSigma

Whether the input needs to be transformed by an exponential

nC

Number of active cells being mapped too.

nP

Number of parameters the mapping acts on.

normal

The projection axis.

shape

Dimensions of the mapping.

slope

Sharpness of the boundary.

Methods

deriv(m[, v])

Derivative of the mapping with respect to the model.