def skin_kernel(alpha=0.0, length=601): """ Generates a skin effect kernel, with the specified parameters kernel_step_function heaviside(t+1)*(1-errf(alpha/21./np.sqrt(t+1))) """ t_kernel = np.arange(length) if abs(alpha) > 0.0: kernel_skineffect = kernel_generic2(htilde_skineffect, t_kernel, alpha) else: kernel_skineffect = np.zeros(length) kernel_skineffect[0] = 1.0 return kernel_skineffect
def bounce_kernel(amp=0.02, time=4, length=601): """ Generates a bounce kernel, with the specified parameters. kernel_step_function: heaviside(t) + amp*heaviside(t-time) """ bounce = lambda t, amp, time: heaviside(t) - amp * np.double((t + 1) > time) * heaviside(t) htilde_bounce = lambda t, time: bounce(t, amp, time) - bounce(t - 1, amp, time) t_kernel = np.arange(length) if abs(amp) > 0.0: kernel_bounce = kernel_generic2(htilde_bounce, t_kernel, time) else: kernel_bounce = np.zeros(length) kernel_bounce[0] = 1.0 return kernel_bounce