Fourier3D.Scattering Class

class Fourier3D.Scattering

Reflected mode proxy.

This class contains providers for the scattered field.

Subclasses

Incident

Incident field details

Reflected

Reflected field details

Transmitted

Transmitted field details

Methods

get_raw_E(level)

Get Fourier expansion coefficients for the electric field.

get_raw_H(level)

Get Fourier expansion coefficients for the magnetic field.

integrateEE(z1, z2)

Get average integral of the squared electric field:

integrateHH(z1, z2)

Get average integral of the squared magnetic field:

Attributes

R

Total reflection coefficient (-).

T

Total transmission coefficient (-).

incident

Incident field details.

outLightE

Provider of the computed electric field [V/m].

outLightH

Provider of the computed magnetic field [A/m].

outLightMagnitude

Provider of the computed light intensity [W/m²].

reflected

Reflected field details.

reflectivity

Total reflection coefficient [%].

transmitted

Transmitted field details.

transmittivity

Total transmission coefficient [%].

Descriptions

Method Details

Fourier3D.Scattering.get_raw_E(level)

Get Fourier expansion coefficients for the electric field.

This is a low-level function returning expansion coefficients for electric field. Please refer to the detailed solver description for their interpretation.

Parameters:

level (float) – Vertical level at which the coefficients are computed.

Return type:

numpy.ndarray

Fourier3D.Scattering.get_raw_H(level)

Get Fourier expansion coefficients for the magnetic field.

This is a low-level function returning expansion coefficients for magnetic field. Please refer to the detailed solver description for their interpretation.

Parameters:

level (float) – Vertical level at which the coefficients are computed.

Return type:

numpy.ndarray

Fourier3D.Scattering.integrateEE(z1, z2)

Get average integral of the squared electric field:

\[\frac 1 2 \int\int_{z_1}^{z_2} |E|^2.\]

In the lateral direction integration is performed over the whole domain.

Parameters:
  • z1 (float) – Lower vertical bound of the integral.

  • z2 (float) – Upper vertical bound of the integral.

Returns:

Computed integral [V2 m].

Return type:

float

Fourier3D.Scattering.integrateHH(z1, z2)

Get average integral of the squared magnetic field:

\[\frac 1 2 \int\int_{z_1}^{z_2} |H|^2.\]

In the lateral direction integration is performed over the whole domain.

Parameters:
  • z1 (float) – Lower vertical bound of the integral.

  • z2 (float) – Upper vertical bound of the integral.

Returns:

Computed integral [A2 m].

Return type:

float

Attribute Details

Fourier3D.Scattering.R = <property object>

Total reflection coefficient (-).

Fourier3D.Scattering.T = <property object>

Total transmission coefficient (-).

Fourier3D.Scattering.incident = <property object>

Incident field details.

Return type:

optical.slab.Fourier3D.Incident

Fourier3D.Scattering.outLightE = <property object>

Provider of the computed electric field [V/m].

outLightE(mesh, interpolation=’default’)

Parameters:
  • mesh (mesh) – Target mesh to get the field at.

  • interpolation (str) – Requested interpolation method.

Returns:

Data with the electric field on the specified mesh [V/m].

Example

Connect the provider to a receiver in some other solver:

>>> other_solver.inLightE = solver.outLightE

Obtain the provided field:

>>> solver.outLightE(mesh)
<plask.Data at 0x1234567>

See also

Provider class: plask.flow.LightEProvider3D

Receciver class: plask.flow.LightEReceiver3D

Fourier3D.Scattering.outLightH = <property object>

Provider of the computed magnetic field [A/m].

outLightH(mesh, interpolation=’default’)

Parameters:
  • mesh (mesh) – Target mesh to get the field at.

  • interpolation (str) – Requested interpolation method.

Returns:

Data with the magnetic field on the specified mesh [A/m].

Example

Connect the provider to a receiver in some other solver:

>>> other_solver.inLightH = solver.outLightH

Obtain the provided field:

>>> solver.outLightH(mesh)
<plask.Data at 0x1234567>

See also

Provider class: plask.flow.LightHProvider3D

Receciver class: plask.flow.LightHReceiver3D

Fourier3D.Scattering.outLightMagnitude = <property object>

Provider of the computed light intensity [W/m²].

outLightMagnitude(mesh, interpolation=’default’)

Parameters:
  • mesh (mesh) – Target mesh to get the field at.

  • interpolation (str) – Requested interpolation method.

Returns:

Data with the light intensity on the specified mesh [W/m²].

Example

Connect the provider to a receiver in some other solver:

>>> other_solver.inLightMagnitude = solver.outLightMagnitude

Obtain the provided field:

>>> solver.outLightMagnitude(mesh)
<plask.Data at 0x1234567>
Fourier3D.Scattering.reflected = <property object>

Reflected field details.

Return type:

optical.slab.Fourier3D.Reflected

Fourier3D.Scattering.reflectivity = <property object>

Total reflection coefficient [%].

This differs from Scattering.R by unit.

Fourier3D.Scattering.transmitted = <property object>

Transmitted field details.

Return type:

optical.slab.Fourier3D.Transmitted

Fourier3D.Scattering.transmittivity = <property object>

Total transmission coefficient [%].

This differs from Scattering.T by unit.