# Sinusoid paramters H = 2. L = 40. phi = 0. c = 1500 fc = 1e3 fs = 2.25e3 * 2 tau_lim = 30e-3 # vector element formulation used in periodic solution rsrc = np.array([0., z_src]) rrcr = np.array([x_rcr, z_rcr]) # compute time/frequency domain parameters faxis, _, sig_FT = initialize_nuttall(fc, fs, c, tau_lim) tau_img = np.sqrt(x_rcr ** 2 + (z_src + z_rcr) ** 2) / c p_img = hankel2(0, 2 * np.pi * fc * np.sqrt(x_rcr ** 2 + (z_src + z_rcr) ** 2) / c) taxis = np.arange((faxis.size - 1) * 2) / (2 * faxis[-1]) + tau_img # specifications for wn synthesis eva_range = 0.1 num_eva = 4 numquad = 50000 def p_KA(facous, rANA): # periodic KA solution tcoarse = make_theta_axis(2000, eva_range, is_half=False) r0, q0 = rANA.rfm_1st(tcoarse[0], facous, num_eva) rn1, qn1 = rANA.rfm_1st(tcoarse[-1], facous, num_eva)
# sinusoid parameters H = 2 L = 40 Phi = 0 K = 2 * pi / L # compute source and receiver ray fans c0 = 1500 num_rays = 500 theta_max = 0.1 * (pi / 180) ray_src = IsoSpeedFan(c0, z_src + dz_iso, num_rays, theta_max) ray_rcr = IsoSpeedFan(c0, z_rcr + dz_iso, num_rays, theta_max) # compute time/frequency domain parameters faxis, dx, sig_FT = initialize_nuttall(fc, fs, c0, tau_lim) # setup xaxis tau_src_ier = interp1d(ray_src.rho, ray_src.travel_time, fill_value="extrapolate") tau_rcr_ier = interp1d(ray_rcr.rho, ray_rcr.travel_time, fill_value="extrapolate") xaxis, yaxis, tau_img = initialize_axes(tau_src_ier, tau_rcr_ier, tau_lim, x_rcr, dx) # wave profile eta = (H / 2) * np.cos(K * xaxis + Phi) eta_p = -(H * K / 2) * np.sin(K * xaxis + Phi)