Propagation in a standard atmosphereΒΆ

[13]:
import os
os.chdir('../../../')
from rwp.environment import *
from rwp.sspade import *
from rwp.vis import *

Preparing environment

[14]:
environment = Troposphere()
environment.terrain = Terrain(ground_material=WetGround())
## 300 MHz propagation

Preparing transmitting antenna

[15]:
antenna = GaussAntenna(freq_hz=300E6,
                       height=30,
                       beam_width=2,
                       elevation_angle=0,
                       polarz='H')

Calculating the electromagnetic field

[16]:
params = RWPSSpadeComputationalParams(
    max_range_m=150E3,
    max_height_m=300,
    dx_m = 100, # output grid steps affects only on the resulting field, NOT the computational grid
    dz_m = 1
)


field = rwp_ss_pade(antenna=antenna, env=environment, params=params)

Visualising results

[17]:
vis300mhz = FieldVisualiser(field, env=environment, label='Pade + Transparent BC: 300 MHz', x_mult=1E-3)

Two dimensional distribution of the field amplitude

[18]:
plt = vis300mhz.plot2d(min=-120, max=0)
plt.title('10log|u|')
plt.xlabel('Range (km)')
plt.ylabel('Height (m)')
plt.tight_layout()
plt.grid(True)
plt.show()
../_images/notebooks_std_atmosphere_12_0.png
## 3 GHz propagation
[19]:
antenna = GaussAntenna(freq_hz=3E9,
                       height=30,
                       beam_width=2,
                       elevation_angle=0,
                       polarz='H')
[20]:
field = rwp_ss_pade(antenna=antenna, env=environment, params=params)
[21]:
vis3ghz = FieldVisualiser(field, env=environment, label='Pade + Transparent BC: 3 GHz', x_mult=1E-3)
[22]:
plt = vis3ghz.plot_hor(30, vis300mhz)
plt.xlabel('Range (km)')
plt.ylabel('10log|u| (dB)')
plt.grid(True)
plt.tight_layout()
plt.show()
../_images/notebooks_std_atmosphere_17_0.png
Amplitude of the field along axis x at the height z = 30 m
[23]:
plt = vis3ghz.plot2d(min=-120, max=0)
plt.title('10log|u|')
plt.xlabel('Range (km)')
plt.ylabel('Height (m)')
plt.tight_layout()
plt.grid(True)
plt.show()
../_images/notebooks_std_atmosphere_19_0.png