00001 // File: ~/system_of_eqn/linearSOE/LawSolver/SymSparseLinSolver.h 00002 // 00003 // Written: Jun Peng 00004 // Created: 12/98 00005 // Revision: A 00006 // 00007 // Description: This file contains the class definition for 00008 // SymSparseinSolver. It solves the SymSparseLinSOEobject by calling 00009 // some "C" functions. The solver used here is generalized sparse 00010 // solver. The user can choose three different ordering schema. 00011 // 00012 // What: "@(#) SymSparseLinSolver.h, revA" 00013 00014 00015 #ifndef SymSparseLinSolver_h 00016 #define SymSparseLinSolver_h 00017 00018 #include <LinearSOESolver.h> 00019 00020 00021 #include <SymSparseLinSOE.h> 00022 00024 class SymSparseLinSolver : public LinearSOESolver 00025 { 00026 public: 00028 SymSparseLinSolver(); 00030 ~SymSparseLinSolver(); 00031 00033 int solve(void); 00035 int setSize(void); 00036 00038 int setLinearSOE(SymSparseLinSOE &theSOE); 00039 00041 int sendSelf(int cTag, Channel &theChannel); 00043 int recvSelf(int cTag, 00044 Channel &theChannel, 00045 FEM_ObjectBroker &theBroker); 00046 protected: 00047 00048 private: 00049 00051 SymSparseLinSOE *theSOE; 00053 bool factored; 00054 00055 }; 00056 00057 #endif 00058 00059 ÿ