PLUTO  4.4-patch2
mod_defs.h
Go to the documentation of this file.
1 /* ///////////////////////////////////////////////////////////////////// */
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 2
22 #define MX3 3
23 #if HAVE_ENERGY
24  #define ENG 4
25  #define PRS ENG
26 #endif
27 
28 #define VX1 MX1
29 #define VX2 MX2
30 #define VX3 MX3
31 
32 #define NFLX (4 + 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  #define iVR VX1
41  #define iMR MX1
42 
43  #define iVZ VX2
44  #define iMZ MX2
45 
46  #define iVPHI VX3
47  #define iMPHI MX3
48 #endif
49 
50 #if GEOMETRY == POLAR
51  #define iVR VX1
52  #define iMR MX1
53 
54  #define iVPHI VX2
55  #define iMPHI MX2
56 
57  #define iVZ VX3
58  #define iMZ MX3
59 #endif
60 
61 #if GEOMETRY == SPHERICAL
62  #define iVR VX1
63  #define iMR MX1
64 
65  #define iVTH VX2
66  #define iMTH MX2
67 
68  #define iVPHI VX3
69  #define iMPHI MX3
70 #endif
71 
72 /* *************************************************
73  Label the different waves in increasing order
74  following the number of vector components.
75  ************************************************* */
76 
77 enum KWAVES {
78  KSOUNDM, KSOUNDP
79  #if HAVE_ENERGY
80  , KENTRP
81  #endif
82 };
83 
84 /* ***********************************************************
85  Prototyping goes here
86  *********************************************************** */
87 
88 int ConsToPrim (double **, double **, int, int, uint16_t *);
89 void Eigenvalues (double **, double *, double **, int, int);
90 void PrimEigenvectors (const State *, int, int);
91 void ConsEigenvectors (double *, double *, double,
92  double **, double **, double *);
93 
94 void Flux (const State *, int, int);
95 void HLL_Speed (const State *, const State *, double *, double *, int, int);
96 void MaxSignalSpeed (const State *, double *, double *, int, int);
97 void PrimToCons (double **, double **, int, int);
98 void PrimRHS (double *, double *, double, double, double *);
99 void PrimSource (const State *, double **, int, int, Grid *);
100 
101 Riemann_Solver TwoShock_Solver, LF_Solver, Roe_Solver, HLL_Solver,
102  HLLC_Solver, RusanovDW_Solver;
103 Riemann_Solver AUSMp_Solver;
104 
void MaxSignalSpeed(const State *, double *, double *, int, int)
Definition: eigenv.c:34
int ConsToPrim(double **, double **, int, int, uint16_t *)
Definition: mappers.c:88
void PrimToCons(double **, double **, int, int)
Definition: mappers.c:26
Definition: structs.h:124
void Flux(const State *, int, int)
Definition: fluxes.c:23
void HLL_Speed(const State *, const State *, double *, double *, int, int)
Definition: hll_speed.c:24
void Eigenvalues(double **, double *, double **, int, int)
Definition: eigenv.c:68
void TwoShock_Solver(const Sweep *sweep, int beg, int end, double *cmax, Grid *grid)
Definition: two_shock.c:45
void ConsEigenvectors(double *, double *, double, double **, double **, double *)
Definition: eigenv.c:277
void PrimEigenvectors(const State *, int, int)
Definition: eigenv.c:92
Definition: structs.h:261
void PrimRHS(double *, double *, double, double, double *)
Definition: prim_eqn.c:30
void PrimSource(const State *, double **, int, int, Grid *)
Definition: prim_eqn.c:124