/* MonoSpiral.c / OpenMOM / ch.16 */ #include #include "omm_datalib.h" int main(void) { const double fcenter = 6e9; const double fstart = 0.9 * fcenter; const double fstop = 1.1 * fcenter; const int fdiv = 12; const double L6 = 50e-3; const double h = 0.25 * L6; const double asp = 0.0153 * L6; const double pst = 2.6; const double pend = 24.0; const double a = 0.006 * L6; const double d = 1e-3; // Šî–{—v‘f’· const double dtor = atan(1) / 45; // initialize omm_init(); // title omm_title("Monofilar Spiral Antenna"); // geometry // ground omm_ground(); // feed omm_geometry_zline(0, d, 0, 0, 1); omm_feed(1, 0); omm_geometry_zline(d, h, 0, 0, NINT(h - d, d)); // starting radial line const double rst = asp * pst; omm_geometry_wire(1, 0, rst * cos(pst), 0, rst * sin(pst), h, h, NINT(rst, d)); // spiral double r1 = rst; double p1 = pst; while (p1 < pend) { const double p2 = p1 + (d / r1); const double r2 = asp * p2; //omm_geometry_wire(1, r1 * cos(p1), r2 * cos(p2), r1 * sin(p1), r2 * sin(p2), h, h, 1); omm_geometry_wire(2, r1, r2, p1 / dtor, p2 / dtor, h, h, 1); r1 = r2; p1 = p2; } // radius omm_radiusall(1, a); // frequency omm_frequency(fstart, fstop, fdiv); // frequency char. //omm_plotsmith(); omm_plotzin(1, 0, 0, 0); //omm_plotyin(1, 0, 0, 0); //omm_plotref(1, 0, 0, 0); omm_freqdiv(12); // far1d field omm_plotfar1d('Y', 180, 0); omm_far1dcomponent(0, 1, 1); omm_far1dscale(-25, +10, 7); // window size omm_window3d(400, 400, 12, 60, 30); // output omm_outdata("MonoSpiral.omm"); return 0; }