aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2003-06-03 11:38:10 +0000
committerdiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2003-06-03 11:38:10 +0000
commit2a08e3557f90854b71565d03c5aa4175e4ff4923 (patch)
tree02bd6743d7862c43e998eb435c75370fa3eb12c3
parent4dbb942521d87557b1cc99da5f87ba5346f5c2d1 (diff)
Added parameters to choose interpolators and orders. Added support for
a different way of calculating the rhs of the generator evolution equations and parameters to choose between them. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/EHFinder/trunk@111 2a26948c-0e4f-0410-aee8-f1d3e353619c
-rw-r--r--interface.ccl6
-rw-r--r--param.ccl37
-rw-r--r--schedule.ccl21
3 files changed, 61 insertions, 3 deletions
diff --git a/interface.ccl b/interface.ccl
index ebb03d0..4eae7cc 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -182,3 +182,9 @@ CCTK_REAL generators_arrays TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=number_of_generat
{
alpg, betaxg, betayg, betazg, gxxg, gxyg, gxzg, gyyg, gyzg, gzzg, dfxg, dfyg, dfzg, psig
}
+
+CCTK_REAL generator_gf TYPE=GF TIMELEVELS=1
+{
+ xgf, ygf, zgf
+} "Temporary grid function used in calculating the right hand side of the generator evolution equation"
+
diff --git a/param.ccl b/param.ccl
index c69b9f3..1d2a5ab 100644
--- a/param.ccl
+++ b/param.ccl
@@ -224,6 +224,43 @@ KEYWORD generator_distribution "What initial distribution should be used"
{
"line" :: "Put the generatos on a line on the x-axis"
} "line"
+
+STRING surface_interpolator "What interpolator should be used to locate the surface"
+{
+ ".+" :: "A valid interpolator name"
+} "Hermite polynomial interpolation"
+
+CCTK_INT surface_interpolation_order "What order should be used for the surface interpoation"
+{
+ 1:* :: "A valid positive interpolation order"
+} 2
+
+STRING area_interpolator "What interpolator should be used for the area"
+{
+ ".+" :: "A valid interpolator name"
+} "Lagrange polynomial interpolation"
+
+CCTK_INT area_interpolation_order "What order should be used for the area interpoation"
+{
+ 1:* :: "A valid positive interpolation order"
+} 3
+
+STRING generator_interpolator "What interpolator should be used for the generators"
+{
+ ".+" :: "A valid interpolator name"
+} "Lagrange polynomial interpolation"
+
+CCTK_INT generator_interpolation_order "What order should be used for the generator interpoation"
+{
+ 1:* :: "A valid positive interpolation order"
+} 3
+
+KEYWORD generator_tracking_method "What method should be used for tracking the generators"
+{
+ "interpolate_before" :: "Interpolate first, then calculate"
+ "interpolate_after" :: "Calculate first, then interpolate"
+} "interpolate_before"
+
shares: grid
USES KEYWORD domain
diff --git a/schedule.ccl b/schedule.ccl
index 1839b22..b26c5ab 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -29,6 +29,11 @@ else
}
}
+if (CCTK_Equals(generator_tracking_method,"interpolate_after"))
+{
+ STORAGE: generator_gf
+}
+
# Check for metric_state
if (!CCTK_EQUALS(mode,"analysis"))
@@ -305,10 +310,20 @@ if (CCTK_Equals(mode,"normal"))
if ( evolve_generators)
{
- schedule EHFinder_Generator_Sources in MoL_CalcRHS
+ if (CCTK_Equals(generator_tracking_method,"interpolate_before"))
{
- LANG: Fortran
- } "Calculate the source terms for the generator evolution"
+ schedule EHFinder_Generator_Sources in MoL_CalcRHS
+ {
+ LANG: Fortran
+ } "Calculate the source terms for the generator evolution"
+ }
+ if (CCTK_Equals(generator_tracking_method,"interpolate_after"))
+ {
+ schedule EHFinder_Generator_Sources2 in MoL_CalcRHS after EHFinder_Sources
+ {
+ LANG: Fortran
+ } "Calculate the source terms for the generator evolution"
+ }
}
schedule GROUP EHFinder_PostStep in MoL_PostStep