00001 #include "mumm.h" 00002 #include "transportbase.h" 00003 00004 00005 MUMM::MUMM(OrthoMesh &mesh,VecDouble &K,Function1D &fMobT) 00006 :m_mesh(mesh),m_K(K),_fMobT(fMobT) 00007 { 00008 assert(mesh.numElemZ()==1); 00009 _vMobT.reinit(mesh.numCells()); 00010 } 00011 00012 void MUMM::iterate(TransportBase &trans) 00013 { 00014 //vMobT = Transport.SW 00015 trans.getSolutionAtCells().getComponent(_vMobT,0); 00016 _fMobT.evaluate(_vMobT); 00017 const double *d=&(_vMobT(0)); 00018 00019 } 00020 00021 00022 00023 00024 void MUMM::getNormalVelocityAtFaces(VecDouble &vFNC) 00025 { 00026 OrthoMesh::Cell_It cell = m_mesh.begin_cell(); 00027 OrthoMesh::Cell_It endc = m_mesh.end_cell(); 00028 for(;cell!=endc;cell++) 00029 { 00030 double QL,QR,QD,QU; 00031 00032 //Get the QL,QR,QD,QU .....cell->index() 00033 00034 00035 vFNC(cell->face_index_up()) = 0; 00036 vFNC(cell->face_index_bottom()) =0; 00037 00038 vFNC(cell->face_index_left())=QL; 00039 vFNC(cell->face_index_right())=QR; 00040 vFNC(cell->face_index_front())=QD; 00041 vFNC(cell->face_index_back())=QU; 00042 } 00043 00044 } 00045 00046 const VecDouble& MUMM::getPressureAtCells() 00047 { 00048 return m_P; 00049 } 00050 00051 void MUMM::printOutput() 00052 { 00053 00054 } 00055 00056 //#########################PUT YOU SOURCE CODE HERE######################## 00057 00058