User: rhaas Date: 2012/04/05 01:46 PM
Removed: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v9/
Modified: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v4/ schedule.ccl /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v5/ schedule.ccl /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v6/src/ coretracker.c /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/ interface.ccl, param.ccl, schedule.ccl /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/src/ make.code.defn
Log: remove duplicate stage in CoreTracker
File Changes:
Directory: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v4/ ================================================================================================
File [modified]: schedule.ccl Delta lines: +0 -7 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v4/schedule.ccl 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v4/schedule.ccl 2012-04-05 18:46:42 UTC (rev 78) @@ -6,27 +6,20 @@ { LANG: C OPTIONS: global - WRITES: CoreTracker::core_location } "Import initial location from parameters"
schedule CoreTracker_SetGridFunction AT POSTINITIAL { LANG: C - READS: HydroBase::rho Grid::coordinates CoreTracker::core_location - WRITES: CoreTracker::density_weighted_core_location } "Set initial grid functions"
schedule CoreTracker_SetGridFunction in MoL_PseudoEvolution { LANG: C - READS: HydroBase::rho Grid::coordinates CoreTracker::core_location - WRITES: CoreTracker::density_weighted_core_location } "Compute rho*x^i"
schedule CoreTracker_Reduce at ANALYSIS { LANG: C OPTIONS: global - READS: CoreTracker::density_weighted_core_location - WRITES: core_location } "compute center of mass of core region"
Directory: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v5/ ================================================================================================
File [modified]: schedule.ccl Delta lines: +0 -7 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v5/schedule.ccl 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v5/schedule.ccl 2012-04-05 18:46:42 UTC (rev 78) @@ -6,27 +6,20 @@ { LANG: C OPTIONS: global - WRITES: CoreTracker::core_location } "Import initial location from parameters"
schedule CoreTracker_SetGridFunction AT POSTINITIAL { LANG: C - READS: HydroBase::rho Grid::coordinates CoreTracker::core_location - WRITES: CoreTracker::density_weighted_core_location } "Set initial grid functions"
schedule CoreTracker_SetGridFunction in MoL_PseudoEvolution { LANG: C - READS: HydroBase::rho Grid::coordinates CoreTracker::core_location - WRITES: CoreTracker::density_weighted_core_location } "Compute rho*x^i"
schedule CoreTracker_Reduce at ANALYSIS { LANG: C OPTIONS: global - READS: CoreTracker::density_weighted_core_location - WRITES: core_location } "compute center of mass of core region"
Directory: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/ ================================================================================================
File [modified]: interface.ccl Delta lines: +6 -0 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/interface.ccl 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/interface.ccl 2012-04-05 18:46:42 UTC (rev 78) @@ -11,3 +11,9 @@ { core_density_x, core_density_y, core_density_z, core_density } "rho*x^i in core region" + +# only used for debugging +CCTK_REAL moving_blob_location type=scalar +{ + blob_x, blob_y, blob_z +} "location of target blob"
File [modified]: param.ccl Delta lines: +40 -0 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/param.ccl 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/param.ccl 2012-04-05 18:46:42 UTC (rev 78) @@ -29,3 +29,43 @@ { 0:* :: "any positive value" } 1e10 + +# parameters used only for the made up moving blobs +CCTK_BOOLEAN add_moving_blobs "put fake data onto the grid to test the code" +{ +} "no" + +CCTK_REAL maximum_separation "how far apart are the blobs at maximum distance" +{ + 0:* :: "any positive number" +} 8. + +CCTK_REAL minimum_separation "how far apart are the blobs at minimum distance" +{ + 0:* :: "any positive number" +} 6. + +CCTK_REAL radial_period "period of radial motion" +{ + *:* :: "sign determines direction of motion" +} 100. + +CCTK_REAL angular_period "period of motion in phi angle" +{ + *:* :: "positive if counterclockwise, negative is clockwise motion" +} 42. + +CCTK_REAL initial_phi "initial phi location of blobs" +{ + *:* :: "any angle, in radians" +} 0. + +CCTK_REAL A "amplitude of blob" +{ + 0:* :: "any positive value" +} 1e-3 + +CCTK_REAL sigma "sigma parameter of Gaussian blob" +{ + (0:* :: "any positive value" +} 1.5
File [modified]: schedule.ccl Delta lines: +16 -0 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/schedule.ccl 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/schedule.ccl 2012-04-05 18:46:42 UTC (rev 78) @@ -23,3 +23,19 @@ LANG: C OPTIONS: global } "compute center of mass of core region" + +# only used for debugging +if (add_moving_blobs) { +STORAGE: moving_blob_location +schedule CoreTracker_AddBlob IN HydroBase_Initial after HydroBase_Zero +{ + LANG: C + OPTIONS: local +} "add moving blobs to grid" + +schedule CoreTracker_AddBlob in MoL_PseudoEvolution BEFORE CoreTracker_SetGridFunction +{ + LANG: C + OPTIONS: local +} "add moving blobs to grid" +}
Directory: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v6/src/ ====================================================================================================
File [modified]: coretracker.c Delta lines: +41 -1 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v6/src/coretracker.c 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v6/src/coretracker.c 2012-04-05 18:46:42 UTC (rev 78) @@ -90,5 +90,45 @@ DECLARE_CCTK_PARAMETERS; DECLARE_CCTK_ARGUMENTS;
- /* do something here */ + CCTK_REAL rho_sum = -1; // \sum \rho over the grid, used to normalise center of mass coordinates + struct { // keeps track of which variables to sum over + const char *variable; + CCTK_REAL *target; + } reductions[] = { + {"CoreTracker::core_density", &rho_sum}, + {"CoreTracker::core_density_x", core_x}, + {"CoreTracker::core_density_y", core_y}, + {"CoreTracker::core_density_z", core_z} + }; + + CCTK_INT handle_sum = CCTK_ReductionHandle("sum"); + if(handle_sum < 0) + CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, + "Unable to get reduction handle 'sum': %d", handle_sum); + + /* compute \sum \rho and \sum \rho x^i over core region */ + for(unsigned int red = 0 ; red < DIM(reductions) ; ++red) { + const int varindex = CCTK_VarIndex(reductions[red].variable); + if(varindex < 0) + CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, + "Error while reducing %s, could not obtain variable index: %d", + reductions[red].variable, varindex); + const int ierr = CCTK_Reduce(cctkGH, -1, handle_sum, 1, CCTK_VARIABLE_REAL, + reductions[red].target, 1, + varindex); + if(ierr != 0) + CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, + "Error while reducing %s: %d", reductions[red].variable, ierr); + } + + if(rho_sum != 0.) { + /* normalise center of mass coordinates */ + *core_x /= rho_sum; + *core_y /= rho_sum; + *core_z /= rho_sum; + } else { + CCTK_VWarn(CCTK_WARN_ALERT, __LINE__, __FILE__, CCTK_THORNSTRING, + "Did not find any mass in core region, using old core location (%g,%g,%g).", + *core_x, *core_y, *core_z); + } }
Directory: /handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/src/ ====================================================================================================
File [modified]: make.code.defn Delta lines: +1 -1 =================================================================== --- handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/src/make.code.defn 2012-04-05 18:16:46 UTC (rev 77) +++ handson_analysis/Cactus/arrangements/Introduction/CoreTracker_stages/CoreTracker_v7/src/make.code.defn 2012-04-05 18:46:42 UTC (rev 78) @@ -1,7 +1,7 @@ # Main make.code.defn file for thorn CoreTracker
# Source files in this directory -SRCS = coretracker.c +SRCS = coretracker.c movingblob.c
# Subdirectories containing source files SUBDIRS =
commits@lists.einsteintoolkit.org