ecpi.common.num.integration_tools module

Section author: ECLAIRs GP team

Analytic and numeric tools to compute solid angle of a rectangular pyramid

Summary

Functions:

solidangle_rectangle_ana_numba

Compute the solid angle subtended by a rectangle of length a and b as seen by an observer located at (xp,yp,zp).

solidangle_rectangle_num

Compute the solid angle subtended by a rectangle of length a and b as seen by an observer located at (xp,yp,zp).

Reference

solidangle_rectangle_ana_numba(a, b, xp, yp, zp)[source]

Compute the solid angle subtended by a rectangle of length a and b as seen by an observer located at (xp,yp,zp). Assume that the center of the rectangle is located at the origin and that the rectangle lie in the (xOy) plane.

The surface integral is computed analytically.

documentation: * note_solid_angle_computation_pb_v2.pdf (version v2)

..warning: Some debugging in coordination with AlG reveal some round off numerical error performed during the JIT compilation step. Hence the pure python implementation in solidangle_rectangle_ana.

Parameters
  • a (float>0) – rectangle side length

  • b (float>0) – rectangle side length (the other one)

  • xp (float) – observer position along x axis

  • yp (float) – observer position along y axis

  • zp (float) – observer position along z axis

Returns

solid angle real value

Return type

float>0

solidangle_rectangle_num(a, b, xp, yp, zp)[source]

Compute the solid angle subtended by a rectangle of length a and b as seen by an observer located at (xp,yp,zp). Assume that the center of the rectangle is located at the origin and that the rectangle lie in the (xOy) plane.

The surface integral is performed numerically.

Parameters
  • a (float>0) – rectangle side length

  • b (float>0) – rectangle side length (the other one)

  • xp (float) – observer position along x axis

  • yp (float) – observer position along y axis

  • zp (float) – observer position along z axis

Returns

solid angle real value

Return type

float>0