# pylops.waveeqprocessing.AcousticWave2D#

class pylops.waveeqprocessing.AcousticWave2D(shape, origin, spacing, vp, src_x, src_z, rec_x, rec_z, t0, tn, src_type='Ricker', space_order=6, nbl=20, f0=20.0, checkpointing=False, dtype='float32', name='A')[source]#

Devito Acoustic propagator.

Parameters
shape

Model shape (nx, nz)

origin

Model origin (ox, oz)

spacing

Model spacing (dx, dz)

vpnumpy.ndarray

Velocity model in m/s

src_xnumpy.ndarray

Source x-coordinates in m

src_z

Source z-coordinates in m

rec_xnumpy.ndarray

rec_z

t0float

Initial time

tnint

Number of time samples

src_typestr

Source type

space_orderint, optional

Spatial ordering of FD stencil

nblint, optional

Number ordering of samples in absorbing boundaries

f0float, optional

Source peak frequency (Hz)

checkpointingbool, optional

Use checkpointing (True) or not (False). Note that using checkpointing is needed when dealing with large models but it will slow down computations

dtypestr, optional

Type of elements in input array.

namestr, optional

Name of operator (to be used by pylops.utils.describe.describe)

Attributes
shapetuple

Operator shape

explicitbool

Operator contains a matrix that can be solved explicitly (True) or not (False)

Methods

 __init__(shape, origin, spacing, vp, src_x, ...) adjoint() apply_columns(cols) Apply subset of columns of operator cond([uselobpcg]) Condition number of linear operator. conj() Complex conjugate operator div(y[, niter, densesolver]) Solve the linear problem $$\mathbf{y}=\mathbf{A}\mathbf{x}$$. dot(x) Matrix-matrix or matrix-vector multiplication. eigs([neigs, symmetric, niter, uselobpcg]) Most significant eigenvalues of linear operator. matmat(X) Matrix-matrix multiplication. matvec(x) Matrix-vector multiplication. reset_count() Reset counters rmatmat(X) Matrix-matrix multiplication. rmatvec(x) Adjoint matrix-vector multiplication. srcillumination_allshots([savewav]) Source wavefield and illumination for all shots todense([backend]) Return dense matrix. toimag([forw, adj]) Imag operator toreal([forw, adj]) Real operator tosparse() Return sparse matrix. trace([neval, method, backend]) Trace of linear operator. transpose()