diff options
author | reisswig <reisswig@a2659f00-0f4f-0410-9214-a4596bbb8a4f> | 2008-10-05 01:51:48 +0000 |
---|---|---|
committer | reisswig <reisswig@a2659f00-0f4f-0410-9214-a4596bbb8a4f> | 2008-10-05 01:51:48 +0000 |
commit | 4fe9f81a717896a25c4f982d0658f0514d59e895 (patch) | |
tree | 103d8d64d253b9b801897a23e328b82a9280c491 | |
parent | d88e493e4a617cfc474785105503006df9b30eeb (diff) |
Add capability to store puncture locations in spherical surfaces so that
CarpetMask can still exclude the region around the punctures.
git-svn-id: http://svn.aei.mpg.de/numrel/AEIThorns/PunctureTracker/trunk@12 a2659f00-0f4f-0410-9214-a4596bbb8a4f
-rw-r--r-- | interface.ccl | 2 | ||||
-rw-r--r-- | param.ccl | 14 | ||||
-rw-r--r-- | src/make.code.defn | 2 | ||||
-rw-r--r-- | src/puncture_tracker.c | 13 |
4 files changed, 29 insertions, 2 deletions
diff --git a/interface.ccl b/interface.ccl index cfc47a6..484ee68 100644 --- a/interface.ccl +++ b/interface.ccl @@ -2,7 +2,7 @@ IMPLEMENTS: PunctureTracker -INHERITS: ADMBase CarpetRegrid2 +INHERITS: ADMBase CarpetRegrid2 SphericalSurface @@ -37,3 +37,17 @@ INT new_reflevel_number[2] "The new number of refinement levels" { -1:* :: "Negative for no change" } -1 + + +INT which_surface_to_store_info[10] "A spherical surface index where we can store the puncture location" +{ + -1 :: "don't store puncture location" + 0:* :: "any spherical surface index" +} -1 + + +PRIVATE: + +SHARES: SphericalSurface + +USES CCTK_INT nsurfaces
\ No newline at end of file diff --git a/src/make.code.defn b/src/make.code.defn index 31baa1c..26c754a 100644 --- a/src/make.code.defn +++ b/src/make.code.defn @@ -1,7 +1,7 @@ # Main make.code.defn file for thorn PunctureTracker -*-Makefile-*- # Source files in this directory -SRCS = puncture_tracker.c +SRCS = puncture_tracker.c paramcheck.cc # Subdirectories containing source files SUBDIRS = diff --git a/src/puncture_tracker.c b/src/puncture_tracker.c index 4e36c1f..9dee438 100644 --- a/src/puncture_tracker.c +++ b/src/puncture_tracker.c @@ -298,6 +298,19 @@ PunctureTracker_SetPositions (CCTK_ARGUMENTS) position_z[n] = pt_loc_z[n]; } + + // store puncture location in spherical surface + if (which_surface_to_store_info[n] != -1) + { + int sn = which_surface_to_store_info[n]; + + sf_origin_x[sn] = position_x[n]; + sf_origin_y[sn] = position_y[n]; + sf_origin_z[sn] = position_z[n]; + + sf_active[sn] = 1; + } + } if ( modify_puncture[0]>=0 && modify_puncture[0]<max_num_tracked && |