00001
00010 #ifndef FLUX_CALC_HEADER_ALREADY_INCLUDED
00011
00012
00013 #include "../../gas_models/source/gas.h"
00014 #include "../../geometry/source/geom.h"
00015
00026 #define FLUX_RIEMANN 0
00027 #define FLUX_AUSM 1
00028 #define FLUX_EFM 2
00029 #define FLUX_AUSMDV 3
00030 #define FLUX_ADAPTIVE 4
00031
00033 struct flow_state
00034 {
00035 struct gas_data gas;
00036 struct Vector3D vel;
00037 double M;
00038 int S;
00039 };
00040
00042 struct flux_data_1D
00043 {
00044 double mass;
00045 double energy;
00046 struct Vector3D npq_mom;
00047 struct Vector3D n;
00048 struct Vector3D t1;
00049 struct Vector3D t2;
00050 struct Vector3D xyz_mom;
00051 double species[NSPECD];
00052 double re_vib[NVIBD];
00053 double re_e;
00054 };
00055
00056
00057
00058
00059
00060 int set_flux_calculator(int iflux);
00061 int get_flux_calculator(void);
00062 int copy_gas_state(struct flow_state *from_gs, struct flow_state *to_gs);
00063 int compute_interface_flux(struct flow_state Lft[],
00064 struct flow_state Rght[],
00065 struct flux_data_1D IF[], int first, int last);
00066 int compute_interface_flux_3D(struct flow_state Lft[],
00067 struct flow_state Rght[],
00068 struct flux_data_1D IF[], int first, int last);
00069
00070
00071 int rivp(struct flow_state QL[],
00072 struct flow_state QR[],
00073 struct flow_state QIF[],
00074 double WSL[], double WSR[], int first, int last);
00075
00076 int rivp_stage_3(struct flow_state QL[],
00077 struct flow_state QR[],
00078 struct flow_state QLstar[],
00079 struct flow_state QRstar[],
00080 double WSL[], double WSR[],
00081 double geff[], struct flow_state QIF[], int first, int last);
00082
00083
00084 int ausm(struct flow_state QL[],
00085 struct flow_state QR[],
00086 struct flow_state QIF[],
00087 double WSL[], double WSR[], int first, int last);
00088
00089
00090 int efmflx(struct flow_state Lft[],
00091 struct flow_state Rght[],
00092 struct flux_data_1D IF[], int first, int last);
00093 int exxef(double sn, double *ex, double *ef);
00094
00095
00096 int ausmdv(struct flow_state Lft[],
00097 struct flow_state Rght[],
00098 struct flux_data_1D IF[], int first, int last);
00099
00100
00101 int adaptive_flux(struct flow_state Lft[],
00102 struct flow_state Rght[],
00103 struct flux_data_1D IF[], int first, int last);
00104
00105
00106 #define FLUX_CALC_HEADER_ALREADY_INCLUDED
00107 #endif
00108