Post Processing
The PostProcessing module allows you to process the results of a DDA/CEMD calculation. Mostly for:
- Computing cross sections and emission patterns.
- Computing scattered fields.
- Computing local density of states (LDOS).
The list of functions and a description of how to use them is given in the following section. In general $N$ represents the number of dipoles.
Functions List and Documentation
Functions for Cross Sections and Emission Patterns
Main.CoupledElectricMagneticDipoles.PostProcessing.compute_cross_sections_e — Methodcompute_cross_sections_e(knorm,kr,e_inc,alpha_e_dl,input_field;explicit_scattering=true,verbose=true)Computes the extinction, absorbtion and scattering cross section $\sigma_{ext}$, $\sigma_{abs}$, $\sigma_{sca}$ of a system made out of electric dipoles, illuminated by a plane wave. Note that it should follow the optical theorem, i.e.
\[\sigma_{ext}=\sigma_{abs}+\sigma_{sca}\]
Arguments
knorm: wave number in the medium.kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.e_inc: 2D complex array of size $N\times 3$ containing the total incident electric field $\mathbf{E}_{i}$ on each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.input_field: 2D complex array of size $N\times 3$ containing the input field $\mathbf{E}_0(\mathbf{r}_i)$ at the position of each dipole. Note that it must be a plane wave.explicit_scattering: boolean that says whether to compute scttering cross section explicitely (true) or to deduce it from the optical theorem (false). By default set totrue.verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- a float array of length 3 containing in order: extinction, absorption and scattering cross section. Cross sections are given in units of
knorm^{-2}`.
Main.CoupledElectricMagneticDipoles.PostProcessing.compute_cross_sections_e_m — Methodcompute_cross_sections_e_m(knorm,kr,phi_inc,alpha_e_dl,alpha_m_dl,input_field;explicit_scattering=true,verbose=true)Computes the extinction, absorbtion and scattering cross section $\sigma_{ext}$, $\sigma_{abs}$, $\sigma_{sca}$ of a system made out of electric and magnetic dipoles, illuminated by a plane wave. Note that it should follow the optical theorem, i.e.
\[\sigma_{ext}=\sigma_{abs}+\sigma_{sca}\]
Arguments
knorm: wave number in the medium.kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.phi_inc: 2D complex array of size $N\times 6$ containing the total incident electric and magnetic field $\mathbf{\Phi}_i=(\mathbf{E}_i,\mathbf{H}_i)$ on each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.alpha_m_dl: complex dimensionless magnetic polarizability of each dipole. See the Alphas module documentation for accepted formats.input_field: 2D complex array of size $N\times 6$ containing the electric and magnetic input field $\mathbf{\Phi}_0=(\mathbf{E}_0(\mathbf{r}_i),\mathbf{H}_0(\mathbf{r}_i))$ at the position of each dipole. Note that it should be a plane wave.explicit_scattering: boolean that says whether to compute scttering cross section explicitely (true) or to deduce it from the optical theorem (false). By default set totrue.verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- a float array of length 3 containing in order: extinction, absorption and scattering cross section. Cross sections are given in units of
knorm^{-2}`.
Main.CoupledElectricMagneticDipoles.PostProcessing.compute_cross_sections_e_m — Methodcompute_cross_sections_e_m(knorm,kr,phi_inc,alpha_dl,input_field;explicit_scattering=true,verbose=true)Same as compute_cross_sections_e_m(knorm,kr,phi_inc,alpha_e_dl,alpha_m_dl,input_field;explicit_scattering=true,verbose=true), but the electric and magnetic polarizabilities of each dipole are given by a single 6x6 complex matrix. See the Alphas module documentation for accepted formats.
Main.CoupledElectricMagneticDipoles.PostProcessing.diff_scattering_cross_section_e — Methoddiff_scattering_cross_section_e(knorm,kr,e_inc,alpha_e_dl,input_field,ur;verbose=true)Computes the differential scattering cross section $d \sigma_{sca}/ d\Omega$ of a system made out of electric dipoles in direction(s) ur.
Arguments
knorm: wave number in the medium.kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.e_inc: 2D complex array of size $N\times 3$ containing the total incident electric field $\mathbf{E}_{i}$ on each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.input_field: 2D complex array of size $N\times 3$ containing the electric input field $\mathbf{E}_0(\mathbf{r}_i)$ at the position of each dipole. Note that it should be a plane waveur: 1D float vector of length 3 (only one direction) or 2D float array of size $Nu\times 3$ (more thant 1 directions) containing the directions $\mathbf{u_r}$ where the diffrential scattering cross section is computed. Note that these directions vectors are normalized to 1 in the function.verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- an array containing the differential cross section in each direction. Cross sections are given in units of
knorm^{-2}`.
Main.CoupledElectricMagneticDipoles.PostProcessing.diff_scattering_cross_section_e_m — Methoddiff_scattering_cross_section_e_m(knorm,kr,phi_inc,alpha_e_dl,alpha_m_dl,input_field,ur;verbose=true)Computes the differential scattering cross section $d \sigma_{sca}/ d\Omega$ of a system made out of electric and magnetic dipoles in direction(s) ur.
Arguments
knorm: wave number in the medium.kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.phi_inc: 2D complex array of size $N\times 6$ containing the total incident electric and magnetic field $\mathbf{\Phi}_i=(\mathbf{E}_i,\mathbf{H}_i)$ on each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.alpha_m_dl: complex dimensionless magnetic polarizability of each dipole. See the Alphas module documentation for accepted formats.input_field: 2D complex array of size $N\times 6$ containing the electric and magnetic input field $\mathbf{\Phi}_0=(\mathbf{E}_0(\mathbf{r}_i),\mathbf{H}_0(\mathbf{r}_i))$ at the position of each dipole. Note that it should be a plane wave.ur: 1D float vector of length 3 (only one direction) or 2D float array of size $Nu\times 3$ (more thant 1 directions) containing the dimensionless positions $\mathbf{u_r}$ where the diffrential scattering cross section is computed. Note that these directions vectors are normalized to 1 in the function.verbose: whether to output pieces of information to the standard output during at runtime or not. By default set totrue.
Outputs
- an array containing the differential cross section in each direction. Cross sections are given in units of
knorm^{-2}`.
Main.CoupledElectricMagneticDipoles.PostProcessing.diff_scattering_cross_section_e_m — Methoddiff_scattering_cross_section_e_m(knorm,kr,phi_inc,alpha_dl,input_field,ur;verbose=true)Same as diff_scattering_cross_section_e_m(knorm,kr,phi_inc,alpha_e_dl,alpha_m_dl,input_field,ur;verbose=true), but the electric and magnetic polarizabilities of each dipole are given by a single 6x6 complex matrix. See the Alphas module documentation for accepted formats.
Main.CoupledElectricMagneticDipoles.PostProcessing.emission_pattern_e — Methodemission_pattern_e(kr,e_inc,alpha_e_dl,ur,krd,dip;verbose=true)Computes the emission pattern $d P/ d\Omega$ (differential power emitted in a given direction) of a system made out of electric dipoles in direction(s) of position(s) krf.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.e_inc: 2D complex array of size $N\times 3$ containing the total incident electric field $\mathbf{E}_{i}$ on each dipole. The user is required to first solve the DDA problem fore_incin the presence of a point dipole source placed atkrd.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.ur: 1D float vector of length 3 (only one direction) or 2D float array of size $Nu\times 3$ (more thant 1 directions) containing the dimensionless positions $\mathbf{u_r}$ where the diffrential scattering cross section is computed. Note that these directions vectors are normalized to 1 in the function.krd: float vector of length 3 containing the dimensionless position of the point electric dipole source.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively)
or complex array of size 3 with the components for the electric dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- an array containing the differential emitted power in directions
urin units of the power emitted by the emitter $P_0$ without any scatterers.
Main.CoupledElectricMagneticDipoles.PostProcessing.emission_pattern_e_m — Methodemission_pattern_e_m(kr,phi_inc,alpha_e_dl,alpha_m_dl,ur,krd,dip;verbose=true)Computes the emission pattern $d \P/ d\Omega$ of a system made out of electric and magnetic dipoles in direction(s) of position(s) krf.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.phi_inc: 2D complex array of size $N\times 6$ containing the total incident electric and magnetic field $\mathbf{\Phi}_i=(\mathbf{E}_i,\mathbf{H}_i)$ on each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.alpha_m_dl: complex dimensionless magnetic polarizability of each dipole. See the Alphas module documentation for accepted formats.ur: 1D float vector of length 3 (only one direction) or 2D float array of size $Nu\times 3$ (more thant 1 directions) containing the dimensionless positions $\mathbf{u_r}$ where the diffrential scattering cross section is computed. Note that these directions vectors are normalized to 1 in the function.krd: float vector of length 3 containing the dimensionless position of the point electric and/or magnetic dipole source.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively anddip = 4,5,6is a magnetic dipole along x,y,z respectively)
or complex array of size 6 with the first 3 components for the electric dipole moment and the last 3 components for the magnetic dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- an array containing the differential emitted power in directions
urin units of the power emitted by the emitter $P_0$ without any scatterers.
Main.CoupledElectricMagneticDipoles.PostProcessing.emission_pattern_e_m — Methodemission_pattern_e_m(kr,phi_inc,alpha_dl,ur,krd,dip;verbose=true)Same as emission_pattern_e_m(kr,phi_inc,alpha_e_dl,alpha_m_dl,ur,krd,dip;verbose=true), but the electric and magnetic polarizabilities of each dipole are given by a single 6x6 complex matrix. See the Alphas module documentation for accepted formats.
Functions for Scattered Fields
Main.CoupledElectricMagneticDipoles.PostProcessing.field_sca_e — Methodfunction field_sca_e(kr, alpha_e_dl, e_inc, krf)Computes the scattered field from a system made out of electric dipoles. Note that the term $e^{ikr}/kr$ is retained, so krf has to be finite.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.e_inc: 2D complex array of size $N\times 3$ containing the total incident electric field $\mathbf{E}_{i}$ on each dipole.krf: 1D float vector of length 3 (only one position) or 2D float array of size $Nu\times 3$ (more thant 1 position) containing the dimensionless positions $k\mathbf{r}_f$ at which the scattered field is computed.verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
field_r: 2D complex array of size $Nf\times 6$ containing the scattered electric and magnetic fields by the dipoles at every $k\mathbf{r_f}$. Note that the term $e^{ikr}/kr$ is retained, sokrfhas to be finite.
Main.CoupledElectricMagneticDipoles.PostProcessing.field_sca_e_m — Methodfield_sca_e_m(kr, alpha_e_dl, alpha_m_dl, phi_inc, krf; verbose=true)Computes the scattered field from a system made out of electric and magnetic dipoles.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.alpha_m_dl: complex dimensionless magnetic polarizability of each dipole. See the Alphas module documentation for accepted formats.phi_inc: 2D complex array of size $N\times 6$ containing the total incident electric and magnetic field $\mathbf{\Phi}_i=(\mathbf{E}_i,\mathbf{H}_i)$ on each dipole.krf: 1D float vector of length 3 (only one position) or 2D float array of size $Nu\times 3$ (more thant 1 position) containing the dimensionless positions $k\mathbf{r}_f$ at which the scattered field is computed.verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
field_r: 2D complex array of size $Nf\times 6$ containing the scattered electric and magnetic fields by the dipoles at every $k\mathbf{r_f}$.
Main.CoupledElectricMagneticDipoles.PostProcessing.field_sca_e_m — Methodfield_sca_e_m(kr, alpha_dl, phi_inc, krf)Same as field_sca_e_m(kr, alpha_e_dl, alpha_m_dl, phi_inc, krf), but the electric and magnetic polarizabilities of each dipole are given by a single 6x6 complex matrix. See the Alphas module documentation for accepted formats.
Main.CoupledElectricMagneticDipoles.PostProcessing.far_field_sca_e — Methodfunction far_field_sca_e(kr,e_inc,alpha_e_dl,krf)Computes the scattered field from a system made out of electric dipoles in the far field approximation. Note that the term $e^{ikr}/kr$ is retained, so krf has to be finite.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole. Note that these positions have to be far away from the dipoles positions.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.e_inc: 2D complex array of size $N\times 3$ containing the incident electric field $\mathbf{E}_{i}$ on each dipole.krf: 1D float vector of length 3 (only one position) or 2D float array of size $Nu\times 3$ (more thant 1 position) containing the dimensionless positions $k\mathbf{r}_f$ at which the scattered field is computed.
Outputs
field_r: 2D complex array of size $Nf\times 6$ containing the scattered field by the dipoles at every $k\mathbf{r_f}$. Note that the term $e^{ikr}/kr$ is retained, sokrfhas to be finite.
Main.CoupledElectricMagneticDipoles.PostProcessing.far_field_sca_e_m — Methodfunction far_field_sca_e_m(kr,e_inc,alpha_e_dl,alpha_m_dl,krf)Computes the scattered field from a system made out of electric and magnetic dipoles in the far field approximation. Note that the term $e^{ikr}/kr$ is retained, so krf has to be finite.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole. Note that these positions have to be far away from the dipoles positions.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.alpha_m_dl: complex dimensionless magnetic polarizability of each dipole. See the Alphas module documentation for accepted formats.phi_inc: 2D complex array of size $N\times 6$ containing the incident electric and magnetic field $\mathbf{\Phi}_i=(\mathbf{E}_i,\mathbf{H}_i)$ on each dipole.krf: 1D float vector of length 3 (only one position) or 2D float array of size $Nu\times 3$ (more thant 1 position) containing the dimensionless positions $k\mathbf{r}_f$ at which the scattered field is computed.
Outputs
field_r: 2D complex array of size $Nf\times 6$ containing the scattered field by the dipoles at every $k\mathbf{r_f}$. Note that the term $e^{ikr}/kr$ is retained, sokrfhas to be finite.
Main.CoupledElectricMagneticDipoles.PostProcessing.far_field_sca_e_m — Methodfunction far_field_sca_e_m(kr,e_inc,alpha_dl,krf)Same as far_field_sca_e_m(kr, alpha_e_dl, alpha_m_dl, phi_inc, krf), but the electric and magnetic polarizabilities of each dipole are given by a single 6x6 complex matrix. See the Alphas module documentation for accepted formats.
Functions for LDOS
Main.CoupledElectricMagneticDipoles.PostProcessing.ldos_e — Methodldos_e(kr, alpha_e_dl, Ainv, krd; dip=nothing, verbose=true)It Computes local density of states (LDOS) of a system made out of electric dipoles normalized by the LDOS in the host medium without scatterers.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.Ainv: (inverse) DDA matrix.krd: 2D float array of size $Nd\times 3$ containing the dimentionless positions $k\mathbf{r_d}$ where the LDOS is calculated.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively)
or complex array of size 3 with the components for the electric dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
LDOS: float array with the LDOS normalized by the LDOS in the host medium without scatterers.
Main.CoupledElectricMagneticDipoles.PostProcessing.ldos_e_m — Methodldos_e_m(kr, alpha_e_dl, alpha_m_dl, Ainv, krd; dip=nothing, verbose=true)Computes local density of states (LDOS) of a system made out of electric and magnetic dipoles normalized by the LDOS in the host medium without scatterers.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.alpha_e_dl: complex dimensionless electric polarizability of each dipole. See the Alphas module documentation for accepted formats.alpha_m_dl: complex dimensionless magnetic polarizability of each dipole. See the Alphas module documentation for accepted formats.Ainv: (inverse) CEMD matrix.krd: 2D float array of size $Nd\times 3$ containing the dimentionless positions $k\mathbf{r_d}$ where the LDOS is calculated.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively anddip = 4,5,6is a magnetic dipole along x,y,z respectively)
or complex array of size 6 with the first 3 components for the electric dipole moment and the last 3 components for the magnetic dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
LDOS: float array with the LDOS normalized by the LDOS in the host medium without scatterers.
Main.CoupledElectricMagneticDipoles.PostProcessing.ldos_e_m — Methodldos_e_m(kr, alpha_dl, Ainv, krd; dip=nothing, verbose=true)Same as ldos_e_m(kr, alpha_e_dl, alpha_m_dl, Ainv, krd; dip=nothing, verbose=true), but the electric and magnetic polarizabilities of each dipole are given by a single 6x6 complex matrix. See the Alphas module documentation for accepted formats.
Main.CoupledElectricMagneticDipoles.PostProcessing.rad_ldos_e — Methodrad_ldos_e(kr,krd,p,dip;verbose=true)Computes the radiative part of the LDOS of a system of electric point dipoles scatterers normalized by the LDOS in the host medium without scatterers.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.krd: float array of size 3 containing the dimentionless position $k\mathbf{r_d}$ where the radiative part of the LDOS is calculated.p: 2D complex array of size$Nd\times 3$ containing the electric dipole moments of the dipoles.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively)
or complex array of size 3 with the components for the electric dipole moment.
verbose: whether to output pieces of information to the standard output during running or not. By default set totrue.
Outputs
- float containing the normalized (by the LDOS in the host medium without scatterers) radiative LDOS at the position
krd.
Main.CoupledElectricMagneticDipoles.PostProcessing.rad_ldos_e_m — Methodrad_ldos_e_m(kr,krd,p,m,dip;verbose=true)Computes the radiative part of the LDOS of a system of electric and magnetic point dipoles scatterers normalized by the LDOS in the host medium without scatterers.
Arguments
kr: 2D float array of size $N\times 3$ containing the dimensionless position $k\mathbf{r}$ of each dipole.krd: float array of size 3 containing the dimentionless position $k\mathbf{r_d}$ where the LDOS is calculated.p: 2D complex array of size$Nd\times 3$ containing the electric dipole moments of the dipoles.m: 2D complex array of size$Nd\times 3$ containing the magnetic dipole moments of the dipoles.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively anddip = 4,5,6is a magnetic dipole along x,y,z respectively)
or complex array of size 6 with the first 3 components for the electric dipole moment and the last 3 components for the magnetic dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- float containing the normalized (by the LDOS in the host medium without scatterers) radiative LDOS at the position
krd.
Main.CoupledElectricMagneticDipoles.PostProcessing.nonrad_ldos_e — Methodnonrad_ldos_e(p,e_inc,dip;verbose=true)Computes the non-radiative part of the LDOS of a system of electric point dipoles scatterers normalized by the LDOS in the host medium without scatterers. Note that the scattering problem has to be solved previously using a point dipole source as input field.
Arguments
p: 2D complex array of size$Nd\times 3$ containing the electric dipole moments of the dipoles. It has to be previously computed by one of the DDACore functions andcompute_dipole_moment.e_inc: 2D complex array of size $N\times 3$ containing the total incident electric field $\mathbf{E}_{i}$ on each dipole. It has to be previously computed by one of the DDACore functions, setting the input field to be a point dipole source.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively)
or complex array of size 3 with the components for the electric dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- float array containing the normalized non-radiative LDOS at everey position of
krd.
Main.CoupledElectricMagneticDipoles.PostProcessing.nonrad_ldos_e_m — Methodnonrad_ldos_e_m(p,m,phi_inc,dip;verbose=true)Computes the non-radiative part of the LDOS of a system of electric and magnetic point dipoles scatterers normalized by the LDOS in the host medium without scatterers. Note that the scattering problem has to be solved previously using a point dipole source as input field.
Arguments
p: 2D complex array of size$Nd\times 3$ containing the electric dipole moments of the dipoles. It has to be previously computed by one of the DDACore functions andcompute_dipole_moment.m: 2D complex array of size$Nd\times 3$ containing the magnetic dipole moments of the dipoles. It has to be previously computed by one of the DDACore functions, setting the input field to be a point dipole source.phi_inc: 2D complex array of size $N\times 6$ containing the total incident electric and magnetic field $\mathbf{\Phi}_i=(\mathbf{E}_i,\mathbf{H}_i)$ on each dipole.dip: integer defining the dipole moment (dip = 1,2,3is an electric dipole along x,y,z respectively anddip = 4,5,6is a magnetic dipole along x,y,z respectively)
or complex array of size 6 with the first 3 components for the electric dipole moment and the last 3 components for the magnetic dipole moment.
verbose: whether to output pieces of information to the standard output at runtime or not. By default set totrue.
Outputs
- 1D float array containing the normalized non-radiative LDOS at everey position of
krd.
Utilities Functions
Main.CoupledElectricMagneticDipoles.PostProcessing.compute_dipole_moment — Methodcompute_dipole_moment(alpha,phi_inc)Computes the dipole moment (magnetic or electric) of a dipole with polarizability alpha under an incident field phi_inc. alpha can be:
- a complex scalar
- a 1D complex array of size $N$
- a $3\times 3$ or $6\times 6$ complex matrix.
- a 3D complex array of size $N\times 3\times 3$ or $N\times 6\times 6$
Main.CoupledElectricMagneticDipoles.PostProcessing.poynting_vector — Methodpoynting_vector(phi)Computes the poynting vector of an electromagnetic field. Input is an electric and magnetic field phi(1D complex Array of length 6). Outputs a 1D float array of length 3 in units of electriqc field squared.