simpeg.simulation.BaseTimeSimulation#
- class simpeg.simulation.BaseTimeSimulation(mesh=None, t0=0.0, time_steps=None, **kwargs)[source]#
Bases:
BaseSimulation
Base class for time domain simulations.
The
BaseTimeSimulation
defines properties and methods that are required when the finite volume approach is used to solve time-dependent forward simulations. Presently, SimPEG discretizes in time using the backward Euler approach. And as such, the user must now define the step lengths for the forward simulation.- Parameters:
- mesh
discretize.base.BaseMesh
,optional
Mesh on which the forward problem is discretized. This is not necessarily the same as the mesh on which the simulation is defined.
- t0
float
,optional
Initial time, in seconds, for the time-dependent forward simulation.
- time_steps(
n_steps
, )numpy.ndarray
,optional
The time step lengths, in seconds, for the time domain simulation. This property can be also be set using a compact form; see Notes.
- mesh
Notes
There are two ways in which the user can set the
time_steps
property for the forward simulation. The most basic approach is to use a(n_steps, )
numpy.ndarray
that explicitly defines the step lengths in order. I.e.:>>> sim.time_steps = np.r_[1e-6, 1e-6, 1e-6, 1e-5, 1e-5, 1e-4, 1e-4]
We can define also define the step lengths in compact for when the same step length is reused multiple times in succession. In this case, the
time_steps
property is set using alist
oftuple
. Eachtuple
contains the step length and number of times that step is repeated. The time stepping defined above can be set equivalently with:>>> sim.time_steps = [(1e-6, 3), (1e-5, 2), (1e-4, 2)]
When set, the
discretize.utils.unpack_widths()
utility is used to convert thelist
oftuple
to its (n_steps, )numpy.ndarray
representation.Attributes
A list of solver objects to clean when the model is updated
SimPEG
Counter
object to store iterations and run-times.A list of properties stored on this object to delete when the model is updated
Mesh for the simulation.
The inversion model.
Total number of time steps.
True if a model is necessary
Path to directory where sensitivity file is stored.
Numerical solver used in the forward simulation.
Solver-specific parameters.
The survey for the simulation.
Initial time, in seconds, for the time-dependent forward simulation.
Time mesh for easy interpolation to observation times.
Time step lengths, in seconds, for the time domain simulation.
Evaluation times.
Verbose progress printout.
Methods
Jtvec
(m, v[, f])Compute the Jacobian transpose times a vector for the model provided.
Jtvec_approx
(m, v[, f])Approximation of the Jacobian transpose times a vector for the model provided.
Jvec
(m, v[, f])Compute the Jacobian times a vector for the model provided.
Jvec_approx
(m, v[, f])Approximation of the Jacobian times a vector for the model provided.
dpred
([m, f])Predicted data for the model provided.
fields
([m])Return the computed geophysical fields for the model provided.
make_synthetic_data
(m[, relative_error, ...])Make synthetic data for the model and Gaussian noise provided.
residual
(m, dobs[, f])The data residual.
Galleries and Tutorials using simpeg.simulation.BaseTimeSimulation
#
Time-domain CSEM for a resistive cube in a deep marine setting
EM: TDEM: Permeable Target, Inductive Source
EM: TDEM: 1D: Inversion with VTEM waveform
FLOW: Richards: 1D: Forward Simulation
Heagy et al., 2017 1D RESOLVE and SkyTEM Bookpurnong Inversions
Heagy et al., 2017 1D FDEM and TDEM inversions
Forward Simulation Including Inductive Response
3D Forward Simulation for Transient Response on a Cylindrical Mesh
3D Forward Simulation with User-Defined Waveforms