HydroCODE_1D 0.1
This is a implementation of fully explict forward Euler scheme for 1-D Euler equations of motion on Lagrangian/Eulerian coordinate
riemann_solver.h
浏览该文件的文档.
1
7#ifndef RIEMANNSOLVER_H
8#define RIEMANNSOLVER_H
9
10#include "../include/var_struc.h"
11
12
16#ifndef Riemann_solver_exact_single
17#define Riemann_solver_exact_single Riemann_solver_exact_Ben
18#endif
19
20/* exact Riemann solver (two-component flow) */
22// riemann_solver_exact_Ben.c
24double Riemann_solver_exact(double * U_star, double * P_star, const double gammaL, const double gammaR,
25 const double u_L, const double u_R, const double p_L, const double p_R,
26 const double c_L, const double c_R, _Bool * CRW,
27 const double eps, const double tol, int N);
29// riemann_solver_starPU.c
31double Riemann_solver_starPU(double * U_star, double * P_star, const double GammaL, const double GammaR,
32 const double UL, const double UR, const double PL, const double PR,
33 const double CL, const double CR, _Bool * CRW,
34 const double eps, const double TOLPRE, const int NRITER);
35/* exact Riemann solver (single-component flow) */
37// riemann_solver_exact_Ben.c
39double Riemann_solver_exact_Ben(double * U_star, double * P_star, const double gamma,
40 const double u_L, const double u_R, const double p_L, const double p_R,
41 const double c_L, const double c_R, _Bool * CRW,
42 const double eps, const double tol, const int N);
44// riemann_solver_exact_Toro.c
46double Riemann_solver_exact_Toro(double * U_star, double * P_star, const double gamma,
47 const double U_l, const double U_r, const double P_l, const double P_r,
48 const double c_l, const double c_r, _Bool * CRW,
49 const double eps, const double tol, const int N);
50
52// linear_grp_solver_LAG.c
54/* 1-D GRP solver (Lagrangian, two-component flow) */
55void linear_GRP_solver_LAG (double *D, double *U, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc);
57// linear_grp_solver_Edir.c
59/* 1-D GRP solver (Eulerian, single-component flow) */
60void linear_GRP_solver_Edir(double *D, double *U, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc);
61
62/* 2-D GRP solver (ALE, two-component flow) */
64// linear_grp_solver_Edir_Q1D.c
66void linear_GRP_solver_Edir_Q1D(double *wave_speed, double *D, double *U, double *U_star, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc);
68// linear_grp_solver_Edir_G2D.c
70void linear_GRP_solver_Edir_G2D(double *wave_speed, double *D, double *U, double *U_star, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc);
71
73// linear_grp_solver_radial_LAG.c
75void AcousticRLagTangent(double *dire, double *U_star, const struct i_f_var * ifv_L, const struct i_f_var * ifv_R,
76 const double r, const double M, const double eps);
77void GRPsolverRLag(double *wave_speed, double *dire, double *U_star, const struct i_f_var * ifv_L, const struct i_f_var * ifv_R,
78 const double r, const double M, const double eps, const double atc);
79
80
81/* HLL solver (single-component flow) */
83// hll_2D_solver.c
85void HLL_2D_solver(double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R);
86
87/* Roe solver (single-component flow) */
89// roe_solver.c
91void Roe_solver (double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double delta);
93// roe_2D_solver.c
95void Roe_2D_solver(double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double delta);
97// roe_hll_solver.c
99void Roe_HLL_solver(double *V_mk, double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double delta);
100
101#endif
double Riemann_solver_exact_Ben(double *U_star, double *P_star, const double gamma, const double u_L, const double u_R, const double p_L, const double p_R, const double c_L, const double c_R, _Bool *CRW, const double eps, const double tol, const int N)
EXACT RIEMANN SOLVER FOR A γ-Law Gas
void HLL_2D_solver(double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R)
void linear_GRP_solver_Edir(double *D, double *U, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc)
A direct Eulerian GRP solver for unsteady compressible inviscid flow in one space dimension.
double Riemann_solver_exact(double *U_star, double *P_star, const double gammaL, const double gammaR, const double u_L, const double u_R, const double p_L, const double p_R, const double c_L, const double c_R, _Bool *CRW, const double eps, const double tol, int N)
EXACT RIEMANN SOLVER FOR Two-Component γ-Law Gas
void AcousticRLagTangent(double *dire, double *U_star, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double r, const double M, const double eps)
void Roe_2D_solver(double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double delta)
double Riemann_solver_starPU(double *U_star, double *P_star, const double GammaL, const double GammaR, const double UL, const double UR, const double PL, const double PR, const double CL, const double CR, _Bool *CRW, const double eps, const double TOLPRE, const int NRITER)
void GRPsolverRLag(double *wave_speed, double *dire, double *U_star, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double r, const double M, const double eps, const double atc)
void linear_GRP_solver_LAG(double *D, double *U, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc)
A Lagrangian GRP solver for unsteady compressible inviscid two-component flow in one space dimension.
void Roe_HLL_solver(double *V_mk, double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double delta)
void Roe_solver(double *F, double *lambda_max, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double delta)
void linear_GRP_solver_Edir_G2D(double *wave_speed, double *D, double *U, double *U_star, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc)
void linear_GRP_solver_Edir_Q1D(double *wave_speed, double *D, double *U, double *U_star, const struct i_f_var *ifv_L, const struct i_f_var *ifv_R, const double eps, const double atc)
double Riemann_solver_exact_Toro(double *U_star, double *P_star, const double gamma, const double U_l, const double U_r, const double P_l, const double P_r, const double c_l, const double c_r, _Bool *CRW, const double eps, const double tol, const int N)
EXACT RIEMANN SOLVER FOR THE EULER EQUATIONS
Interfacial Fluid VARiables.
Definition: var_struc.h:116