aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@f4913095-0e4f-0410-abea-a123d184f1f3>2005-03-21 15:47:04 +0000
committerschnetter <schnetter@f4913095-0e4f-0410-abea-a123d184f1f3>2005-03-21 15:47:04 +0000
commit0b2fc3b6c08d39f19eb684f5ab2afa7e32947a68 (patch)
treea0383df15723cd2c0830b521dc880e7b601cf079
parent09fe20dcf18cfe2f6e1902dd702b482218f4fe81 (diff)
Some fixes. Remove some unused variables. Some cleanup. May still
have a problem. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/Norms/trunk@10 f4913095-0e4f-0410-abea-a123d184f1f3
-rw-r--r--interface.ccl16
-rw-r--r--param.ccl10
-rw-r--r--schedule.ccl8
-rw-r--r--src/Compute_Norm.c31
-rw-r--r--src/Setup_Vars.c44
5 files changed, 42 insertions, 67 deletions
diff --git a/interface.ccl b/interface.ccl
index 0c4cf42..70daffa 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -6,21 +6,15 @@ inherits:
private:
-INT do_nothing_group TYPE=SCALAR
-{
- do_nothing
-} "if equal to 1, then won't do anything"
-
-
INT handles_group TYPE=SCALAR
{
sum_handle
} "handles for reduction operators"
-INT varinfo TYPE=ARRAY DIM=1 SIZE=max_nr_vars
+INT varinfo TYPE=ARRAY DIM=1 SIZE=max_nr_vars DISTRIB=constant
{
- varindices_1st, varindices_2nd, norm_type
+ varindices_1st, varindices_2nd
} "variable info - which vars to compute norms for"
INT nrdecvar_gr TYPE=SCALAR
@@ -28,9 +22,9 @@ INT nrdecvar_gr TYPE=SCALAR
nr1stvars, nr2ndvars
} "number of vars to compute for 1st & 2nd order vars"
-REAL bgvals_group TYPE=SCALAR
+REAL bgvals_group TYPE=ARRAY DIM=1 SIZE=max_nr_vars DISTRIB=constant
{
- bgvals_1st,bgvals_2nd
+ bgvals_1st, bgvals_2nd
} "background value for variable - these get subtracted"
REAL norm_group TYPE=SCALAR
@@ -42,5 +36,3 @@ REAL diff_term_group TYPE=GF
{
diff_term
} "diff terms for norm"
-
-
diff --git a/param.ccl b/param.ccl
index 790ec2f..0c39ec4 100644
--- a/param.ccl
+++ b/param.ccl
@@ -10,12 +10,7 @@ INT max_nr_vars "maximum number of variables for which norms to compute"
INT verbose "verbosity of output"
{
0:9 :: "higher number means more verbose output"
-} 1
-
-INT out_every "At which iterations should we be called" STEERABLE=always
-{
- *:* :: ""
-} 1
+} 0
STRING gridfunctions_1st "Set of grid functions to compute norms for 2nd order variables"
{
@@ -40,6 +35,3 @@ EXTENDS KEYWORD out_fileinfo
{
"axis labels" :: "add axis labels information to output files"
}
-
-
-
diff --git a/schedule.ccl b/schedule.ccl
index cdc6421..8d80d06 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,17 +1,19 @@
# Schedule definitions for thorn Norms
# $Header$
-STORAGE: do_nothing_group,handles_group,varinfo,nrdecvar_gr,norm_group,diff_term_group, bgvals_group
+STORAGE: varinfo nrdecvar_gr bgvals_group
-schedule Norms_Setup_Vars at ANALYSIS
+schedule Norms_Setup_Vars at WRAGH
{
LANG: C
+ OPTIONS: global
} "check norm_type and setup the vars info"
-
schedule Norms_Compute_Norms at ANALYSIS
{
LANG: C
+ STORAGE: diff_term_group norm_group
+ TRIGGERS: norm_group
} "compute the norm"
diff --git a/src/Compute_Norm.c b/src/Compute_Norm.c
index 23f5b68..2fd7752 100644
--- a/src/Compute_Norm.c
+++ b/src/Compute_Norm.c
@@ -1,12 +1,5 @@
-
-
-
-/* XXX cleanup the include files ! */
-
-#include <assert.h>
+#include <math.h>
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
#include "cctk.h"
#include "cctk_Arguments.h"
@@ -47,23 +40,13 @@ void Norms_Compute_Norms (CCTK_ARGUMENTS)
dy = CCTK_DELTA_SPACE(1);
dz = CCTK_DELTA_SPACE(2);
- /* XXX ghost size */
- istart = 1;
- jstart = 1;
- kstart = 1;
+ istart = cctk_nghostzones[0];
+ jstart = cctk_nghostzones[1];
+ kstart = cctk_nghostzones[2];
- iend = cctk_lsh[0]-1;
- jend = cctk_lsh[1]-1;
- kend = cctk_lsh[2]-1;
-
- for (k=kstart;k<kend;k++) {
- for (j=jstart;j<jend;j++) {
- for (i=istart;i<iend;i++) {
- index=CCTK_GFINDEX3D(cctkGH,i,j,k);
- diff_term[index]=0.;
- }
- }
- }
+ iend = cctk_lsh[0]-cctk_nghostzones[0];
+ jend = cctk_lsh[1]-cctk_nghostzones[1];
+ kend = cctk_lsh[2]-cctk_nghostzones[2];
target_proc = 0;
reduction_handle = CCTK_ReductionArrayHandle("norm2");
diff --git a/src/Setup_Vars.c b/src/Setup_Vars.c
index 056c72a..61d4ce2 100644
--- a/src/Setup_Vars.c
+++ b/src/Setup_Vars.c
@@ -69,6 +69,8 @@ static void getopt (int const idx,
ierr = Util_TableDestroy (table);
assert (!ierr);
+ } else {
+ norms_opts->bg = 0.; /* don't subtract any background */
}
}
@@ -99,14 +101,7 @@ void Norms_Setup_Vars (CCTK_ARGUMENTS)
if (verbose>0)
CCTK_VInfo(CCTK_THORNSTRING,"Starting Norms Computation at time %f",
- cctkGH->cctk_time);
- if (cctk_iteration % out_every != 0)
- {
- *do_nothing=1;
- return;
- }
- else
- *do_nothing=0;
+ (double)cctkGH->cctk_time);
for(i=0;i<max_nr_vars;i++) {
varindices_1st[i]=-1;
@@ -136,37 +131,48 @@ void Norms_Setup_Vars (CCTK_ARGUMENTS)
CCTK_INFO("We will compute norms for the following variables");
for (n=0; n<nvars; ++n) {
if (norms_opts_1st[n].active) {
+ assert(*nr1stvars<max_nr_vars);
varindices_1st[*nr1stvars]=norms_opts_1st[n].vi;
bgvals_1st[*nr1stvars]=norms_opts_1st[n].bg;
if (verbose>0) {
- CCTK_VInfo(CCTK_THORNSTRING," %s (1st order var) - %f",
- CCTK_FullName(varindices_1st[*nr1stvars]),
- bgvals_1st[*nr1stvars]);
+ char * fullname = CCTK_FullName(varindices_1st[*nr1stvars]);
+ CCTK_VInfo(CCTK_THORNSTRING," %s (1st order var) - %f",
+ fullname,
+ (double)bgvals_1st[*nr1stvars]);
+ free (fullname);
}
*nr1stvars=*nr1stvars+1;
}
if (norms_opts_2nd[n].active) {
+ assert(*nr2ndvars<max_nr_vars);
varindices_2nd[*nr2ndvars]=norms_opts_2nd[n].vi;
bgvals_2nd[*nr2ndvars]=norms_opts_2nd[n].bg;
if (verbose>0) {
- CCTK_VInfo(CCTK_THORNSTRING," %s (2nd order var) - %f",
- CCTK_FullName(varindices_2nd[*nr2ndvars]),
- bgvals_2nd[*nr2ndvars]);
+ char * fullname = CCTK_FullName(varindices_2nd[*nr2ndvars]);
+ CCTK_VInfo(CCTK_THORNSTRING," %s (2nd order var) - %f",
+ fullname,
+ (double)bgvals_2nd[*nr2ndvars]);
+ free (fullname);
}
*nr2ndvars=*nr2ndvars+1;
}
}
- assert(*nr1stvars<max_nr_vars);
- assert(*nr2ndvars<max_nr_vars);
if (verbose>2)
- fprintf(stderr," nr1stvars %d nr2ndvars %d\n",*nr1stvars,*nr2ndvars);
+ fprintf(stderr," nr1stvars %d nr2ndvars %d\n",
+ (int)*nr1stvars,
+ (int)*nr2ndvars);
if (verbose>4) {
fprintf(stderr," The actual variable arrays look like\n");
for (n=0;n<max_nr_vars;n++) {
fprintf(stderr," i:%d (vi:%d vn:%s bg:%f) (vi:%d vn:%s bg:%f)\n",
- n,varindices_1st[n],CCTK_VarName(varindices_1st[n]),bgvals_1st[n],
- varindices_2nd[n],CCTK_VarName(varindices_2nd[n]),bgvals_2nd[n]);
+ n,
+ (int)varindices_1st[n],
+ CCTK_VarName(varindices_1st[n]),
+ (double)bgvals_1st[n],
+ (int)varindices_2nd[n],
+ CCTK_VarName(varindices_2nd[n]),
+ (double)bgvals_2nd[n]);
}
}