Integrating the Poynting Vector

This example shows how to calculate power flow through a monitor by integrating the Poynting vector. It is also useful as an example of how to do other integrals involving monitor data. In particular, the script file shows a simple technique for integrating over an arbitrary area, such as a circle. The files in this section were created using FDTD Solutions, but a similar approach can be applied for MODE Solution’s propagator.

Associated files

usr_integrate_poynting.fsp (239.3 KB)
usr_integrate_poynting1.lsf (1.3 KB)
usr_integrate_poynting2.lsf (2.6 KB)
usr_integrate_poynting3.lsf (546 Bytes)

See also


Profile and Power monitors record the Poynting vector by default. Therefore, calculating power is simply a matter of integrating the Poynting vector over a surface. Normalizing the transmitted power to the source emitted power is generally more useful than having the result in SI units of Watts. $$\mathbf{P}=\mathbf{E}\times\mathbf{H^*} $$ $$ \text{Power}=\frac{1}{2} \quad {\LARGE \int_{\normalsize Surface}} Re(\mathbf{P})\cdot d\mathbf{s}$$ $$ \text{Normalized Power} = \frac {\text{Power}}{\text{Source Power}} $$

The script function transmission can be used to calculate the total power transmitted through a power or profile monitor. However, to calculate the power transmitted through a portion of a monitor, you must integrate the Poynting vector over that region.

The following screenshot shows the layout of usr_integrate_poynting.fsp. A plane wave source emits light in the positive z direction. There is a thin gold layer with a hole in it that reflects much of the light. Monitors are placed above and below the gold layer to measure transmission and reflection.

Run the simulation, then run the script usr_integrate_poynting1.lsf. The script will first calculate the total transmission in two ways: using the built in transmission function, and manually integrating the Poynting vector. The two results should be exactly the same.


Next, the script `usr_integrate_poynting2.lsf` can be used to integration the Poynting vector over a circular portion of the monitor. The script will create these two figures, showing the integration filter and the fraction of power passing through that region.


This example script includes two other possible shapes: a rectangular region and an arbitrary polygon region, shown below.


Finally, the script `usr_integrate_poynting3.lsf` can be used to separate the contribution from the field polarized in the Ex direction from the contribution from the Ey polarized fields. This can be roughly interpreted as measuring the fraction of power in each polarization. It is important to note that simply integrating one component of the Poynting vector can not always be interpreted in a simple way. This analysis should not be applied to your simulation without some careful thought.

In the simulation, notice that the source polarization angle is 30 degrees, which means most of the beam is polarized in the X direction, with a smaller fraction polarized in the Y direction. This is consistent with the results shown below, where approximately 2/3 of the power is X polarized and 1/3 is polarized in Y.


1 Like