From 0da2cef8eccd2a2a87db35c84627caf5420be8d2 Mon Sep 17 00:00:00 2001 From: schnetter <> Date: Wed, 7 Apr 2004 15:08:00 +0000 Subject: Calculate an approximation of the solution error darcs-hash:20040407150821-07bb3-eed6ae63d064c5746d4a408eabc7f1dd82db542d.gz --- CarpetExtra/WaveToyMoL/interface.ccl | 7 +++++- CarpetExtra/WaveToyMoL/param.ccl | 6 ++++- CarpetExtra/WaveToyMoL/schedule.ccl | 34 ++++++++++++++++++++++++++--- CarpetExtra/WaveToyMoL/src/boundaries.F77 | 4 +--- CarpetExtra/WaveToyMoL/src/initsymbound.F77 | 4 +++- CarpetExtra/WaveToyMoL/src/make.code.defn | 4 ++-- 6 files changed, 48 insertions(+), 11 deletions(-) (limited to 'CarpetExtra') diff --git a/CarpetExtra/WaveToyMoL/interface.ccl b/CarpetExtra/WaveToyMoL/interface.ccl index 9b9c4a769..992543fab 100644 --- a/CarpetExtra/WaveToyMoL/interface.ccl +++ b/CarpetExtra/WaveToyMoL/interface.ccl @@ -1,5 +1,5 @@ # Interface definition for thorn WaveToyMoL -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/interface.ccl,v 1.2 2003/11/05 16:18:41 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/interface.ccl,v 1.3 2004/04/07 17:08:21 schnetter Exp $ IMPLEMENTS: WaveToyMoL @@ -35,3 +35,8 @@ CCTK_REAL scalarevolvedot TYPE=gf { phidot psidot } "Time derivative of the scalar field" + +CCTK_REAL scalarevolveerrorestimate TYPE=gf +{ + error +} "Error estimate" diff --git a/CarpetExtra/WaveToyMoL/param.ccl b/CarpetExtra/WaveToyMoL/param.ccl index f4c10772a..37879c4d8 100644 --- a/CarpetExtra/WaveToyMoL/param.ccl +++ b/CarpetExtra/WaveToyMoL/param.ccl @@ -1,5 +1,5 @@ # Parameter definitions for thorn WaveToyMoL -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/param.ccl,v 1.1 2003/06/18 18:24:30 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/param.ccl,v 1.2 2004/04/07 17:08:21 schnetter Exp $ SHARES: MethodOfLines @@ -18,3 +18,7 @@ STRING bound "Type of boundary condition to use" { .* :: "must be a registered boundary condition" } "None" + +BOOLEAN estimate_error "Estimate the truncation error" +{ +} "no" diff --git a/CarpetExtra/WaveToyMoL/schedule.ccl b/CarpetExtra/WaveToyMoL/schedule.ccl index 7d3f01265..ffce79084 100644 --- a/CarpetExtra/WaveToyMoL/schedule.ccl +++ b/CarpetExtra/WaveToyMoL/schedule.ccl @@ -1,26 +1,31 @@ # Schedule definitions for thorn WaveToyMoL -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/schedule.ccl,v 1.4 2004/01/25 14:57:31 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/schedule.ccl,v 1.5 2004/04/07 17:08:21 schnetter Exp $ STORAGE: scalarevolve[3] STORAGE: scalarevolvedot +if (estimate_error) { + STORAGE: scalarevolveerrorestimate +} + SCHEDULE WaveToyMol_Startup AT startup { LANG: Fortran + OPTIONS: meta } "Register banner" SCHEDULE WaveToyMoL_InitSymBound AT basegrid { LANG: Fortran - OPTIONS: global + OPTIONS: meta } "Schedule symmetries" SCHEDULE WaveToyMoL_RegisterVars IN MoL_Register { LANG: Fortran - OPTIONS: global + OPTIONS: meta } "Register variables for MoL" @@ -33,9 +38,32 @@ SCHEDULE WaveToyMoL_CalcRHS IN MoL_CalcRHS SCHEDULE WaveToyMoL_Boundaries IN MoL_PostStep { LANG: Fortran + OPTIONS: level SYNC: scalarevolve } "Select boundary conditions in MoL" SCHEDULE GROUP ApplyBCs IN MoL_PostStep AFTER WaveToyMoL_Boundaries { } "Apply boundary conditions in MoL" + + + +if (estimate_error) { + + SCHEDULE WaveToyMoL_EstimateError AT poststep + { + LANG: Fortran + } "Estimate the truncation error" + + SCHEDULE WaveToyMoL_EstimateErrorBoundaries AT poststep AFTER WaveToyMoL_EstimateError + { + LANG: Fortran + OPTIONS: level + SYNC: scalarevolveerrorestimate + } "Select boundary conditions for the truncation error" + + SCHEDULE GROUP ApplyBCs AT poststep AFTER WaveToyMoL_EstimateError + { + } "Apply boundary conditions" + +} diff --git a/CarpetExtra/WaveToyMoL/src/boundaries.F77 b/CarpetExtra/WaveToyMoL/src/boundaries.F77 index 7cb9f6579..6b86f6383 100644 --- a/CarpetExtra/WaveToyMoL/src/boundaries.F77 +++ b/CarpetExtra/WaveToyMoL/src/boundaries.F77 @@ -1,4 +1,4 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/boundaries.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/boundaries.F77,v 1.3 2004/04/07 17:08:21 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" @@ -19,7 +19,5 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/boundar if (fboundlen.lt.0) call CCTK_WARN (0, "internal error") ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, bndwidth, -1, $ "WaveToyMoL::scalarevolve", fbound); - if (ierr.ne.0) call CCTK_WARN (0, "internal error") - call CartSymGN (ierr, cctkGH, "WaveToyMoL::scalarevolve") if (ierr.ne.0) call CCTK_WARN (0, "internal error") end diff --git a/CarpetExtra/WaveToyMoL/src/initsymbound.F77 b/CarpetExtra/WaveToyMoL/src/initsymbound.F77 index 782f0b6fe..554eb16f0 100644 --- a/CarpetExtra/WaveToyMoL/src/initsymbound.F77 +++ b/CarpetExtra/WaveToyMoL/src/initsymbound.F77 @@ -1,4 +1,4 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/initsymbound.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/initsymbound.F77,v 1.3 2004/04/07 17:08:21 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" @@ -20,4 +20,6 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/initsym if (ierr.ne.0) call CCTK_WARN (0, "internal error") call SetCartSymVN (ierr, cctkGH, sym, "WaveToyMoL::phidot") if (ierr.ne.0) call CCTK_WARN (0, "internal error") + call SetCartSymVN (ierr, cctkGH, sym, "WaveToyMoL::error") + if (ierr.ne.0) call CCTK_WARN (0, "internal error") end diff --git a/CarpetExtra/WaveToyMoL/src/make.code.defn b/CarpetExtra/WaveToyMoL/src/make.code.defn index 969543b4a..59782e596 100644 --- a/CarpetExtra/WaveToyMoL/src/make.code.defn +++ b/CarpetExtra/WaveToyMoL/src/make.code.defn @@ -1,8 +1,8 @@ # Main make.code.defn file for thorn WaveToyMoL -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/make.code.defn,v 1.1 2003/06/18 18:24:31 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/make.code.defn,v 1.2 2004/04/07 17:08:21 schnetter Exp $ # Source files in this directory -SRCS = boundaries.F77 calcrhs.F77 initsymbound.F77 registervars.F77 startup.F77 +SRCS = boundaries.F77 calcrhs.F77 estimateerror.F77 initsymbound.F77 registervars.F77 startup.F77 # Subdirectories containing source files SUBDIRS = -- cgit v1.2.3