diff --git a/user_models/antenna_like_GSSI_1500_patterns_E.in b/user_models/antenna_like_GSSI_1500_patterns_E.in new file mode 100755 index 00000000..ac7c052a --- /dev/null +++ b/user_models/antenna_like_GSSI_1500_patterns_E.in @@ -0,0 +1,39 @@ +#title: GSSI 1.5GHz antenna field patterns +#dx_dy_dz: 0.001 0.001 0.001 +#pml_cells: 14 + +#python: +import os +import numpy as np +from user_libs.antennas import antenna_like_GSSI_1500 +timewindows = np.array([4.5e-9]) # For 0.3m max +radii = np.linspace(0.1, 0.3, 20) +theta = np.linspace(3, 357, 60) +materials = ['5 0 1 0 er5'] +selector = 0 + +fs = np.array([0.040, 0.040, 0.040]) +domain = np.array([2 * fs[0] + 0.170, 2 * fs[1] + 2 * radii[-1], 2 * fs[2] + 2 * radii[-1]]) +antennaposition = np.array([domain[0] / 2, fs[1] + radii[-1], fs[2] + radii[-1]]) +antenna_like_GSSI_1500(antennaposition[0], antennaposition[1], antennaposition[2]) + +print('#domain: {:.3f} {:.3f} {:.3f}'.format(domain[0], domain[1], domain[2])) +print('#time_window: {:.3e}'.format(timewindows[selector])) + +#print('#soil_peplinski: 0.5 0.5 2.0 2.66 0.001 0.25 mySoil') +#print('#fractal_box: 0 0 0 {} {} {} 1.5 1 1 1 50 mySoil mySoilBox 1'.format(domain[0], domain[1], fs[2] + radii[-1])) + +print('#material: {}'.format(materials[selector])) +print('#box: 0 0 0 {} {} {} {} n'.format(domain[0], domain[1], fs[2] + radii[-1], materials[selector].split()[-1])) +np.savetxt(os.path.join(input_directory, 'antenna_like_GSSI_1500_patterns_E_rxsorigin.txt'), antennaposition, fmt="%f") + +for radius in range(len(radii)): + ## E-plane circle (yz plane, x=0, phi=pi/2,3pi/2) + x = radii[radius] * np.sin(theta * np.pi /180) * np.cos(90 * np.pi / 180) + y = radii[radius] * np.sin(theta * np.pi /180) * np.sin(90 * np.pi / 180) + z = radii[radius] * np.cos(theta * np.pi /180) + for rxpt in range(len(theta)): + print('#rx: {:.3f} {:.3f} {:.3f}'.format(x[rxpt] + antennaposition[0], y[rxpt] + antennaposition[1], z[rxpt] + antennaposition[2])) + +#print('#geometry_view: 0 0 0 {} {} {} 0.001 0.001 0.001 antenna_like_GSSI_1500_patterns_E n'.format(domain[0], domain[1], domain[2])) +#end_python: diff --git a/user_models/antenna_like_GSSI_1500_patterns_H.in b/user_models/antenna_like_GSSI_1500_patterns_H.in new file mode 100755 index 00000000..89baed19 --- /dev/null +++ b/user_models/antenna_like_GSSI_1500_patterns_H.in @@ -0,0 +1,39 @@ +#title: GSSI 1.5GHz antenna field patterns +#dx_dy_dz: 0.001 0.001 0.001 +#pml_cells: 14 + +#python: +import os +import numpy as np +from user_libs.antennas import antenna_like_GSSI_1500 +timewindows = np.array([4.5e-9]) # For 0.3m max +radii = np.linspace(0.1, 0.3, 20) +theta = np.linspace(3, 357, 60) +materials = ['5 0 1 0 er5'] +selector = 0 + +fs = np.array([0.040, 0.040, 0.040]) +domain = np.array([2 * fs[0] + 2 * radii[-1], 2 * fs[1] + 0.107, 2 * fs[2] + 2 * radii[-1]]) +antennaposition = np.array([fs[0] + radii[-1], domain[1] / 2, fs[2] + radii[-1]]) +antenna_like_GSSI_1500(antennaposition[0], antennaposition[1], antennaposition[2]) + +print('#domain: {:.3f} {:.3f} {:.3f}'.format(domain[0], domain[1], domain[2])) +print('#time_window: {:.3e}'.format(timewindows[selector])) + +#print('#soil_peplinski: 0.5 0.5 2.0 2.66 0.001 0.25 mySoil') +#print('#fractal_box: 0 0 0 {} {} {} 1.5 1 1 1 50 mySoil mySoilBox 1'.format(domain[0], domain[1], fs[2] + radii[-1])) + +print('#material: {}'.format(materials[selector])) +print('#box: 0 0 0 {} {} {} {} n'.format(domain[0], domain[1], fs[2] + radii[-1], materials[selector].split()[-1])) +np.savetxt(os.path.join(input_directory, 'antenna_like_GSSI_1500_patterns_H_rxsorigin.txt'), antennaposition, fmt="%f") + +for radius in range(len(radii)): + ## H-plane circle (xz plane, y=0, phi=0,pi) + x = radii[radius] * np.sin(theta * np.pi /180) * np.cos(180 * np.pi / 180) + y = radii[radius] * np.sin(theta * np.pi /180) * np.sin(180 * np.pi / 180) + z = radii[radius] * np.cos(theta * np.pi /180) + for rxpt in range(len(theta)): + print('#rx: {:.3f} {:.3f} {:.3f}'.format(x[rxpt] + antennaposition[0], y[rxpt] + antennaposition[1], z[rxpt] + antennaposition[2])) + +#print('#geometry_view: 0 0 0 {} {} {} 0.001 0.001 0.001 antenna_like_GSSI_1500_patterns_H n'.format(domain[0], domain[1], domain[2])) +#end_python: