00001 #ifndef _MY__BiphasicDiff_ 00002 #define _MY_BiphasicDiff_ 00003 #include "diffusivestep.h" 00004 #include "orthomesh.h" 00005 #include "linearsolver.h" 00006 #include "mixedhybridbase.h" 00007 00008 00017 class BiphasicDiff : public DiffusiveStep, public MixedHybridBase 00018 { 00019 private: 00020 OrthoMesh &m_mesh; 00021 SparsityPattern m_sparsePattern; 00022 SparseMatrix<double> m_A; 00023 VecDouble m_B; 00024 VecDouble m_vCoeff; 00025 LinearSolver& m_solver; 00026 const VecDouble &m_vK,&m_vPor; 00027 Function1D &m_fMobPc,&m_DfPc; 00028 HybridFaceBC m_bc; 00031 protected: 00032 00033 public: 00034 BiphasicDiff(OrthoMesh &mesh, const VecDouble &vK, const VecDouble &vPor,Function1D &fMobPc, Function1D &DfPc,LinearSolver &solver); 00035 virtual ~BiphasicDiff(){} 00036 virtual void iterate(double dt); 00037 virtual void printOutput(); 00038 00039 }; 00040 00041 #endif