aboutsummaryrefslogtreecommitdiff
path: root/src/patch/patch_system.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/patch/patch_system.cc')
-rw-r--r--src/patch/patch_system.cc301
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.