comp_params=HelmholtzPropagatorComputationalParams( terrain_method=TerrainMethod.staircase, max_propagation_angle=5, modify_grid=False, grid_optimizator_abs_threshold=5e-3, z_order=4, exp_pade_order=(10, 11), dx_wl=500, dz_wl=0.8, storage=PickleStorage())) pade_field_4 = pade_task_4.calculate() petool_task = PETOOLPropagationTask(antenna=ant, env=env, two_way=False, max_range_m=150e3, dx_wl=500, n_dx_out=1, dz_wl=3) petool_field = petool_task.calculate() env.z_max = 3000 petool_task_m = PETOOLPropagationTask(antenna=ant, env=env, two_way=False, max_range_m=150e3, dx_wl=500, n_dx_out=1, dz_wl=3, n_dz_out=2) petool_field_m = petool_task_m.calculate()
max_propagation_angle=abs(antenna.beam_width) + abs(antenna.eval_angle) + 5, z_order=5, dx_wl=2, dz_wl=0.05, inv_z_transform_tau=10**(3 / (max_range / antenna.wavelength / 2))) pade_task = TroposphericRadioWaveSSPadePropagator(antenna=antenna, env=environment, max_range_m=max_range, comp_params=pade_params) pade_field = pade_task.calculate() petool_task = PETOOLPropagationTask(antenna=antenna, env=environment, two_way=False, max_range_m=max_range, dx_wl=1, n_dx_out=1, dz_wl=0.05, n_dz_out=20) petool_field = petool_task.calculate() trm = TwoRayModel(src=antenna, env=environment) x_grid_m = np.linspace(1, max_range, 5000) z_grid_m = np.linspace(1, environment.z_max, 500) trm_f = trm.calculate(x_grid_m, z_grid_m) trm_field = Field(x_grid=x_grid_m, z_grid=z_grid_m, freq_hz=antenna.freq_hz) trm_field.field[:, :] = trm_f pade_vis = FieldVisualiser(pade_field, trans_func=lambda v: 10 * cm.log10(1e-16 + abs(v)), label='Pade + nonlocal BC',
comp_params=HelmholtzPropagatorComputationalParams( terrain_method=TerrainMethod.staircase, max_propagation_angle=3, #modify_grid=False, grid_optimizator_abs_threshold=5e-3, z_order=5, exp_pade_order=(10, 11), dx_wl=500, #dz_wl=0.1, storage=PickleStorage())) pade_field_5 = pade_task_5.calculate() petool_task = PETOOLPropagationTask(antenna=ant, env=env, two_way=False, max_range_m=max_range_m, dx_wl=500, n_dx_out=1, dz_wl=1) petool_field = petool_task.calculate() # env.z_max = 3000 # petool_task_m = PETOOLPropagationTask(antenna=ant, env=env, two_way=False, max_range_m=150e3, dx_wl=500, n_dx_out=1, # dz_wl=3, n_dz_out=2) # petool_field_m = petool_task_m.calculate() pade_vis = FieldVisualiser(pade_field, env=env, trans_func=lambda v: 10 * cm.log10(1e-16 + abs(v)), label='Pade', x_mult=1E-3)