PLUTO
set_solver.c File Reference

Return a pointer to a Riemann solver function. More...

#include "pluto.h"
Include dependency graph for set_solver.c:

Go to the source code of this file.

Functions

Riemann_SolverSetSolver (const char *solver)
 

Detailed Description

Return a pointer to a Riemann solver function.

Author
A. Mignone (migno.nosp@m.ne@p.nosp@m.h.uni.nosp@m.to.i.nosp@m.t)
Date
June 5, 2013

Definition in file set_solver.c.

Function Documentation

Riemann_Solver* SetSolver ( const char *  solver)

Depending on the choice of the Riemann solver specified in pluto.ini, return a pointer to the corresponding Riemann solver function

Definition at line 13 of file set_solver.c.

20 {
21 
22  #ifdef FINITE_DIFFERENCE
23  return (&FD_Flux);
24  #endif
25 
26 /* ------------------------------------------------------
27  Set Pointers for SOLVERS
28  ------------------------------------------------------ */
29 
30  #if EOS == IDEAL
31 
32  if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
33  else if (!strcmp(solver, "roe")) return (&Roe_Solver);
34  else if (!strcmp(solver, "hlle") ||
35  !strcmp(solver, "hll")) return (&HLL_Solver);
36  else if (!strcmp(solver, "hllc")) return (&HLLC_Solver);
37  else if (!strcmp(solver, "hlld")) return (&HLLD_Solver);
38 /*
39  else if (!strcmp(solver, "musta")) return (&MUSTA_Solver);
40 */
41 
42  #elif EOS == PVTE_LAW
43  if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
44  else if (!strcmp(solver, "hlle") ||
45  !strcmp(solver, "hll")) return (&HLL_Solver);
46  else if (!strcmp(solver, "hllc")) return (&HLLC_Solver);
47  else if (!strcmp(solver, "hlld")) return (&HLLD_Solver);
48 
49  #elif EOS == ISOTHERMAL
50 
51  if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
52  else if (!strcmp(solver, "roe")) return (&Roe_Solver);
53  else if (!strcmp(solver, "hlle") ||
54  !strcmp(solver, "hll")) return (&HLL_Solver);
55  else if (!strcmp(solver, "hlld")) return (&HLLD_Solver);
56 /*
57  else if (!strcmp(solver, "musta")) return (&MUSTA_Solver);
58 */
59 
60  #elif EOS == BAROTROPIC
61 
62  if (!strcmp(solver, "tvdlf")) return (&LF_Solver);
63  else if (!strcmp(solver, "hlle") ||
64  !strcmp(solver, "hll")) return (&HLL_Solver);
65 
66  #endif
67 
68  print1 ("\n! SetSolver: '%s' is not available.\n", solver);
69  QUIT_PLUTO(1);
70 
71 }
void print1(const char *fmt,...)
Definition: amrPluto.cpp:511
Riemann_Solver HLLC_Solver
Definition: mod_defs.h:106
Riemann_Solver Roe_Solver
Definition: mod_defs.h:106
Riemann_Solver HLLD_Solver
Definition: mod_defs.h:221
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

Here is the call graph for this function: