Source code for pygimli.physics.ves.ves
import numpy as np
from .vesModelling import VESModelling
[docs]
def simulate(res, thk=None, **kwargs):
"""Synthetic forward simulation.
Parameters
----------
res : array-like
resistivity vector or thicknesses+resistivities
thk : array-like
thickness vector (if not, taken from res entries)
geometry definition
ab2 : array-like
Half distance between the current electrodes A and B.
mn2 : array-like
Half distance between the potential electrodes M and N.
OR
am : array-like
Part of data basis. Distances between A and M electrodes.
bm : array-like
Part of data basis. Distances between B and M electrodes.
an : array-like
Part of data basis. Distances between A and N electrodes.
bn : array-like
Part of data basis. Distances between B and N electrodes.
OR
data : pg.DataContainerERT
pyGIMLi data container from which AM/AN/BM,BN are taken
"""
if thk is None: # assume d1, .., rho1,
nLay = (len(res)-1) // 2 + 1
thk = res[:nLay-1]
res = res[nLay-1:2*nLay-1]
assert len(res) == len(thk)+1, "Lengths of res/thk+1 must match!"
fop = VESModelling(**kwargs)
return fop.response(np.concatenate([thk, res]))