PLUTO
set_solver.c
Go to the documentation of this file.
1 #include"pluto.h"
2 
3 /* ********************************************************************* */
4 Riemann_Solver *SetSolver (const char *solver)
5 /*!
6  *
7  * PURPOSE
8  *
9  * return a pointer to a riemann solver function
10  *
11  *********************************************************************** */
12 {
13 
14  #ifdef FINITE_DIFFERENCE
15  return (&FD_Flux);
16  #endif
17 
18 /* ------------------------------------------------------
19  Set Pointers for SOLVERS
20  ------------------------------------------------------ */
21 
22  #if EOS == IDEAL
23  if ( !strcmp(solver, "two_shock")) return (&TwoShock_Solver);
24  else if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
25  else if (!strcmp(solver, "roe")) return (&Roe_Solver);
26  else if (!strcmp(solver, "ausm+")) return (&AUSMp_Solver);
27  else if (!strcmp(solver, "hlle") ||
28  !strcmp(solver, "hll")) return (&HLL_Solver);
29  else if (!strcmp(solver, "hllc")) return (&HLLC_Solver);
30 /*
31  else if (!strcmp(solver, "rusanov_dw")) return (&RusanovDW_Solver);
32 */
33  #elif EOS == PVTE_LAW
34  if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
35  else if (!strcmp(solver, "hlle") ||
36  !strcmp(solver, "hll")) return (&HLL_Solver);
37  else if (!strcmp(solver, "hllc")) return (&HLLC_Solver);
38 /*
39  else if (!strcmp(solver, "rusanov_dw")) return (&RusanovDW_Solver);
40 */
41  #elif EOS == ISOTHERMAL
42  if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
43  else if (!strcmp(solver, "roe")) return (&Roe_Solver);
44  else if (!strcmp(solver, "hlle") ||
45  !strcmp(solver, "hll")) return (&HLL_Solver);
46  else if (!strcmp(solver, "hllc")) return (&HLLC_Solver);
47 /*
48  else if (!strcmp(solver, "rusanov_dw")) return (&RusanovDW_Solver);
49 */
50  #endif
51 
52  print1 ("\n! SetSolver: '%s' not available with this configuration.\n",
53  solver);
54  QUIT_PLUTO(1);
55 }
Riemann_Solver * SetSolver(const char *solver)
Definition: set_solver.c:4
void print1(const char *fmt,...)
Definition: amrPluto.cpp:511
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
Riemann_Solver TwoShock_Solver
Definition: mod_defs.h:106
PLUTO main header file.
Riemann_Solver HLL_Solver
Definition: mod_defs.h:106
Riemann_Solver LF_Solver
Definition: mod_defs.h:106
#define QUIT_PLUTO(e_code)
Definition: macros.h:125
void FD_Flux(const State_1D *state, int beg, int end, double *cmax, Grid *grid)
Definition: fd_flux.c:23