class SimPEG.maps.ParametricEllipsoid(mesh, **kwargs)[source]#

Bases: SimPEG.maps.ParametricBlock

Mapping for a rectangular block within a wholespace.

This mapping is used when the cells lying below the Earth’s surface can be parameterized by an ellipsoid within a homogeneous medium. The model is defined by the physical property value for the background (\(\sigma_0\)), the physical property value for the layer (\(\sigma_b\)), parameters for the center of the ellipsoid (\(x_b [,y_b, z_b]\)) and parameters for the dimensions along each Cartesian direction (\(dx [,dy, dz]\))

For this mapping, the set of input model parameters are organized:

\[\begin{split}\mathbf{m} = \begin{cases} 1D: \;\; [\sigma_0, \;\sigma_b,\; x_b , \; dx] \\ 2D: \;\; [\sigma_0, \;\sigma_b,\; x_b , \; dx,\; y_b , \; dy] \\ 3D: \;\; [\sigma_0, \;\sigma_b,\; x_b , \; dx,\; y_b , \; dy,\; z_b , \; dz] \end{cases}\end{split}\]

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

\[\mathbf{u}(\mathbf{m}) = \sigma_0 + (\sigma_b - \sigma_0) \bigg [ \frac{1}{2} + \pi^{-1} \arctan \bigg ( a \, \boldsymbol{\eta} \big ( x_b, y_b, z_b, dx, dy, dz \big ) \bigg ) \bigg ]\]

where a is a parameter that impacts the sharpness of the arctan function, and

\[\boldsymbol{\eta} \big ( x_b, y_b, z_b, dx, dy, dz \big ) = 1 - \sum_{\xi \in (x,y,z)} \bigg [ \bigg ( \frac{2(\boldsymbol{\xi_c} - \xi_b)}{d\xi} \bigg )^2 + \varepsilon^2 \bigg ]\]

\(\boldsymbol{\xi_c}\) is a place holder for vectors containing the x, [y and z] cell center locations of the mesh, \(\xi_b\) is a placeholder for the x[, y and z] location for the center of the block, and \(d\xi\) is a placeholder for the x[, y and z] dimensions of the block.


A discretize mesh


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.


Directly define the constant a in the mapping function which defines the sharpness of the boundaries.


Scaling factor for the sharpness of the boundaries based on cell size. Using this option, we set a = slopeFact / dh.


Epsilon value used in the ekblom representation of the block