aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2002-08-06 10:13:01 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2002-08-06 10:13:01 +0000
commit72c67069fa28cfe9b27cc37b94efbbfcd6700eca (patch)
tree777a3641ef7a62e9ae5062946e6f5e38ce2b48ad
parent24fe1387a5806c9845962f4306225e429f7a896c (diff)
add comment to patch_system::compute_synchronize_Jacobian()
describing how to compute the Jacobian taking into account the 3-phase algorithm git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@686 f88db872-0e4f-0410-b76b-b9085cfa78c5
-rw-r--r--src/patch/patch_system.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/patch/patch_system.cc b/src/patch/patch_system.cc
index 4f409f0..142ad97 100644
--- a/src/patch/patch_system.cc
+++ b/src/patch/patch_system.cc
@@ -1410,6 +1410,26 @@ void patch_system::synchronize(int ghosted_min_gfn_to_sync,
//
// This function computes the Jacobian of synchronize() into internal
// buffers, taking into account synchronize()'s full 3-phase algorithm.
+// There are several cases:
+// - ghost zone is symmetry && x point is in non-corner
+// --> x value was computed by a phase 1 symmetry operation,
+// from nominal-grid data
+// ==> use the ghost zone's Jacobian unchanged
+// - ghost zone is symmetry && x point is in corner
+// --> x value was computed by a phase 3 symmetry operation,
+// - from a symmetry ghost zone,
+// which must have been computed in phase 1 from nominal-grid data
+// ==> use the two symmetry ghost zones' combined Jacobian
+// - from an interpatch ghost zone
+// ==> use that interpatch ghost zone's Jacobian
+// - ghost zone is interpatch
+// --> x value was computed by a phase 2 interpatch interpolation
+// - from (only) nominal-grid data
+// ==> use that interpatch ghost zone's Jacobian unchanged
+// - from a mixture of nominal-grid data
+// and data computed by a phase 1 symmetry operation
+// ==> "fold" the interpatch ghost zone's Jacobian
+// to reflect the phase 1 symmetry operation
//
// It also properly sets global_{min,max}_m_ .
//