diff options
Diffstat (limited to 'src/Setup_Vars.c')
-rw-r--r-- | src/Setup_Vars.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/Setup_Vars.c b/src/Setup_Vars.c index b09b594..8f14a88 100644 --- a/src/Setup_Vars.c +++ b/src/Setup_Vars.c @@ -116,6 +116,10 @@ void Norms_Setup_Vars (CCTK_ARGUMENTS) else *do_nothing=0; + for(i=0;i<max_nr_vars;i++) { + varindices_1st[i]=-1; + varindices_2nd[i]=-1; + } nvars = CCTK_NumVars(); assert (nvars >= 0); @@ -134,12 +138,11 @@ void Norms_Setup_Vars (CCTK_ARGUMENTS) (gridfunctions_2nd, getopt, norms_opts_2nd, CCTK_GROUP_OR_VAR); assert (ierr >= 0); - i=0; if (verbose>0) CCTK_INFO("We will compute norms for the following variables"); for (n=0; n<nvars; ++n) { if (norms_opts_1st[n].active) { - varindices_1st[i]=norms_opts_1st[n].vi; + varindices_1st[*nr1stvars]=norms_opts_1st[n].vi; if (verbose>0) { CCTK_VInfo(CCTK_THORNSTRING," %s (1st order var)", CCTK_FullName(varindices_1st[i])); @@ -147,7 +150,7 @@ void Norms_Setup_Vars (CCTK_ARGUMENTS) *nr1stvars=*nr1stvars+1; } if (norms_opts_2nd[n].active) { - varindices_2nd[i]=norms_opts_2nd[n].vi; + varindices_2nd[*nr2ndvars]=norms_opts_2nd[n].vi; if (verbose>0) { CCTK_VInfo(CCTK_THORNSTRING," %s (2nd order var)", CCTK_FullName(varindices_2nd[i])); @@ -155,9 +158,20 @@ void Norms_Setup_Vars (CCTK_ARGUMENTS) *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); + if (verbose>4) { + fprintf(stderr," The actual variable arrays look like\n"); + for (n=0;n<max_nr_vars;n++) { + fprintf(stderr," i:%d 1st (vi:%d vn:%s) 2nd (vi:%d vn:%s)\n", + n,varindices_1st[n],CCTK_VarName(varindices_1st[n]), + varindices_2nd[n],CCTK_VarName(varindices_2nd[n])); + } + } + free (norms_opts_1st); free (norms_opts_2nd); } |