| 33 | typedef structure_chunk *structure_chunk_ptr; |
| 34 | |
| 35 | structure::structure(const grid_volume &thegv, material_function &eps, const boundary_region &br, |
| 36 | const symmetry &s, int num, double Courant, bool use_anisotropic_averaging, |
| 37 | double tol, int maxeval, const binary_partition *_bp) |
| 38 | : Courant(Courant), v(D1) // Aaack, this is very hokey. |
| 39 | { |
| 40 | outdir = "."; |
| 41 | shared_chunks = false; |
| 42 | if (!br.check_ok(thegv)) meep::abort("invalid boundary absorbers for this grid_volume"); |
| 43 | double tstart = wall_time(); |
| 44 | choose_chunkdivision(thegv, num, br, s, _bp); |
| 45 | if (verbosity > 0) master_printf("time for choose_chunkdivision = %g s\n", wall_time() - tstart); |
| 46 | set_materials(eps, use_anisotropic_averaging, tol, maxeval); |
| 47 | } |
| 48 | |
| 49 | structure::structure(const grid_volume &thegv, double eps(const vec &), const boundary_region &br, |
| 50 | const symmetry &s, int num, double Courant, bool use_anisotropic_averaging, |