void seven_wire_antenna() { nec_context* nec; nec = nec_create(); nec_wire(nec, 1, 9, 0.0, 0.0, 0.0, -0.0166, 0.0045, 0.0714, 0.001, 1.0, 1.0); nec_wire(nec, 2, 7, -0.0166, 0.0045, 0.0714, -0.0318, -0.0166, 0.017, 0.001, 1.0, 1.0); nec_wire(nec, 3, 7, -0.0318, -0.0166, 0.017, -0.0318, -0.0287, 0.0775, 0.001, 1.0, 1.0); nec_wire(nec, 4, 11, -0.0318, -0.0287, 0.0775, -0.0318, 0.0439, 0.014, 0.001, 1.0, 1.0); nec_wire(nec, 5, 7, -0.0318, 0.0439, 0.014, -0.0318, 0.0045, 0.0624, 0.001, 1.0, 1.0); nec_wire(nec, 6, 5, -0.0318, 0.0045, 0.0624, -0.0106, 0.0378, 0.0866, 0.001, 1.0, 1.0); nec_wire(nec, 7, 7, -0.0106, 0.0378, 0.0866, -0.0106, 0.0257, 0.023, 0.001, 1.0, 1.0); nec_geometry_complete(nec, 1, 0); nec_gn_card(nec, 1, 0, 0, 0, 0, 0, 0, 0); nec_fr_card(nec, 0, 1, 1600.0, 0.0); nec_ex_card(nec, 0, 1, 1, 0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0); // nec_rp_card(nec, 0, 90, 1, 0,0,0,0, 0, 90, 1, 0, 0, 0); nec_rp_card(nec, 0, 17, 45, 0,5,0,0, 0, 0, 5, 8, 0, 0); printf("Impedance: %f, %f\n",nec_impedance_real(nec,0), nec_impedance_imag(nec,0)); printf("Gain: %f, %f +/- %f dB\n",nec_gain_max(nec,0), nec_gain_mean(nec,0), nec_gain_sd(nec,0)); printf("RHCP Gain: %f, %f +/- %f dB\n",nec_gain_rhcp_max(nec,0), nec_gain_rhcp_mean(nec,0), nec_gain_rhcp_sd(nec,0)); printf("LHCP Gain: %f, %f +/- %f dB\n",nec_gain_lhcp_max(nec,0), nec_gain_lhcp_mean(nec,0), nec_gain_lhcp_sd(nec,0)); nec_delete(nec); }
void simple_example() { /* GW 0 9 0. 0. 2. 0. 0. 7 .1 GE 1 FR 0 1 0 30. EX 0 5 0 1. GN 1 RP 0 90 1 0000 0 90 1 0 */ nec_context* nec; nec = nec_create(); nec_wire(nec, 0, 9, 0, 0, 2, 0, 0, 7, 0.1, 1, 1); nec_geometry_complete(nec, 1, 0); nec_gn_card(nec, 1, 0, 0, 0, 0, 0, 0, 0); nec_fr_card(nec, 0, 1, 30, 0); nec_ex_card(nec, 0, 0, 5, 0, 1.0, 0, 0, 0, 0, 0); nec_rp_card(nec, 0, 90, 1, 0,5,0,0, 0, 90, 1, 0, 0, 0); printf("Gain: %f, %f +/- %f dB\n",nec_gain_max(nec,0), nec_gain_mean(nec,0), nec_gain_sd(nec,0)); printf("RHCP Gain: %f, %f +/- %f dB\n",nec_gain_rhcp_max(nec,0), nec_gain_rhcp_mean(nec,0), nec_gain_rhcp_sd(nec,0)); printf("LHCP Gain: %f, %f +/- %f dB\n",nec_gain_lhcp_max(nec,0), nec_gain_lhcp_mean(nec,0), nec_gain_lhcp_sd(nec,0)); nec_delete(nec); }
#include "catch.hpp" #include "libnecpp.h" #include <iostream> void HANDLE_NEC(long x) { int __tmp = (x); if (__tmp != 0) { std::cout << nec_error_message() << std::endl; } REQUIRE((__tmp) == 0); } TEST_CASE( "Geometry", "[surface_patch]") { nec_context* nec; nec = nec_create(); HANDLE_NEC(nec_sp_card(nec, 3, 0.019000, -0.001424, 0.078830, 0.019000, 0.001424, 0.078830)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.076180, 0.019000, -0.001424, 0.076180)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.073530, 0.019000, -0.001424, 0.073530)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.070880, 0.019000, -0.001424, 0.070880)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.068230, 0.019000, -0.001424, 0.068230)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.065580, 0.019000, -0.001424, 0.065580)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.062930, 0.019000, -0.001424, 0.062930)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.060280, 0.019000, -0.001424, 0.060280)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.057630, 0.019000, -0.001424, 0.057630)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.054980, 0.019000, -0.001424, 0.054980)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.052330, 0.019000, -0.001424, 0.052330)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.049680, 0.019000, -0.001424, 0.049680)); HANDLE_NEC(nec_sc_card(nec, 3, 0.019000, 0.001424, 0.047030, 0.019000, -0.001424, 0.047030));