diff options
author | allen <allen@b589c3ab-70e8-4b4d-a09f-cba2dd200880> | 1999-09-21 11:27:32 +0000 |
---|---|---|
committer | allen <allen@b589c3ab-70e8-4b4d-a09f-cba2dd200880> | 1999-09-21 11:27:32 +0000 |
commit | 1940d71782b4cc3519972ebf4504bbe4486cf7d0 (patch) | |
tree | bc11dc4e95891c19d3e88c0b15bb4ebf068d1d45 /src/GHExtension.c | |
parent | ac667e93729515249ec4d81961d1c83e2a0e217d (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.c | 101 |
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; +} + + |