# Primary Field for FDEM sounding

**URL:** <https://simpeg.discourse.group/t/primary-field-for-fdem-sounding/79>\
**Category:** Electromagnetics\
**Created:** [February 23, 2020, 12:43pm UTC](https://simpeg.discourse.group/t/primary-field-for-fdem-sounding/79 "2020-02-23T12:43:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alexey](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Alexey](https://simpeg.discourse.group/u/Alexey)\
**Post date:** [February 23, 2020, 12:43pm UTC](https://simpeg.discourse.group/t/primary-field-for-fdem-sounding/79/1 "2020-02-23T12:43:13Z")

</div>

Hi,  
In the _[FDEM\_vmd\_sounding\_over\_sphere](https://github.com/simpeg/em-notebooks/blob/master/notebooks/FDEM_vmd_sounding_over_sphere.ipynb)_ 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)`

---

<div class="post-metadata">

**Author:** ![lheagy](https://yyz2.discourse-cdn.com/free1/user_avatar/simpeg.discourse.group/lheagy/32/6_2.png) [@lheagy](https://simpeg.discourse.group/u/lheagy)\
**Post date:** [March 19, 2020, 12:14am UTC](https://simpeg.discourse.group/t/primary-field-for-fdem-sounding/79/2 "2020-03-19T00:14:54Z")

</div>

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:

```python
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!
