Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

flux_calc.h

Go to the documentation of this file.
00001 
00010 #ifndef FLUX_CALC_HEADER_ALREADY_INCLUDED
00011 /* Go ahead and make some definitions... */
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  * Function prototypes...
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 /* rivp.c */
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 /* ausm.c */
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 /* efm.c */
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 /* ausmdv.c */
00096 int ausmdv(struct flow_state Lft[],
00097            struct flow_state Rght[],
00098            struct flux_data_1D IF[], int first, int last);
00099 
00100 /* adaptive_flux.c */
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 /* Before leaving, leave a mark... */
00106 #define FLUX_CALC_HEADER_ALREADY_INCLUDED
00107 #endif
00108 

Generated on Tue Oct 25 10:23:47 2005 for CFCFD by  doxygen 1.4.4