PLUTO
mod_defs.h
Go to the documentation of this file.
1 /* ///////////////////////////////////////////////////////////////////// */
2 /*!
3  \file
4  \brief Set labels, indexes and prototypes for the HD module.
5 
6  Contains variable names and prototypes for the HD module
7 
8  \author A. Mignone (mignone@ph.unito.it)
9  \date April, 2, 2015
10 */
11 /* ///////////////////////////////////////////////////////////////////// */
12 
13 /* *********************************************************
14  Set flow variable indices.
15  Extra vector components, when not needed, point to the
16  last element (255) of the array stored by startup.c.
17  ********************************************************* */
18 
19 #define RHO 0
20 #define MX1 1
21 #define MX2 (COMPONENTS >= 2 ? 2: 255)
22 #define MX3 (COMPONENTS == 3 ? 3: 255)
23 #if HAVE_ENERGY
24  #define ENG (COMPONENTS + 1)
25  #define PRS ENG
26 #endif
27 
28 #define VX1 MX1
29 #define VX2 MX2
30 #define VX3 MX3
31 
32 #define NFLX (1 + COMPONENTS + HAVE_ENERGY)
33 
34 /* *************************************************
35  Now define more convenient and user-friendly
36  pointer labels for geometry setting
37  ************************************************* */
38 
39 #if GEOMETRY == CYLINDRICAL
40 
41  #define iVR VX1
42  #define iVZ VX2
43  #define iVPHI VX3
44 
45  #define iMR MX1
46  #define iMZ MX2
47  #define iMPHI MX3
48 
49 #endif
50 
51 #if GEOMETRY == POLAR
52 
53  #define iVR VX1
54  #define iVPHI VX2
55  #define iVZ VX3
56 
57  #define iMR MX1
58  #define iMPHI MX2
59  #define iMZ MX3
60 
61 #endif
62 
63 #if GEOMETRY == SPHERICAL
64 
65  #define iVR VX1
66  #define iVTH VX2
67  #define iVPHI VX3
68 
69  #define iMR MX1
70  #define iMTH MX2
71  #define iMPHI MX3
72 
73 #endif
74 
75 /* *************************************************
76  Label the different waves in increasing order
77  following the number of vector components.
78  ************************************************* */
79 
80 enum KWAVES {
82  #if HAVE_ENERGY
83  , KENTRP
84  #endif
85 };
86 
87 /* ***********************************************************
88  Prototyping goes here
89  *********************************************************** */
90 
91 int ConsToPrim (double **, double **, int, int, unsigned char *);
92 void Eigenvalues (double **, double *, double **, int, int);
93 void PrimEigenvectors (double *, double, double, double *, double **, double **);
94 void ConsEigenvectors (double *, double *, double,
95  double **, double **, double *);
96 
97 void Flux (double **, double **, double *, double **, double *, int, int);
98 void HLL_Speed (double **, double **, double *, double *,
99  double *, double *, int, int);
100 void MaxSignalSpeed (double **, double *, double *, double *, int, int);
101 void PrimToCons (double **, double **, int, int);
102 void PrimRHS (double *, double *, double, double, double *);
103 void PrimSource (const State_1D *, int, int,
104  double *, double *, double **, Grid *);
105 
109 
110 
111 
void Flux(double **, double **, double *, double **, double *, int, int)
Definition: fluxes.c:23
void Riemann_Solver(const State_1D *, int, int, double *, Grid *)
Definition: pluto.h:489
Riemann_Solver AUSMp_Solver
Definition: mod_defs.h:108
Riemann_Solver HLLC_Solver
Definition: mod_defs.h:106
Riemann_Solver Roe_Solver
Definition: mod_defs.h:106
void PrimToCons(double **, double **, int, int)
Definition: mappers.c:26
Riemann_Solver TwoShock_Solver
Definition: mod_defs.h:106
KWAVES
Definition: mod_defs.h:80
Riemann_Solver RusanovDW_Solver
Definition: mod_defs.h:106
int ConsToPrim(double **, double **, int, int, unsigned char *)
Definition: mappers.c:89
void Eigenvalues(double **, double *, double **, int, int)
Definition: eigenv.c:67
void HLL_Speed(double **, double **, double *, double *, double *, double *, int, int)
Definition: hll_speed.c:24
Definition: structs.h:78
void ConsEigenvectors(double *, double *, double, double **, double **, double *)
Definition: eigenv.c:279
void PrimSource(const State_1D *, int, int, double *, double *, double **, Grid *)
Definition: prim_eqn.c:71
void MaxSignalSpeed(double **, double *, double *, double *, int, int)
Definition: eigenv.c:34
Riemann_Solver HLL_Solver
Definition: mod_defs.h:106
Riemann_Solver LF_Solver
Definition: mod_defs.h:106
void PrimRHS(double *, double *, double, double, double *)
Definition: prim_eqn.c:31
void PrimEigenvectors(double *, double, double, double *, double **, double **)
Definition: eigenv.c:91