00001 #ifndef _MY_FaceFluxFunction_ 00002 #define _MY_FaceFluxFunction_ 00003 #include "orthomesh.h" 00004 #include "dynamicbase.h" 00005 #include "faceinfo.h" 00015 class FaceFluxFunction 00016 { 00017 private: 00018 unsigned m_nComponents; 00019 00020 protected: 00021 00022 public: 00023 FaceFluxFunction(unsigned nComponents){m_nComponents=nComponents;} 00024 virtual ~FaceFluxFunction(){} 00025 unsigned numComponents(){return m_nComponents;} 00026 00027 00028 virtual void fluxAtFace(VecDouble &vFlux, const FaceInfo &face,const VecDouble &Q1,const VecDouble &Q2); 00029 00030 virtual void exactFluxAtFace(VecDouble &vFlux, const FaceInfo &face,const VecDouble &Q1,const VecDouble &Q2); 00031 00032 virtual double maxLocalCharVelocity(const FaceInfo &face,const VecDouble &Q1, const VecDouble &Q2); 00033 00034 00035 00036 00037 00038 /* 00039 virtual void fluxAtFace(VecDouble &vout, const FaceInfo &face,const VecDouble &Q1,const VecDouble &Q2)=0; 00040 virtual double maxLocalCharVelocity(const FaceInfo &face,const VecDouble &Q1, const VecDouble &Q2)=0; 00041 */ 00042 00043 virtual void updateDynamicData(DynamicBase &dynMod); 00044 virtual void maxGlobalCharVelocity(double vel[3]); 00045 virtual void transformToFlash(VecDouble &vec); 00046 00047 }; 00048 00049 #endif 00050