diff options
author | schnetter <schnetter@f4913095-0e4f-0410-abea-a123d184f1f3> | 2005-03-21 15:47:04 +0000 |
---|---|---|
committer | schnetter <schnetter@f4913095-0e4f-0410-abea-a123d184f1f3> | 2005-03-21 15:47:04 +0000 |
commit | 0b2fc3b6c08d39f19eb684f5ab2afa7e32947a68 (patch) | |
tree | a0383df15723cd2c0830b521dc880e7b601cf079 | |
parent | 09fe20dcf18cfe2f6e1902dd702b482218f4fe81 (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.ccl | 16 | ||||
-rw-r--r-- | param.ccl | 10 | ||||
-rw-r--r-- | schedule.ccl | 8 | ||||
-rw-r--r-- | src/Compute_Norm.c | 31 | ||||
-rw-r--r-- | src/Setup_Vars.c | 44 |
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" - - @@ -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]); } } |