Replies: 2 comments
-
Hi @mariosgeo, yes, currently the FDEM forward operator allows for multiple frequencies and just a single spacing. The latter could be a 1D-array as well. @halbmy can probably implement that quickly. We stumbled across this recently as well when inverting data from a CMD Explorer with 6 spacings and wrote this little wrapper class that takes multiple coil spacings, uses the existing forward operator response for each spacing and returns the concatenated responses. Maybe this helps as a quick fix, but we should make the existing forward operator more flexible in this regard. Best wishes class FDEM1DModelling(pg.frameworks.Modelling):
def __init__(self, nlay, frequency, coilspacings, verbose=False):
super(FDEM1DModelling, self).__init__()
self.nlay_ = nlay
self.FOP_ = [pg.core.FDEM1dModelling(nlay, frequency, coilspacing, verbose) for coilspacing in coilspacings]
self.mesh_ = pg.meshtools.createMesh1DBlock(nlay) # thicknesses & resistivities
self.setMesh(self.mesh_)
def drawModel(self, model, ax=None, **kwargs):
if ax is None:
fig, ax = plt.subplots()
drawModel1D(ax, model[0:self.nlay_ - 1], model[self.nlay_ - 1:self.nlay_ * 2 - 1], **kwargs)
def response(self, model):
return self.response_mt(model)
def response_mt(self, model, i=0):
resps = pg.Vector()
for fop in self.FOP_:
resp = fop(model)
resps = pg.cat(resps, resp)
return resps |
Beta Was this translation helpful? Give feedback.
-
Just came across this by accident. The original (core) forward operator does allow for a coilspacing vector as denoted in the API doc: https://www.pygimli.org/gimliapi/classGIMLI_1_1FDEM1dModelling.html |
Beta Was this translation helpful? Give feedback.
-
Hi Thomas,
I am looking at your code and afaik you support multi-frequencies inversion but singe separation TX-RX (you set it as a float).
can we invert data from single frequency and multiple coil separations (say like the dualem)?
Beta Was this translation helpful? Give feedback.
All reactions