SimPEG.potential_fields.base.BasePFSimulation#
- class SimPEG.potential_fields.base.BasePFSimulation(mesh, ind_active=None, store_sensitivities='ram', n_processes=1, sensitivity_dtype=<class 'numpy.float32'>, **kwargs)[source]#
Bases:
LinearSimulation
Base class for potential field simulations that use integral formulations.
For integral formulations, the forward simulation for a set of voxel cells can be defined as a linear operation of the form:
\[\mathbf{d} = \mathbf{Am}\]where \(\mathbf{d}\) are the data, \(\mathbf{m}\) are the model paramters and \(\mathbf{A}\) is a linear operator defining the sensitivities. The primary difference between child simulation classes is the kernel function used to create the rows of \(\mathbf{A}\).
- Parameters:
- mesh
discretize.TensorMesh
ordiscretize.TreeMesh
A 3D tensor or tree mesh.
- ind_active
np.ndarray
of
int
or bool Indices array denoting the active topography cells.
- store_sensitivities{‘ram’, ‘disk’, ‘forward_only’}
Options for storing sensitivities. There are 3 options
‘ram’: sensitivities are stored in the computer’s RAM
‘disk’: sensitivities are written to a directory
‘forward_only’: you intend only do perform a forward simulation and sensitivities do not need to be stored
- n_processes
None
orint
,optional
The number of processes to use in the internal multiprocessing pool for forward modeling. The default value of 1 will not use multiprocessing. Any other setting will. None implies setting by the number of cpus.
- mesh
Notes
If using multiprocessing by setting n_processes to a value other than 1, you must be aware of the method your operating system uses to spawn the subprocesses. On Windows the default method starts new processes that all import the main script. Therefor you must protect the calls to this class by testing if you are in the main process with:
>>> from SimPEG.potential_fields import gravity >>> if __name__ == '__main__': ... # Do your processing here ... sim = gravity.Simulation3DIntegral(n_processes=4, ...) ... sim.dpred(m)
This usually does not affect jupyter notebook environments.
Attributes
'actInd' is deprecated.
Active topography cells.
dtype of the sensitivity matrix.
Options for storing sensitivities.
n_processes
Methods
Return linear operator.
Galleries and Tutorials using SimPEG.potential_fields.base.BasePFSimulation
#
PF: Gravity: Tiled Inversion Linear
Magnetic inversion on a TreeMesh
Magnetic inversion on a TreeMesh
Magnetic Amplitude inversion on a TreeMesh
PF: Gravity: Laguna del Maule Bouguer Gravity
Forward Simulation of Total Magnetic Intensity Data
Forward Simulation of Gradiometry Data for Magnetic Vector Models
Sparse Norm Inversion for Total Magnetic Intensity Data on a Tensor Mesh
Forward Simulation of Gravity Anomaly Data on a Tensor Mesh
Forward Simulation of Gradiometry Data on a Tree Mesh
Least-Squares Inversion of Gravity Anomaly Data
Sparse Norm Inversion of Gravity Anomaly Data
Joint PGI of Gravity + Magnetic on an Octree mesh using full petrophysical information
Joint PGI of Gravity + Magnetic on an Octree mesh without petrophysical information
Cross-gradient Joint Inversion of Gravity and Magnetic Anomaly Data