waveformtools.integrate — waveformtools 2022-05-03 documentation

# waveformtools.integrate

Methods to integrate functions

Functions

`DriscollHealy2DInteg`(func, info) | Implementation of the Driscoll Healy 2D integration that exhibits near spectral convergence.
`GaussLegendre2DInteg`(func, info) | Evaulate the 2D surface integral using the Gauss-Legendre rule.
`MidPoint2DInteg`(func, info) | Evaulate the 2D surface integral using the midpoint rule.
`Simpson2DInteg`(func, info) | Implementation of Simpson's 2D integration scheme.
`TwoDIntegral`(func, info[, method]) | Integrate a function over a sphere.
`fixed_frequency_integrator`(udata_time, delta_t) | Fixed frequency integrator as presented in Reisswig et.

waveformtools.integrate.DriscollHealy2DInteg(func, info)

  Implementation of the Driscoll Healy 2D integration that exhibits near spectral convergence.

  Parameters:
    funcfunction

      The function to be integrated

    NTheta, NPhiint

      The number of grid points in the theta and phi directions. Note that NTheta must be even.

    ht, hpfloat

      The grid spacings.

  Returns:
    integfloat

      The function f integrated over the sphere.

waveformtools.integrate.GaussLegendre2DInteg(func, info)

  Evaulate the 2D surface integral using the Gauss-Legendre rule.

  Parameters:
    funcndarray

      The data to be integrated

    infosurface_grid_info

      An instance of the surface grid info class containing information about the grid.

    Returns
    ——-
      integfloat

        The function f integrated over the sphere.

waveformtools.integrate.MidPoint2DInteg(func, info)

  Evaulate the 2D surface integral using the midpoint rule.

  Parameters:
    funcndarray

      The data to be integrated

    infosurface_grid_info

      An instance of the surface grid info class containing information about the grid.

    Returns
    ——-
      integfloat

        The function f integrated over the sphere.

waveformtools.integrate.Simpson2DInteg(func, info)

  Implementation of Simpson’s 2D integration scheme.

  Parameters:
    funcfunction

      The function to be integrated

    NTheta, NPhiint

      The number of grid points in the theta and phi directions. Note that NTheta must be even.

    ht, hpfloat

      The grid spacings.

  Returns:
    integfloat

      The function f integrated over the sphere.

waveformtools.integrate.TwoDIntegral(func, info, method='DH')

  Integrate a function over a sphere.

  Parameters:
    funcfunction

      The function to be integrated

    NTheta, NPhiint

      The number of grid points in the theta and phi directions. Note that NTheta must be even.

    ht, hpfloat

      The grid spacings.

    methodstring

      The method to use for the integration. Options are DH (Driscoll Healy), SP (Simpson’s), MP (Midpoint).

  Returns:
    integfloat

      The function f integrated over the sphere.

waveformtools.integrate.fixed_frequency_integrator(udata_time, delta_t, utilde_conven=None, omega0=0, order=1, zero_mode=0)

  Fixed frequency integrator as presented in Reisswig et. al.

  Parameters:
    udata_time: 1d array

      The input data in time.

    delta_t: float

      The time stepping.

    utilde_conven: 1d array, optional

      The conventional FFT of the samples udata_time.

    omega0: float, optional

      The cutoff angular frequency in the integration. Must be lower than the starting angular frequency of the input waveform. All frequencies whose absolute value is below this value will be neglected. The default cutoff-value is 0.

    order: int, optional

      The number of times to integrate the integrand in time. Defaults to 1.

    zero_mode: float, optional

      The zero mode amplitude of the FFT required. Defaults to 0 i.e. the zero mode is removed.

  Returns:
    u_integ_n_time: 1d array

      The input waveform in time-space, integrated in frequency space using FFI.

    u_integ_integ_n: 1d array

      The integrated u samples in Fourier space.