Primary Field for FDEM sounding

In the FDEM_vmd_sounding_over_sphere example I’ve find the code for calculate the primary field at receiver for normalization:

rx = rxList[0]
P = rx.getP(mesh, 'Fz')
bprimary = fields[srcList[1], 'bPrimary']
b0 = P*bprimary
b0 = b0[0][0].real

Is this true for any receiver position? I need vertical and horisontal Rx offsets.

In another notebook I’ve met another expression:
b_primary = -mu_0/(4*np.pi*rxOffset**3)

Hi @Alexey, thanks for your question and apologies for the delay.

If you need to have both a vertical and horizontal offset, then using the first block of code that pasted in will account for that. The second block that you pasted is a simplification and assumes that the receiver and transmitter are in the same horizontal plane.

I will copy in what you put and just give a comment just to walk through what is happening:

rx = rxList[0]   # get the first receiver in the list of receivers
P = rx.getP(mesh, 'Fz')  # projection matrix that interpolates from the `Fz` grid where the magnetic flux is discretized to the receiver location
bprimary = fields[srcList[1], 'bPrimary']  # primary magnetic flux everywhere on the mesh
b0 = P*bprimary  # compute the value of the magnetic flux at the receiver point
b0 = b0[0][0].real  # grab the real component 

Hope that helps!

1 Like