Пример #1
0
    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()
Пример #2
0
    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',
Пример #3
0
    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)