aboutsummaryrefslogtreecommitdiff
path: root/Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-01-26 23:26:13 -0600
committerIan Hinder <ian.hinder@aei.mpg.de>2012-01-27 00:02:17 -0600
commitfb66658a68c868725ac5ef97283a529d8115c24b (patch)
tree36ed5f7eeaee3ea80eacdf5eeab867820f488544 /Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code
parenta98dcbac2496e35a435446137a765e7e508a6a9f (diff)
Regenerate SimpleWaveCaKernel
Diffstat (limited to 'Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code')
-rw-r--r--Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code79
1 files changed, 79 insertions, 0 deletions
diff --git a/Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code b/Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code
new file mode 100644
index 0000000..ba4ab79
--- /dev/null
+++ b/Examples/SimpleWaveCaKernel/src/CaKernel__calc_rhs.code
@@ -0,0 +1,79 @@
+#define KRANC_C
+
+#include "Differencing.h"
+#include "GenericFD.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) ((1.0) / (x))
+#define SQR(x) ((x) * (x))
+#define CUB(x) ((x) * (x) * (x))
+
+#define CCTK_GFINDEX3D(u,i,j,k) I3D(u,i,j,k)
+
+CAKERNEL_calc_rhs_Begin
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ CCTK_REAL const dx = params.cagh_dx;
+ CCTK_REAL const dy = params.cagh_dy;
+ CCTK_REAL const dz = params.cagh_dz;
+ CCTK_REAL const dt = params.cagh_dt;
+ CCTK_REAL const t = params.cagh_time;
+ CCTK_REAL const dxi = INV(dx);
+ CCTK_REAL const dyi = INV(dy);
+ CCTK_REAL const dzi = INV(dz);
+ CCTK_REAL const khalf = 0.5;
+ CCTK_REAL const kthird = 1/3.0;
+ CCTK_REAL const ktwothird = 2.0/3.0;
+ CCTK_REAL const kfourthird = 4.0/3.0;
+ CCTK_REAL const keightthird = 8.0/3.0;
+ CCTK_REAL const hdxi = 0.5 * dxi;
+ CCTK_REAL const hdyi = 0.5 * dyi;
+ CCTK_REAL const hdzi = 0.5 * dzi;
+
+ /* Initialize predefined quantities */
+ CCTK_REAL const p1o2dx = 0.5*INV(dx);
+ CCTK_REAL const p1o2dy = 0.5*INV(dy);
+ CCTK_REAL const p1o2dz = 0.5*INV(dz);
+ CCTK_REAL const p1odx2 = INV(SQR(dx));
+ CCTK_REAL const p1ody2 = INV(SQR(dy));
+ CCTK_REAL const p1odz2 = INV(SQR(dz));
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+ CAKERNEL_calc_rhs_Computations_Begin
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL phiL = I3D(phi,0,0,0);
+ CCTK_REAL piL = I3D(pi,0,0,0);
+
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL const PDstandard2nd11phi = PDstandard2nd11(&phi[index]);
+ CCTK_REAL const PDstandard2nd22phi = PDstandard2nd22(&phi[index]);
+ CCTK_REAL const PDstandard2nd33phi = PDstandard2nd33(&phi[index]);
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL phirhsL = piL;
+
+ CCTK_REAL pirhsL = PDstandard2nd11phi + PDstandard2nd22phi +
+ PDstandard2nd33phi;
+
+ /* Copy local copies back to grid functions */
+ I3D(phirhs,0,0,0) = phirhsL;
+ I3D(pirhs,0,0,0) = pirhsL;
+
+ CAKERNEL_calc_rhs_Computations_End
+
+CAKERNEL_calc_rhs_End