# PLaSK User Manual

#### Page Contents

- BesselCyl.Scattering Class
  - `BesselCyl.Scattering`
  - Subclasses
  - Methods
  - Attributes
  - Descriptions
    - Method Details
      - `BesselCyl.Scattering.get_raw_E()`
      - `BesselCyl.Scattering.get_raw_H()`
      - `BesselCyl.Scattering.integrateEE()`
      - `BesselCyl.Scattering.integrateHH()`
    - Attribute Details
      - `BesselCyl.Scattering.R`
      - `BesselCyl.Scattering.T`
      - `BesselCyl.Scattering.incident`
      - `BesselCyl.Scattering.outLightE`
      - `BesselCyl.Scattering.outLightH`
      - `BesselCyl.Scattering.outLightMagnitude`
      - `BesselCyl.Scattering.reflected`
      - `BesselCyl.Scattering.reflectivity`
      - `BesselCyl.Scattering.transmitted`
      - `BesselCyl.Scattering.transmittivity`

# BesselCyl.Scattering Class

class BesselCyl.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

BesselCyl.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

BesselCyl.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

BesselCyl.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

BesselCyl.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

BesselCyl.Scattering.R = <property object>

  Total reflection coefficient (-).

BesselCyl.Scattering.T = <property object>

  Total transmission coefficient (-).

BesselCyl.Scattering.incident = <property object>

  Incident field details.

  Return type:

    optical.modal.BesselCyl.Incident

BesselCyl.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.LightEProviderCyl`

  Receciver class: `plask.flow.LightEReceiverCyl`

BesselCyl.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.LightHProviderCyl`

  Receciver class: `plask.flow.LightHReceiverCyl`

BesselCyl.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>

  See also

  Provider class: `plask.flow.LightMagnitudeProviderCyl`

  Receciver class: `plask.flow.LightMagnitudeReceiverCyl`

BesselCyl.Scattering.reflected = <property object>

  Reflected field details.

  Return type:

    optical.modal.BesselCyl.Reflected

BesselCyl.Scattering.reflectivity = <property object>

  Total reflection coefficient [%].

  This differs from `Scattering.R` by unit.

BesselCyl.Scattering.transmitted = <property object>

  Transmitted field details.

  Return type:

    optical.modal.BesselCyl.Transmitted

BesselCyl.Scattering.transmittivity = <property object>

  Total transmission coefficient [%].

  This differs from `Scattering.T` by unit.