diff options
Diffstat (limited to 'src/patch/patch_system.cc')
-rw-r--r-- | src/patch/patch_system.cc | 301 |
1 files changed, 156 insertions, 145 deletions
diff --git a/src/patch/patch_system.cc b/src/patch/patch_system.cc index 1a4df74..f01a295 100644 --- a/src/patch/patch_system.cc +++ b/src/patch/patch_system.cc @@ -83,10 +83,10 @@ using jtutil::error_exit; // This function constructs a patch_system object. // // Constructor arguments: -// N_ghost_points = Width in grid points of all ghost zones. -// N_overlap_points = Number of grid points that adjacent +// ghost_zone_width = Width in grid points of all ghost zones. +// patch_overlap_width = Number of grid points that adjacent // nominally-just-touching patches should overlap. -// For example, with N_overlap_points == 3, here +// For example, with patch_overlap_width == 3, here // are the grid points of two neighboring patches: // x x x x x X // | @@ -94,11 +94,15 @@ using jtutil::error_exit; // Here | marks the "just touching" boundary, // x and o the grid points before this extension, // and X and O the extra grid points added by this -// extension. For this example, the N_extend_points +// extension. For this example, the patch_extend_width // parameter used by some other functions would // be 1; in general -// N_overlap_points = 2*N_extend_points + 1 -// delta_drho_dsigma = Grid spacing (both rho and sigma) in degrees. +// patch_overlap_width = 2*patch_extend_width + 1 +// N_zones_per_right_angle = This sets the grid spacing (same in both +// directions) to 90.0 / N_zones_per_right_angle. +// It's a fatal error (error_exit()) if this +// doesn't evenly divide the grid sizes in both +// directions. // print_summary_msg_flag = true to print 2 lines of CCTK_VInfo messages // giving the patch system type and origin // false to skip this @@ -109,8 +113,8 @@ using jtutil::error_exit; // patch_system::patch_system(fp origin_x_in, fp origin_y_in, fp origin_z_in, enum patch_system_type type_in, - int N_ghost_points, int N_overlap_points, - fp delta_drho_dsigma, + int ghost_zone_width, int patch_overlap_width, + int N_zones_per_right_angle, int min_gfn_in, int max_gfn_in, int ghosted_min_gfn_in, int ghosted_max_gfn_in, int interp_handle, int interp_par_table_handle, @@ -126,22 +130,22 @@ patch_system::patch_system(fp origin_x_in, fp origin_y_in, fp origin_z_in, gridfn_storage_(NULL), // set in setup_gridfn_storage() ghosted_gridfn_storage_(NULL) // set in setup_gridfn_storage() { -if (! jtutil::is_odd(N_overlap_points)) +if (! jtutil::is_odd(patch_overlap_width)) then error_exit(ERROR_EXIT, "***** patch_system::patch_system(): implementation restriction:\n" -" N_overlap_points=%d, but we only support odd values!\n" +" patch_overlap_width=%d, but we only support odd values!\n" , - N_overlap_points); /*NOTREACHED*/ -const int N_extend_points = N_overlap_points >> 1; + patch_overlap_width); /*NOTREACHED*/ +const int patch_extend_width = patch_overlap_width >> 1; -if (N_ghost_points < fd_grid::molecule_radius()) +if (ghost_zone_width < fd_grid::molecule_radius()) then error_exit(ERROR_EXIT, "***** patch_system::patch_system():\n" -" must have N_ghost_points >= fd_grid::molecule_radius()\n" -" but got N_ghost_points=%d fd_grid::molecule_radius()=%d!\n" +" must have ghost_zone_width >= fd_grid::molecule_radius()\n" +" but got ghost_zone_width=%d fd_grid::molecule_radius()=%d!\n" " FINITE_DIFF_ORDER=%d (see #define in src/include/config.hh)\n" , - N_ghost_points, fd_grid::molecule_radius(), + ghost_zone_width, fd_grid::molecule_radius(), FINITE_DIFF_ORDER); /*NOTREACHED*/ if (print_summary_msg_flag) @@ -160,12 +164,13 @@ switch (type_in) case patch_system__full_sphere: create_patches(patch_system_info::full_sphere ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__full_sphere(N_overlap_points, + setup_ghost_zones__full_sphere(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -174,12 +179,13 @@ case patch_system__full_sphere: case patch_system__plus_z_hemisphere: create_patches(patch_system_info::plus_z_hemisphere ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__plus_z_hemisphere(N_overlap_points, + setup_ghost_zones__plus_z_hemisphere(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -188,12 +194,13 @@ case patch_system__plus_z_hemisphere: case patch_system__plus_xy_quadrant_mirrored: create_patches(patch_system_info::plus_xy_quadrant_mirrored ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__plus_xy_quadrant_mirrored(N_overlap_points, + setup_ghost_zones__plus_xy_quadrant_mirrored(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -202,12 +209,13 @@ case patch_system__plus_xy_quadrant_mirrored: case patch_system__plus_xy_quadrant_rotating: create_patches(patch_system_info::plus_xy_quadrant_rotating ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__plus_xy_quadrant_rotating(N_overlap_points, + setup_ghost_zones__plus_xy_quadrant_rotating(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -216,12 +224,13 @@ case patch_system__plus_xy_quadrant_rotating: case patch_system__plus_xz_quadrant_rotating: create_patches(patch_system_info::plus_xz_quadrant_rotating ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__plus_xz_quadrant_rotating(N_overlap_points, + setup_ghost_zones__plus_xz_quadrant_rotating(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -230,12 +239,13 @@ case patch_system__plus_xz_quadrant_rotating: case patch_system__plus_xyz_octant_mirrored: create_patches(patch_system_info::plus_xyz_octant_mirrored ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__plus_xyz_octant_mirrored(N_overlap_points, + setup_ghost_zones__plus_xyz_octant_mirrored(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -244,12 +254,13 @@ case patch_system__plus_xyz_octant_mirrored: case patch_system__plus_xyz_octant_rotating: create_patches(patch_system_info::plus_xyz_octant_rotating ::patch_info_array, - N_ghost_points, N_extend_points, delta_drho_dsigma, + ghost_zone_width, patch_extend_width, + N_zones_per_right_angle, print_detailed_msg_flag); setup_gridfn_storage(min_gfn_in, max_gfn_in, ghosted_min_gfn_in, ghosted_max_gfn_in, print_detailed_msg_flag); - setup_ghost_zones__plus_xyz_octant_rotating(N_overlap_points, + setup_ghost_zones__plus_xyz_octant_rotating(patch_overlap_width, interp_handle, interp_par_table_handle, print_detailed_msg_flag); @@ -295,8 +306,8 @@ delete gridfn_storage_; // *NOT* set up any gridfns. // void patch_system::create_patches(const struct patch_info patch_info_in[], - int N_ghost_points, int N_extend_points, - fp delta_drho_dsigma, + int ghost_zone_width, int patch_extend_width, + int N_zones_per_right_angle, bool print_msg_flag) { N_grid_points_ = 0; @@ -316,29 +327,29 @@ ghosted_N_grid_points_ = 0; case 'z': p = new z_patch(*this, pn, pi.name, pi.is_plus, - pi.grid_array_pars(N_ghost_points, - N_extend_points, - delta_drho_dsigma), - pi.grid_pars(N_extend_points, - delta_drho_dsigma)); + pi.grid_array_pars(ghost_zone_width, + patch_extend_width, + N_zones_per_right_angle), + pi.grid_pars(patch_extend_width, + N_zones_per_right_angle)); break; case 'x': p = new x_patch(*this, pn, pi.name, pi.is_plus, - pi.grid_array_pars(N_ghost_points, - N_extend_points, - delta_drho_dsigma), - pi.grid_pars(N_extend_points, - delta_drho_dsigma)); + pi.grid_array_pars(ghost_zone_width, + patch_extend_width, + N_zones_per_right_angle), + pi.grid_pars(patch_extend_width, + N_zones_per_right_angle)); break; case 'y': p = new y_patch(*this, pn, pi.name, pi.is_plus, - pi.grid_array_pars(N_ghost_points, - N_extend_points, - delta_drho_dsigma), - pi.grid_pars(N_extend_points, - delta_drho_dsigma)); + pi.grid_array_pars(ghost_zone_width, + patch_extend_width, + N_zones_per_right_angle), + pi.grid_pars(patch_extend_width, + N_zones_per_right_angle)); break; default: error_exit(ERROR_EXIT, @@ -604,7 +615,7 @@ const patch& plast = ith_patch(N_patches()-1); // for a full-sphere patch system. // void patch_system::setup_ghost_zones__full_sphere - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -623,58 +634,58 @@ patch& mz = ith_patch(patch_number_of_name("-z")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(pz, mx, N_overlap_points); -create_interpatch_ghost_zones(pz, my, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); -create_interpatch_ghost_zones(py, mx, N_overlap_points); -create_interpatch_ghost_zones(mx, my, N_overlap_points); -create_interpatch_ghost_zones(my, px, N_overlap_points); -create_interpatch_ghost_zones(mz, px, N_overlap_points); -create_interpatch_ghost_zones(mz, py, N_overlap_points); -create_interpatch_ghost_zones(mz, mx, N_overlap_points); -create_interpatch_ghost_zones(mz, my, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(pz, mx, patch_overlap_width); +create_interpatch_ghost_zones(pz, my, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); +create_interpatch_ghost_zones(py, mx, patch_overlap_width); +create_interpatch_ghost_zones(mx, my, patch_overlap_width); +create_interpatch_ghost_zones(my, px, patch_overlap_width); +create_interpatch_ghost_zones(mz, px, patch_overlap_width); +create_interpatch_ghost_zones(mz, py, patch_overlap_width); +create_interpatch_ghost_zones(mz, mx, patch_overlap_width); +create_interpatch_ghost_zones(mz, my, patch_overlap_width); // finish setting up the interpatch ghost zones if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, mx, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(py, mx, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mx, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(my, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, mx, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -687,7 +698,7 @@ assert_all_ghost_zones_fully_setup(); // for a +z hemisphere patch system. // void patch_system::setup_ghost_zones__plus_z_hemisphere - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -705,14 +716,14 @@ patch& my = ith_patch(patch_number_of_name("-y")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(pz, mx, N_overlap_points); -create_interpatch_ghost_zones(pz, my, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); -create_interpatch_ghost_zones(py, mx, N_overlap_points); -create_interpatch_ghost_zones(mx, my, N_overlap_points); -create_interpatch_ghost_zones(my, px, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(pz, mx, patch_overlap_width); +create_interpatch_ghost_zones(pz, my, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); +create_interpatch_ghost_zones(py, mx, patch_overlap_width); +create_interpatch_ghost_zones(mx, my, patch_overlap_width); +create_interpatch_ghost_zones(my, px, patch_overlap_width); px.create_mirror_symmetry_ghost_zone(px.max_rho_patch_edge()); py.create_mirror_symmetry_ghost_zone(py.max_rho_patch_edge()); mx.create_mirror_symmetry_ghost_zone(mx.min_rho_patch_edge()); @@ -723,28 +734,28 @@ if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, mx, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(py, mx, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mx, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(my, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -757,7 +768,7 @@ assert_all_ghost_zones_fully_setup(); // for a +xy quadrant (mirrored) patch system. // void patch_system::setup_ghost_zones__plus_xy_quadrant_mirrored - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -774,11 +785,11 @@ patch& mz = ith_patch(patch_number_of_name("-z")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); -create_interpatch_ghost_zones(mz, px, N_overlap_points); -create_interpatch_ghost_zones(mz, py, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); +create_interpatch_ghost_zones(mz, px, patch_overlap_width); +create_interpatch_ghost_zones(mz, py, patch_overlap_width); pz.create_mirror_symmetry_ghost_zone(pz.min_rho_patch_edge()); pz.create_mirror_symmetry_ghost_zone(pz.min_sigma_patch_edge()); px.create_mirror_symmetry_ghost_zone(px.min_sigma_patch_edge()); @@ -791,19 +802,19 @@ if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -816,7 +827,7 @@ assert_all_ghost_zones_fully_setup(); // for a +xy quadrant (rotating) patch system. // void patch_system::setup_ghost_zones__plus_xy_quadrant_rotating - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -833,11 +844,11 @@ patch& mz = ith_patch(patch_number_of_name("-z")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); -create_interpatch_ghost_zones(mz, px, N_overlap_points); -create_interpatch_ghost_zones(mz, py, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); +create_interpatch_ghost_zones(mz, px, patch_overlap_width); +create_interpatch_ghost_zones(mz, py, patch_overlap_width); create_periodic_symmetry_ghost_zones(pz.min_rho_patch_edge(), pz.min_sigma_patch_edge(), true); @@ -853,19 +864,19 @@ if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(mz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -878,7 +889,7 @@ assert_all_ghost_zones_fully_setup(); // for a +xz quadrant (rotating) patch system. // void patch_system::setup_ghost_zones__plus_xz_quadrant_rotating - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -895,11 +906,11 @@ patch& my = ith_patch(patch_number_of_name("-y")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(pz, my, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); -create_interpatch_ghost_zones(px, my, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(pz, my, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); +create_interpatch_ghost_zones(px, my, patch_overlap_width); px.create_mirror_symmetry_ghost_zone(px.max_rho_patch_edge()); py.create_mirror_symmetry_ghost_zone(py.max_rho_patch_edge()); my.create_mirror_symmetry_ghost_zone(my.min_rho_patch_edge()); @@ -915,19 +926,19 @@ if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, my, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -940,7 +951,7 @@ assert_all_ghost_zones_fully_setup(); // for a +xyz octant (mirrored) patch system. // void patch_system::setup_ghost_zones__plus_xyz_octant_mirrored - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -956,9 +967,9 @@ patch& py = ith_patch(patch_number_of_name("+y")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); pz.create_mirror_symmetry_ghost_zone(pz.min_rho_patch_edge()); pz.create_mirror_symmetry_ghost_zone(pz.min_sigma_patch_edge()); px.create_mirror_symmetry_ghost_zone(px.max_rho_patch_edge()); @@ -971,13 +982,13 @@ if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -990,7 +1001,7 @@ assert_all_ghost_zones_fully_setup(); // for a +xyz octant (rotating) patch system. // void patch_system::setup_ghost_zones__plus_xyz_octant_rotating - (int N_overlap_points, + (int patch_overlap_width, int interp_handle, int interp_par_table_handle, bool print_msg_flag) { @@ -1006,9 +1017,9 @@ patch& py = ith_patch(patch_number_of_name("+y")); if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " creating ghost zones"); -create_interpatch_ghost_zones(pz, px, N_overlap_points); -create_interpatch_ghost_zones(pz, py, N_overlap_points); -create_interpatch_ghost_zones(px, py, N_overlap_points); +create_interpatch_ghost_zones(pz, px, patch_overlap_width); +create_interpatch_ghost_zones(pz, py, patch_overlap_width); +create_interpatch_ghost_zones(px, py, patch_overlap_width); px.create_mirror_symmetry_ghost_zone(px.max_rho_patch_edge()); py.create_mirror_symmetry_ghost_zone(py.max_rho_patch_edge()); create_periodic_symmetry_ghost_zones(pz.min_rho_patch_edge(), @@ -1023,13 +1034,13 @@ if (print_msg_flag) then CCTK_VInfo(CCTK_THORNSTRING, " finishing interpatch setup"); finish_interpatch_setup(pz, px, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(pz, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); finish_interpatch_setup(px, py, - N_overlap_points, + patch_overlap_width, interp_handle, interp_par_table_handle); assert_all_ghost_zones_fully_setup(); @@ -1069,13 +1080,13 @@ if (ex == ey) // //static void patch_system::create_interpatch_ghost_zones(patch &px, patch &py, - int N_overlap_points) + int patch_overlap_width) { -const patch_edge& ex = px.edge_adjacent_to_patch(py, N_overlap_points); -const patch_edge& ey = py.edge_adjacent_to_patch(px, N_overlap_points); +const patch_edge& ex = px.edge_adjacent_to_patch(py, patch_overlap_width); +const patch_edge& ey = py.edge_adjacent_to_patch(px, patch_overlap_width); -px.create_interpatch_ghost_zone(ex, ey, N_overlap_points); -py.create_interpatch_ghost_zone(ey, ex, N_overlap_points); +px.create_interpatch_ghost_zone(ex, ey, patch_overlap_width); +py.create_interpatch_ghost_zone(ey, ex, patch_overlap_width); } //****************************************************************************** @@ -1087,11 +1098,11 @@ py.create_interpatch_ghost_zone(ey, ex, N_overlap_points); //static void patch_system::finish_interpatch_setup (patch &px, patch &py, - int N_overlap_points, + int patch_overlap_width, int interp_handle, int interp_par_table_handle) { -const patch_edge& ex = px.edge_adjacent_to_patch(py, N_overlap_points); -const patch_edge& ey = py.edge_adjacent_to_patch(px, N_overlap_points); +const patch_edge& ex = px.edge_adjacent_to_patch(py, patch_overlap_width); +const patch_edge& ey = py.edge_adjacent_to_patch(px, patch_overlap_width); px.ghost_zone_on_edge(ex) .cast_to_interpatch_ghost_zone() .finish_setup(interp_handle, interp_par_table_handle); @@ -1545,7 +1556,7 @@ norms.reset(); // // FIXME: // We silently assume that the patches butt-join, i.e. that they don't -// overlap, i.e. that N_overlap_points=1 +// overlap, i.e. that patch_overlap_width=1 // // Arguments: // src_gfn = (in) The gridfn to be integrated. |