fibermodes.field

Electromagnetic fields computation.

class fibermodes.field.Field(fiber, mode, wl, r, np=101)[source]

Electromagnetic field representation.

Parameters:
  • fiber (Fiber) – Fiber object
  • mode (Mode) – Mode
  • wl (Wavelength) – Wavelength
  • r (float) – Radius of the field to compute.
  • np (int) – Number of points (field will be np x np)
Aeff()[source]

Estimation of mode effective area.

Suppose than r is large enough, such as |F(r, r)| = 0.

Emod(phi=0, theta=0)[source]

modulus of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Ephi(phi=0, theta=0)[source]

phi component of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Epol(phi=0, theta=0)[source]

polarization of the transverse E field (in radians).

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Er(phi=0, theta=0)[source]

r component of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Et(phi=0, theta=0)[source]

transverse component of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Ex(phi=0, theta=0)[source]

x component of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Ey(phi=0, theta=0)[source]

y component of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Ez(phi=0, theta=0)[source]

z component of the E field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hmod(phi=0, theta=0)[source]

modulus of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hphi(phi=0, theta=0)[source]

phi component of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hpol(phi=0, theta=0)[source]

polarization of the transverse H field (in radians).

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hr(phi=0, theta=0)[source]

r component of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Ht(phi=0, theta=0)[source]

transverse component of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hx(phi=0, theta=0)[source]

x component of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hy(phi=0, theta=0)[source]

y component of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

Hz(phi=0, theta=0)[source]

z component of the H field.

Parameters:
  • phi – phase (in radians)
  • theta – orientation (in radians)
Returns:

(np x np) numpy array

N()[source]

Normalization constant.

S()[source]

Pointing vector

f(phi0)[source]

Azimuthal dependency function.

Parameters:phi0 (float) – Phase (rotation) of the field.
Returns:2D array of values (ndarray). Values are between -1 and 1.
g(phi0)[source]

Azimuthal dependency function.

Parameters:phi0 (float) – Phase (rotation) of the field.
Returns:2D array of values (ndarray). Values are between -1 and 1.