From b728565aaa12282846d658d7837b32511cd23cee Mon Sep 17 00:00:00 2001 From: werner Date: Mon, 11 Oct 1999 08:37:23 +0000 Subject: WaveToy Initial data in C++ (only gaussian initial data here for easyness) git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/IDScalarWaveCXX/trunk@2 7ec00dc9-1e7a-42ad-bf73-a299ee168e72 --- README | 7 ++++++ interface.ccl | 6 +++++ param.ccl | 26 +++++++++++++++++++ schedule.ccl | 10 ++++++++ src/InitialData.cc | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/make.code.defn | 9 +++++++ 6 files changed, 131 insertions(+) create mode 100644 README create mode 100644 interface.ccl create mode 100644 param.ccl create mode 100644 schedule.ccl create mode 100644 src/InitialData.cc create mode 100644 src/make.code.defn diff --git a/README b/README new file mode 100644 index 0000000..af9375e --- /dev/null +++ b/README @@ -0,0 +1,7 @@ +Cactus Code Thorn IDScalarWave, C++ +Authors : Tom Goodale, Gabrielle Allen, Werner Benger +CVS info : $Header$ +-------------------------------------------------------------------------- + +This thorns sets initial data for the scalar wave equation evolver + diff --git a/interface.ccl b/interface.ccl new file mode 100644 index 0000000..6f8e4d9 --- /dev/null +++ b/interface.ccl @@ -0,0 +1,6 @@ +# Interface definition for thorn IDScalarWave +# $Header$ + +implements: idscalarwavecxx +inherits: wavetoy grid + diff --git a/param.ccl b/param.ccl new file mode 100644 index 0000000..3f7be29 --- /dev/null +++ b/param.ccl @@ -0,0 +1,26 @@ +# Parameter definitions for thorn IDScalarWave +# $Header$ + +shares: grid + +USES KEYWORD type "" +{ +} + +private: + +REAL radius "The radius of the gaussian wave" +{ + 0:* :: +} 0.0 + +REAL sigma "The sigma for the gaussian wave" +{ + 0:* :: +} 0.1 + +REAL amplitude "The amplitude of the waves" +{ + *:* :: "No restriction" +} 1.0 + diff --git a/schedule.ccl b/schedule.ccl new file mode 100644 index 0000000..91ea515 --- /dev/null +++ b/schedule.ccl @@ -0,0 +1,10 @@ +# Schedule definitions for thorn IDScalarWave +# $Header$ + +schedule IDScalarWaveCXX_InitialData at CCTK_INITIAL +{ + STORAGE: wavetoy::scalarevolve,wavetoy::scalarold + COMMUNICATION: wavetoy::scalarevolve + LANG: C +} "Initial data for 3D wave equation" + diff --git a/src/InitialData.cc b/src/InitialData.cc new file mode 100644 index 0000000..c8d790d --- /dev/null +++ b/src/InitialData.cc @@ -0,0 +1,73 @@ + /*@@ + @file InitialData.cc + @date + @author Werner Benger + @desc + Initial data for the 3D Wave Equation + Derived from Tom Goodale + @enddesc + @@*/ + +#include "cctk.h" +#include "cctk_Flesh.h" +#include "cctk_parameters.h" +#include "cctk_Groups.h" +#include "cctk_arguments.h" +#include "cctk_Comm.h" + +#include "CactusBase/CartGrid3D/src/Symmetry.h" + +#include + +inline double sqr(double val) +{ + return val*val; +} + + + /*@@ + @routine IDScalarWave_InitialData + @date + @author Tom Goodale + @desc + Set up initial data for the wave equation + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ + +extern "C" void IDScalarWaveCXX_InitialData(CCTK_CARGUMENTS) +{ + DECLARE_CCTK_CARGUMENTS + DECLARE_CCTK_PARAMETERS + + for(int k=0; k