def exp_term_lin(self, waves: np.ndarray, id: int, z: float, h: float,
                     corr_wave: Optional[np.ndarray] = None
                     ) -> np.ndarray:
        if (corr_wave is None):
            corr_wave = waves[id]

        return FFT.ifft_mult_fft(corr_wave,
                                 self.exp_op_lin(waves, id, h, corr_wave))
Beispiel #2
0
    def term(self,
             waves: np.ndarray,
             id: int,
             corr_wave: Optional[np.ndarray] = None) -> np.ndarray:
        if (corr_wave is None):
            corr_wave = waves[id]

        return FFT.ifft_mult_fft(corr_wave, self.op(waves, id, corr_wave))
Beispiel #3
0
    def term(self,
             waves: np.ndarray,
             id: int,
             corr_wave: Optional[np.ndarray] = None) -> np.ndarray:

        factor = (1 + self._omega * self._S[id])

        return FFT.ifft_mult_fft(corr_wave * waves[id], factor)
Beispiel #4
0
    def exp_term_lin(self, waves: Array[cst.NPFT], id: int, h: float,
                     corr_wave: Optional[Array[cst.NPFT]] = None
                     ) -> Array[cst.NPFT]:
        if (corr_wave is None):
            corr_wave = waves[id]

        return FFT.ifft_mult_fft(corr_wave,
                                 self.exp_op_lin(waves, id, h, corr_wave))
Beispiel #5
0
    def op(self,
           waves: np.ndarray,
           id: int,
           corr_wave: Optional[np.ndarray] = None) -> np.ndarray:
        """The approximation of the operator of the
        self-steepening effect.
        """
        factor = (1 + self._omega * self._S[id])

        return FFT.ifft_mult_fft(corr_wave, factor)