/* Au1.c */ #include #include "ofd_datalib.h" #include "Au_dispersion.h" int main(void) { const double r = 10e-9; const double d = 1.0e-9 / 3; const double l = 40e-9; const int fstart = 9; const int fend = 29; const char head[] = "Au1"; // loop for (int fid = fstart; fid <= fend; fid++) { const double f = disp[fid].f; // initialize ofd_init(); // mesh const int mesh = NINT(l, d); ofd_xsection(2, -l/2, +l/2); ofd_xdivision(1, mesh); ofd_ysection(2, -l/2, +l/2); ofd_ydivision(1, mesh); ofd_zsection(2, -l/2, +l/2); ofd_zdivision(1, mesh); // title char title[BUFSIZ]; sprintf(title, "%s D%dnm d%.2gnm %dTHz %dnm", head, (int)(2 * r * 1e9), d * 1e9, (int)(f / 1e12), (int)(2.998e17 / f)); ofd_title(title); // material ofd_material_dispersion(1.0, disp[fid].a, -disp[fid].a, disp[fid].c, ""); // geometry ofd_geometry(2, 2, -r, +r, -r, +r, -r, +r); // plane wave ofd_planewave(0, 0, 1); // ABC ofd_pml(5, 2, 1e-5); // frequency ofd_frequency1(f, f, 0); ofd_frequency2(f, f, 0); // solver ofd_solver(30000, 200, 1e-3); // iteration ofd_plotiter(1); // plot far-2d ofd_plotfar2d(36, 72); ofd_far2dcomponent(1, 0, 0, 0, 0, 0, 0); ofd_far2ddb(0); //ofd_far2dscale(-30, +10); ofd_far2dobj(0.5); // output char fn[BUFSIZ]; sprintf(fn, "%02d.ofd", fid); ofd_outdata(fn); } return 0; }