summaryrefslogtreecommitdiff
path: root/src/EOS_GeneralHybrid.c
diff options
context:
space:
mode:
authorknarf <knarf@0a999221-0efe-4d2d-b270-2ec6803ffb49>2009-12-02 22:22:52 +0000
committerknarf <knarf@0a999221-0efe-4d2d-b270-2ec6803ffb49>2009-12-02 22:22:52 +0000
commit009e6b85882170b646ee8ef895b82d77c5ca2505 (patch)
treee4ddc81c8871e16a00368ceb1952e1fc4b37f68f /src/EOS_GeneralHybrid.c
parent04d9e2af959e28cad9f8fea508e35c393228a265 (diff)
thorns for general eos interface (moved from Whisky_Dev repositories)
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEOS/EOSG_Hybrid/trunk@2 0a999221-0efe-4d2d-b270-2ec6803ffb49
Diffstat (limited to 'src/EOS_GeneralHybrid.c')
-rwxr-xr-xsrc/EOS_GeneralHybrid.c76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/EOS_GeneralHybrid.c b/src/EOS_GeneralHybrid.c
new file mode 100755
index 0000000..9e4d443
--- /dev/null
+++ b/src/EOS_GeneralHybrid.c
@@ -0,0 +1,76 @@
+#include <ctype.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include "EOS_GeneralHybrid.h"
+
+void CCTK_FCALL CCTK_FNAME(EOS_GeneralHybrid_Pressure) (const CCTK_INT* nelems,
+ const CCTK_REAL* const rho,
+ const CCTK_REAL* const eps,
+ const CCTK_REAL* press);
+void CCTK_FCALL CCTK_FNAME(EOS_GeneralHybrid_DPDRho) (const CCTK_INT* nelems,
+ const CCTK_REAL* const rho,
+ const CCTK_REAL* const eps,
+ const CCTK_REAL* dpdrho);
+void CCTK_FCALL CCTK_FNAME(EOS_GeneralHybrid_DPDIE) (const CCTK_INT* nelems,
+ const CCTK_REAL* const rho,
+ const CCTK_REAL* const eps,
+ const CCTK_REAL* dpdie);
+void CCTK_FCALL CCTK_FNAME(EOS_GeneralHybrid_cs2) (const CCTK_INT* nelems,
+ const CCTK_REAL* const rho,
+ const CCTK_REAL* const eps,
+ const CCTK_REAL* cs2);
+
+CCTK_INT EOS_GeneralHybrid_SetArray(const CCTK_INT param_table,
+ const CCTK_INT n_elems,
+ const CCTK_POINTER* indep_vars,
+ const CCTK_INT* which_deps_to_set,
+ CCTK_POINTER* dep_vars)
+{
+
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0, var;
+
+ for (var = 0; var < N_DEPS; ++var)
+ {
+ if (which_deps_to_set[var])
+ {
+ switch (var)
+ {
+ case (0):
+ CCTK_FNAME(EOS_GeneralHybrid_Pressure) (&n_elems,
+ (const CCTK_REAL*)indep_vars[0],
+ (const CCTK_REAL*)indep_vars[1],
+ (const CCTK_REAL*)dep_vars[0]);
+ break;
+ case (1):
+ CCTK_FNAME(EOS_GeneralHybrid_DPDRho) (&n_elems,
+
+ (const CCTK_REAL*)indep_vars[0],
+ (const CCTK_REAL*)indep_vars[1],
+ (const CCTK_REAL*)dep_vars[1]);
+ break;
+ case (2):
+ CCTK_FNAME(EOS_GeneralHybrid_DPDIE) (&n_elems,
+ (const CCTK_REAL*)indep_vars[0],
+ (const CCTK_REAL*)indep_vars[1],
+ (const CCTK_REAL*)dep_vars[2]);
+ break;
+ case (3):
+ CCTK_FNAME(EOS_GeneralHybrid_cs2) (&n_elems,
+ (const CCTK_REAL*)indep_vars[0],
+ (const CCTK_REAL*)indep_vars[1],
+ (const CCTK_REAL*)dep_vars[3]);
+ break;
+ }
+ }
+ }
+
+ return ierr;
+}