aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--param.ccl2
-rw-r--r--src/WaveToy.c17
2 files changed, 19 insertions, 0 deletions
diff --git a/param.ccl b/param.ccl
index ffb6720..3c75f93 100644
--- a/param.ccl
+++ b/param.ccl
@@ -9,6 +9,8 @@ KEYWORD bound "Type of boundary condition to use"
"flat" :: "Flat boundary condition"
"static" :: "Static boundary condition"
"radiation" :: "Radiation boundary condition"
+ "robin" :: "Robin boundary condition"
+ "zero" :: "Zero boundary condition"
} "none"
diff --git a/src/WaveToy.c b/src/WaveToy.c
index e959cea..94ebae7 100644
--- a/src/WaveToy.c
+++ b/src/WaveToy.c
@@ -120,8 +120,13 @@ void WaveToyC_Boundaries(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
+ CCTK_REAL finf;
int ierr=-1;
int sw[3];
+ int npow;
+
+ finf = 1.0;
+ npow = 1;
/* Set the stencil width */
sw[0]=1;
@@ -143,6 +148,18 @@ void WaveToyC_Boundaries(CCTK_ARGUMENTS)
ierr = BndRadiativeVN(cctkGH,sw,0.0,1.0,"wavetoy::phi",
"wavetoy::phi");
}
+ else if (CCTK_Equals(bound,"robin"))
+ {
+ ierr = BndRobinVN(cctkGH,sw,finf,npow,"wavetoy::phi");
+ }
+ else if (CCTK_Equals(bound,"zero"))
+ {
+ ierr = BndScalarVN(cctkGH,sw, 0.0,"wavetoy::phi");
+ }
+ else if (! CCTK_Equals(bound,"none"))
+ {
+ CCTK_WARN(0,"Boundary condition not recognized");
+ }
if (ierr < 0)
{