diff options
Diffstat (limited to 'src/Boundary.c')
-rw-r--r-- | src/Boundary.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/Boundary.c b/src/Boundary.c new file mode 100644 index 0000000..908617b --- /dev/null +++ b/src/Boundary.c @@ -0,0 +1,63 @@ +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" + +#include "cctk_Faces.h" + +#include "util_Table.h" + + +static int handle=-1; + +void WaveToyExtra_Boundary(CCTK_ARGUMENTS); +void WaveToyExtra_Boundary(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr=0; + + if (CCTK_EQUALS(bound,"custom")) + { + if (!CCTK_EQUALS(custom_options,"")) + { + if (handle == -1) + { + handle = Util_TableCreateFromString(custom_options); + if (handle < 0) + { + CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, + "WaveToyC_Boundaries: Error creating table for " + "boundary condition %s",custom_bound); + } + } + } + ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, handle, + "wavetoy::phi",custom_bound); + } + + if (ierr < 0) + { + CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, + "WaveToyC_Boundaries: Error selecting boundary " + "condition %s",bound); + } + + return; +} + + + /*@@ + @routine WaveToyC_Terminate + @date + @author Gabrielle Allen + @desc + Tidy up wavetoy + @enddesc + @history + @endhistory +@@*/ +void WaveToyC_Terminate(const cGH *GH) +{ + Util_TableDestroy(handle); +} |