00001 #ifndef _MY__MixedHybridCompositionalSimplePw_
00002 #define _MY_MixedHybridCompositionalSimplePw_
00003 #include "mixedhybridcompositional.h"
00004
00005
00006
00007
00011 class MixedHybridCompositionalSimplePw : public MixedHybridCompositional
00012 {
00013 private:
00014
00015 protected:
00016 VecDouble m_vMobT;
00017 VecDouble m_vGravTerm;
00018 VecDouble m_vPc;
00019 VecDouble m_vKPc;
00020 bool m_bFirstIteration;
00021 ScalarBC m_pcbc;
00022 GeneralFunctionInterface &m_fpc;
00023
00024 void assemblySystem(SparseMatrix<double> &A,VecDouble &B, double dt, const VecDouble &vPw, const VecDouble &vK, const VecDouble &vPor, FlashCompositional &flash, GeneralFunctionInterface &fMobT, GeneralFunctionInterface &fFracFlux,GeneralFunctionInterface &fPc, double grav);
00025
00026
00027 public:
00028 MixedHybridCompositionalSimplePw(OrthoMesh &mesh,Function3D &fInitP,Function3D &fPrescribedVelocities, Function3D &fPrescribedPressure, Function3D &fTransportBC,const VecDouble &K, const VecDouble &vPor, GeneralFunctionInterface &fMobT, GeneralFunctionInterface &fFracFlux,GeneralFunctionInterface &pc,double grav, double dt, FlashCompositional &flash,LinearSolver &solver,int debugLevel);
00029 virtual ~MixedHybridCompositionalSimplePw(){}
00030 virtual void iterate(TransportBase &trans);
00031 void setScalarBC(OrthoMesh &mesh,ScalarBC &bc,Function3D &fPressure,Function3D &fTransBC,GeneralFunctionInterface &fPc,FlashCompositional &flash);
00032
00033 virtual void rollback();
00034 };
00035
00036 #endif