aboutsummaryrefslogtreecommitdiff
path: root/src/GHExtension.c
diff options
context:
space:
mode:
authorallen <allen@b589c3ab-70e8-4b4d-a09f-cba2dd200880>1999-09-21 11:27:32 +0000
committerallen <allen@b589c3ab-70e8-4b4d-a09f-cba2dd200880>1999-09-21 11:27:32 +0000
commit1940d71782b4cc3519972ebf4504bbe4486cf7d0 (patch)
treebc11dc4e95891c19d3e88c0b15bb4ebf068d1d45 /src/GHExtension.c
parentac667e93729515249ec4d81961d1c83e2a0e217d (diff)
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOBasic/trunk@3 b589c3ab-70e8-4b4d-a09f-cba2dd200880
Diffstat (limited to 'src/GHExtension.c')
-rw-r--r--src/GHExtension.c101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/GHExtension.c b/src/GHExtension.c
new file mode 100644
index 0000000..9e754e1
--- /dev/null
+++ b/src/GHExtension.c
@@ -0,0 +1,101 @@
+ /*@@
+ @file GHExtension.c
+ @date Friday 18th September
+ @author Gabrielle Allen
+ @desc
+ IO GH extension stuff.
+ @enddesc
+ @@*/
+
+/* #define DEBUG_IO */
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "config.h"
+#include "cctk_Flesh.h"
+#include "cctk_Comm.h"
+#include "cctk_Groups.h"
+#include "cctk_Misc.h"
+#include "cctk_GHExtensions.h"
+#include "cctk_parameters.h"
+#include "CactusBase/IOUtil/src/ioGH.h"
+#include "iobasicGH.h"
+
+
+void *IOBasic_SetupGH (tFleshConfig *config, int convergence_level, cGH *GH)
+{
+ int i;
+ iobasicGH *newGH;
+
+ newGH = (iobasicGH *) malloc (sizeof (iobasicGH));
+ newGH->infovals = (CCTK_REAL **) malloc (CCTK_NumVars () * sizeof (CCTK_REAL *));
+ for (i=0;i<CCTK_NumVars ();i++)
+ newGH->infovals[i] = (CCTK_REAL *) malloc (2 * sizeof (CCTK_REAL));
+
+ newGH->Scalarnum = (int *) malloc (CCTK_NumVars () * sizeof (int));
+ newGH->Scalarlast = (int *) malloc (CCTK_NumVars () * sizeof (int));
+
+ newGH->infonum = (int *) malloc (CCTK_NumVars () * sizeof (int));
+ newGH->infolast = (int *) malloc (CCTK_NumVars () * sizeof (int));
+
+ return newGH;
+}
+
+int IOBasic_InitGH (cGH *GH)
+{
+ DECLARE_CCTK_PARAMETERS
+ int i;
+ iobasicGH *myGH;
+
+ /* get the handles for IOBasic extensions */
+ myGH = (iobasicGH *) GH->extensions [CCTK_GHExtensionHandle ("IOBasic")];
+ myGH->filenameListScalar = NULL;
+
+ /* How often to output */
+ myGH->infoevery = out_every;
+ if (outInfo_every > 0)
+ myGH->infoevery = outInfo_every;
+
+ myGH->Scalarevery = out_every;
+ if (outScalar_every > 0)
+ myGH->Scalarevery = outScalar_every;
+
+ InitIONum(myGH->infonum,outInfo_vars);
+ InitIONum(myGH->Scalarnum,outScalar_vars);
+
+ /* Deal with the output directories */
+ myGH->outpfx_Scalar = outdir;
+ if (!CCTK_Equals(outdirScalar,"outdir"))
+ myGH->outpfx_Scalar = outdirScalar;
+
+ /* Create the output directories */
+ if (myGH->Scalarevery > 0) {
+ if (CCTK_MyProc (GH) == 0) {
+ CCTK_mkdir(myGH->outpfx_Scalar);
+ }
+ }
+
+ for (i=0; i<CCTK_NumVars(); i++)
+ myGH->Scalarlast[i] = -1;
+ for (i=0; i<CCTK_NumVars(); i++)
+ myGH->infolast [i] = -1;
+
+ for (i=0; i<CCTK_NumVars(); i++)
+ {
+ myGH->infovals[i][0] = 0.0;
+ myGH->infovals[i][1] = 0.0;
+ }
+
+ myGH->filenameListScalar = NULL;
+
+ return 0;
+}
+
+int IOBasic_rfrTraverseGH(cGH *GH, int rfrpoint)
+{
+ return 0;
+}
+
+