#include "../../gas_models/source/gas.h"
#include "../../geometry/source/geom.h"
Go to the source code of this file.
Data Structures | |
| struct | flow_state |
| Flow state on the one side of the interface. More... | |
| struct | flux_data_1D |
| Flux of mass, momentum, energy and species through the interface. More... | |
Defines | |
| #define | FLUX_RIEMANN 0 |
| Type of flux calculation... | |
| #define | FLUX_AUSM 1 |
| #define | FLUX_EFM 2 |
| #define | FLUX_AUSMDV 3 |
| #define | FLUX_ADAPTIVE 4 |
| #define | FLUX_CALC_HEADER_ALREADY_INCLUDED |
Functions | |
| int | set_flux_calculator (int iflux) |
| Sets a global variable to select the flux calculator. | |
| int | get_flux_calculator (void) |
| Returns the index of the selected flux calculator. | |
| int | copy_gas_state (struct flow_state *from_gs, struct flow_state *to_gs) |
| Copy the flow_state data (gas_data plus flow velocities.). | |
| int | compute_interface_flux (struct flow_state Lft[], struct flow_state Rght[], struct flux_data_1D IF[], int first, int last) |
| Compute the inviscid fluxes (in 2D) across the cell interfaces. | |
| int | compute_interface_flux_3D (struct flow_state Lft[], struct flow_state Rght[], struct flux_data_1D IF[], int first, int last) |
| Compute the inviscid fluxes (in 3D) across the cell interfaces. | |
| int | rivp (struct flow_state QL[], struct flow_state QR[], struct flow_state QIF[], double WSL[], double WSR[], int first, int last) |
| Compute flux using a solution to the 1D Riemann problem. | |
| int | rivp_stage_3 (struct flow_state QL[], struct flow_state QR[], struct flow_state QLstar[], struct flow_state QRstar[], double WSL[], double WSR[], double geff[], struct flow_state QIF[], int first, int last) |
| Interpolate interface state from intermediate states. | |
| int | ausm (struct flow_state QL[], struct flow_state QR[], struct flow_state QIF[], double WSL[], double WSR[], int first, int last) |
| Compute interface flux of mass, momentum and energy. | |
| int | efmflx (struct flow_state Lft[], struct flow_state Rght[], struct flux_data_1D IF[], int first, int last) |
| Compute the fluxes across an interface using the Equilibrium Flux Method of Macrossan & Pullin. | |
| int | exxef (double sn, double *ex, double *ef) |
| Compute exp(-x**2) and erf(x) with a polynomial approximation. | |
| int | ausmdv (struct flow_state Lft[], struct flow_state Rght[], struct flux_data_1D IF[], int first, int last) |
| Compute the fluxes across an interface. | |
| int | adaptive_flux (struct flow_state Lft[], struct flow_state Rght[], struct flux_data_1D IF[], int first, int last) |
| Compute the fluxes across an interface. | |
|
|
Type of flux calculation...
* FLUX_RIEMANN : 3-stage approximate Riemann solver. * FLUX_AUSM : AUSM flux-splitting * FLUX_EFM : Mike Macrossan's EFM flux calculation * FLUX_AUSMDV : Wada and Liou's flux calculator AIAA Paper 94-0083 * FLUX_ADAPTIVE : EFM near shocks, AUSMDV otherwise * |
|
||||||||||||||||||||||||
|
Compute the fluxes across an interface. This adaptive flux calculator uses uses the Equilibrium Flux Method of Macrossan & Pullin near shocks and AUSMDV away from shocks. The actual work is passed off to the original flux calculation functions.
|
|
||||||||||||||||||||||||||||||||
|
Compute interface flux of mass, momentum and energy. Given the initial LEFT and RIGHT states (QL and QR) either side of an interface, compute the interface state. This solution is returned as values of the flow quantities at the interface (QIF) and the velocities of the left and right waves.
* References ... * M. -S. Liou and C. J. Steffen Jr. * A new flux splitting scheme. * NASA Technical Memorandum 104404 * |
|
||||||||||||||||||||||||
|
Compute the fluxes across an interface.
* IF[i].mass : flux of mass across the interface (kg/s/m**2) * IF[i].n_mom : flux of normal momentum * IF[i].p_mom : flux of tangential momentum * IF[i].q_mom * IF[i].energy : flux of energy * IF[i].species[] : array of species fluxes * e_vib[] : vibrational energies * e_e : free-electron energy * |
|
||||||||||||||||||||||||
|
Compute the inviscid fluxes (in 2D) across the cell interfaces. This is the top-level function that calls the previously selected flux calculator. Much of the detailed work is delegated.
|
|
||||||||||||||||||||||||
|
Compute the inviscid fluxes (in 3D) across the cell interfaces. This is the top-level function that calls the previously selected flux calculator. Much of the detailed work is delegated.
|
|
||||||||||||
|
Copy the flow_state data (gas_data plus flow velocities.).
|
|
||||||||||||||||||||||||
|
Compute the fluxes across an interface using the Equilibrium Flux Method of Macrossan & Pullin.
* interface data -- contains... * flux of mass across the interface (kg/s/m**2) * flux of normal momentum * flux of tangential momentum * flux of energy * array of species fluxes * vibrational energies * free-electron energy * |
|
||||||||||||||||
|
Compute exp(-x**2) and erf(x) with a polynomial approximation.
|
|
||||||||||||||||||||||||||||||||
|
Compute flux using a solution to the 1D Riemann problem. Given the initial LEFT and RIGHT states (QL and QR) either side of an interface, compute the solution to the one-dimensional Riemann problem when the interface is removed. This solution is returned as values of the flow quantities at the interface (QIF) and the velocities of the left and right waves.
* References ... * ---------- * * Most of this solver is now documented in * P. A. Jacobs "An approximate Riemann solver for hypervelocity * flows." AIAA Journal vol. 30(10) 1992. * * S.R. Chakravarthy "Development of upwind schemes for the * Euler equations" * NASA Contractor Report 4043, 1987. * * P. Colella "Glimm's method for gas dynamics" * SIAM J. Sci. Stat. Comput. vol.3, 76-110, 1982. * * T. A. Edwards (1988) * "The effect of exhaust plume/afterbody interaction on * installed scramjet performance." * NASA Technical Memorandum 101033 * * H.M. Glaz & A.B. Wardlaw "A high-order Godunov scheme for * steady supersonic gas dynamics" J. Comput. Phys. vol.58, * pp157-187, 1985. * * J.J. Gottlieb & C.P.T. Groth "Assessment of Riemann solvers * for unsteady one-dimensional inviscid flows of perfect gases" * J. Comput. Phys. vol.78(2), 437-458, 1988. * * B. van Leer "On the relation between the upwind-differencing * schemes of Godunov, Engquist-Osher & Roe" * SIAM J. Sci. Stat. Comput. vol.5(1), 1-20, 1984. * * B. van Leer, W-T. Lee & K.G. Powell "Sonic point capturing" * AIAA-89-1945-CP (AIAA 9th CFD conference), 1989. * * H.W. Liepmann & A.Roshko "Elements of Gas Dynamics" * Wiley, 1957. * * S. Osher & F. Solomon "Upwind difference schemes for * hyperbolic systems of conservation laws" * Mathematics of Computation, vol.38, 339-, 1982. * * P.L. Roe "Some contributions to the modelling of * discontinuous flows" Lectures in Applied Mathematics, * Vol. 22 (part 2), 163-193, 1985 * * E. F. Toro "A linearized Riemann solver for the time- * dependent Euler equations of gas-dynamics" * Proc. R. Soc. Lond. A Vol. 434, 683-693 (1991) * * M. Vinokur & Y. Liu (1988) * "Equilibrium gas flow computations II: An analysis of * numerical formulations of conservation laws." * AIAA Paper 88-0127 * |
|
||||||||||||||||||||||||||||||||||||||||||||
|
Interpolate interface state from intermediate states. Given the initial LEFT and RIGHT states (QL and QR) either side of an interface and the intermediate states, interpolate (or select) the interface state.
|
1.4.4