Classes | Functions

rsolvers/hlld_sr.c File Reference

Compute 1D fluxes using the relativistic HLLD Riemann solver described by Mignone, Ugliano, and Bodo. More...

Go to the source code of this file.

Classes

struct  CONS_STATE
struct  Riemann_State

Functions

void flux_LR (Cons1DS U, Prim1DS W, Cons1DS *flux, Real Bx, Real *p)
Real Fstar (Riemann_State *PaL, Riemann_State *PaR, Real *Sc, Real p, const Real Bx)
int GET_RIEMANN_STATE (Riemann_State *Pv, Real p, int side, const Real Bx)
 Get riemann states.
void GET_ASTATE (Riemann_State *Pa, Real p, const Real Bx)
 Compute states aL and aR (behind fast waves).
void GET_CSTATE (Riemann_State *PaL, Riemann_State *PaR, Real p, CONS_STATE *Uc, const Real Bx)
 Compute state cL and cR across contact mode.
void getPtot (const Real Bx, const Prim1DS W, Real *pt)
 Compute total pressure /***************************************************************.
void getMaxSignalSpeeds_pluto (const Prim1DS Wl, const Prim1DS Wr, const Real Bx, Real *low, Real *high)
void getMaxSignalSpeeds_echo (const Prim1DS Wl, const Prim1DS Wr, const Real Bx, Real *low, Real *high)
void getVChar_echo (const Prim1DS W, const Real Bx, Real *lml, Real *lmr)
void getVChar_pluto (const Prim1DS W, const Real Bx, Real *lml, Real *lmr)
int QUARTIC (Real b, Real c, Real d, Real e, Real z[])
int CUBIC (Real b, Real c, Real d, Real z[])
void fluxes (const Cons1DS Ul, const Cons1DS Ur, const Prim1DS Wl, const Prim1DS Wr, const Real Bxi, Cons1DS *pFlux)
 Calculates fluxes of CONSERVED variables.
void entropy_flux (const Cons1DS Ul, const Cons1DS Ur, const Prim1DS Wl, const Prim1DS Wr, const Real Bx, Real *pFlux)
 Calculate entropy flux.

Detailed Description

Compute 1D fluxes using the relativistic HLLD Riemann solver described by Mignone, Ugliano, and Bodo.

PURPOSE: Compute 1D fluxes using the relativistic Riemann solver described by Mignone, Ugliano, and Bodo. For the equivalent hydro-only code, refer to hllc_sr.c

REFERENCES:

============================================================================

Definition in file hlld_sr.c.


Function Documentation

int CUBIC ( Real  b,
Real  c,
Real  d,
Real  z[] 
)

Definition at line 1239 of file hlld_sr.c.

References f, and n.

void entropy_flux ( const Cons1DS  Ul,
const Cons1DS  Ur,
const Prim1DS  Wl,
const Prim1DS  Wr,
const Real  Bx,
Real pFlux 
)

Calculate entropy flux.

Compute entropy flux.

Definition at line 737 of file hlld_sr.c.

References Cons1DS::d, Prim1DS::d, Gamma, getMaxSignalSpeeds_echo(), getMaxSignalSpeeds_pluto(), Prim1DS::P, Pl, Pr, and Prim1DS::Vx.

Here is the call graph for this function:

void flux_LR ( Cons1DS  U,
Prim1DS  W,
Cons1DS flux,
Real  Bx,
Real p 
)
void fluxes ( const Cons1DS  Ul,
const Cons1DS  Ur,
const Prim1DS  Wl,
const Prim1DS  Wr,
const Real  Bxi,
Cons1DS pFlux 
)

Calculates fluxes of CONSERVED variables.

Computes 1D fluxes Input Arguments:

  • Bxi = B in direction of slice at cell interface
  • Ul,Ur = L/R-states of CONSERVED variables at cell interface Output Arguments:
  • pFlux = pointer to fluxes of CONSERVED variables at cell interface.

Computes 1D fluxes.

Compute 1D fluxes Input Arguments:

  • Bxi = B in direction of slice at cell interface
  • Ul,Ur = L/R-states of CONSERVED variables at cell interface.

Computes 1D fluxes Input Arguments:

  • Ul,Ur = L/R-states of CONSERVED variables at cell interface
  • Wl,Wr = L/R-states of PRIMITIVE variables at cell interface Output Arguments:
  • pFlux = pointer to fluxes of CONSERVED variables at cell interface.

Computes 1D fluxes Input Arguments:

  • Ul,Ur = L/R-states of CONSERVED variables at cell interface Output Arguments:
  • pFlux = pointer to fluxes of CONSERVED variables at cell interface.

Computes 1D fluxes Input Arguments:

  • Bxi = B in direction of 1D slice at cell interface
  • Ul,Ur = L/R-states of CONSERVED variables at cell interface Output Arguments:
  • pFlux = pointer to fluxes of CONSERVED variables at cell interface.

Computes 1D fluxes using exact special relativistic Riemann solver.

Computes fluxes of CONSERVES variables.

Input Arguments:

  • Bxi = B in direction of slice at cell interface
  • Ul,Ur = L/R-states of CONSERVED variables at cell interface Output Arguments:
  • pFlux = pointer to fluxes of CONSERVED variables at cell interface

Input Arguments:

  • Bxi = B in direction of slice at cell interface
  • Ul,Ur = L/R-states of CONSERVED variables at cell interface Output Arguments:
  • pF = pointer to fluxes of CONSERVED variables at cell interface

Input Arguments:

  • Ul,Ur = L/R-states of CONSERVED variables at cell interface
  • Bx = B in direction of slice at cell interface Output Arguments:
  • pF = pointer to fluxes of CONSERVED variables at cell interface

--------------------------------------------------------------------------

Output Arguments:

  • Flux = fluxes of CONSERVED variables at cell interface

Input Arguments:

  • Ul,Ur = L/R-states of CONSERVED variables at cell interface
  • Bx = B in direction of slice at cell interface Output Arguments:
  • pFlux = pointer to fluxes of CONSERVED variables at cell interface

Definition at line 98 of file hlld_sr.c.

References a, CONS_STATE::B1, CONS_STATE::B2, CONS_STATE::B3, Cons1DS::By, Cons1DS::Bz, check_Prim1D(), Cons1DS::d, CONS_STATE::DN, Cons1DS::E, CONS_STATE::EN, f, Riemann_State::fail, flux_LR(), Fstar(), GET_ASTATE(), GET_CSTATE(), getMaxSignalSpeeds_echo(), getMaxSignalSpeeds_pluto(), getPtot(), CONS_STATE::M1, CONS_STATE::M2, CONS_STATE::M3, Cons1DS::Mx, Cons1DS::My, Cons1DS::Mz, Prim1DS::P, p0, Pl, Pr, Riemann_State::R, Riemann_State::S, Riemann_State::Sa, and Riemann_State::u.

Here is the call graph for this function:

Real Fstar ( Riemann_State PaL,
Riemann_State PaR,
Real Sc,
Real  p,
const Real  Bx 
)
void GET_ASTATE ( Riemann_State Pa,
Real  p,
const Real  Bx 
)

Compute states aL and aR (behind fast waves).

Definition at line 621 of file hlld_sr.c.

References CONS_STATE::B1, CONS_STATE::B2, CONS_STATE::B3, CONS_STATE::DN, CONS_STATE::EN, CONS_STATE::M1, CONS_STATE::M2, CONS_STATE::M3, Riemann_State::R, Riemann_State::S, Riemann_State::u, Riemann_State::vx, Riemann_State::vy, and Riemann_State::vz.

Referenced by fluxes(), and GET_CSTATE().

Here is the caller graph for this function:

void GET_CSTATE ( Riemann_State PaL,
Riemann_State PaR,
Real  p,
CONS_STATE Uc,
const Real  Bx 
)

Compute state cL and cR across contact mode.

Definition at line 646 of file hlld_sr.c.

References CONS_STATE::B1, CONS_STATE::B2, CONS_STATE::B3, Bxc, Riemann_State::By, Riemann_State::Bz, CONS_STATE::DN, CONS_STATE::EN, GET_ASTATE(), Riemann_State::K2, Riemann_State::Kx, Riemann_State::Ky, Riemann_State::Kz, CONS_STATE::M1, CONS_STATE::M2, CONS_STATE::M3, Riemann_State::Sa, Riemann_State::sw, Riemann_State::u, Riemann_State::vx, Riemann_State::vy, and Riemann_State::vz.

Referenced by fluxes().

Here is the call graph for this function:

Here is the caller graph for this function:

int GET_RIEMANN_STATE ( Riemann_State Pv,
Real  p,
int  side,
const Real  Bx 
)

Get riemann states.

Return 1 if succesfull, 0 if w < 0 is encountered.

  • side = -1 : means left
  • side = 1 : means right

Definition at line 574 of file hlld_sr.c.

References CONS_STATE::B1, CONS_STATE::B2, CONS_STATE::B3, Riemann_State::Bx, Riemann_State::By, Riemann_State::Bz, C, CONS_STATE::EN, Riemann_State::K2, Riemann_State::Kx, Riemann_State::Ky, Riemann_State::Kz, CONS_STATE::M1, CONS_STATE::M2, CONS_STATE::M3, Riemann_State::R, Riemann_State::S, s, Riemann_State::sw, Riemann_State::vx, Riemann_State::vy, Riemann_State::vz, vz, and Riemann_State::w.

Referenced by Fstar().

Here is the caller graph for this function:

void getMaxSignalSpeeds_echo ( const Prim1DS  Wl,
const Prim1DS  Wr,
const Real  Bx,
Real low,
Real high 
)

Definition at line 1040 of file hlld_sr.c.

References getVChar_echo().

Here is the call graph for this function:

void getMaxSignalSpeeds_pluto ( const Prim1DS  Wl,
const Prim1DS  Wr,
const Real  Bx,
Real low,
Real high 
)

Definition at line 890 of file hlld_sr.c.

References getVChar_pluto().

Here is the call graph for this function:

void getPtot ( const Real  Bx,
const Prim1DS  W,
Real pt 
)

Compute total pressure /***************************************************************.

Definition at line 723 of file hlld_sr.c.

References Prim1DS::By, Prim1DS::Bz, Prim1DS::P, Prim1DS::Vx, Prim1DS::Vy, and Prim1DS::Vz.

Referenced by fluxes().

Here is the caller graph for this function:

void getVChar_echo ( const Prim1DS  W,
const Real  Bx,
Real lml,
Real lmr 
)
void getVChar_pluto ( const Prim1DS  W,
const Real  Bx,
Real lml,
Real lmr 
)

Definition at line 905 of file hlld_sr.c.

References b0, Prim1DS::By, Prim1DS::Bz, Prim1DS::d, Gamma, Gamma_1, lambda, Prim1DS::P, Q, QUARTIC(), Prim1DS::Vx, Prim1DS::Vy, and Prim1DS::Vz.

Here is the call graph for this function:

int QUARTIC ( Real  b,
Real  c,
Real  d,
Real  e,
Real  z[] 
)

Definition at line 1139 of file hlld_sr.c.

References CUBIC(), f, n, q, r, and s.

Here is the call graph for this function: