00001 #ifndef  _MY_AssemblySystemBase_
00002 #define  _MY_AssemblySystemBase_
00003 
00004 
00005 
00006 
00007 #include <lac/vector.h>
00008 #include <lac/full_matrix.h>
00009 #include <lac/sparse_matrix.h>
00010 #include <vector>
00011 #include "eqvart.h"
00012 #include "globals.h"
00013 #include "sfunctions.h"
00014 #include "vecdouble.h"
00015 
00019 class AssemblySystemBase 
00020 {
00021  private:
00022 
00023  public:
00024 
00025 
00026   AssemblySystemBase(){}
00027   ~AssemblySystemBase(){}
00028 
00029   static void applyBoundaryValue(MapIntDouble &boundary_values,SparseMatrix<double> &matrix,double factor=1.0);
00030   static void applyBoundaryValue(MapIntDouble &boundary_values,VecDouble &right_hand_side,double factor=1.0);
00031   static void applyBoundaryValue(MapIntDouble &boundary_values,BlockVecDouble &right_hand_side,double factor=1.0);
00032   static void applySymetricBoundaryValue(MapIntDouble &boundary_values,SparseMatrix<double> &matrix, VecDouble &right_hand_side);
00033   static void applySymetricBoundaryValue(MapIntDouble &boundary_values,BlockMatrix &matrix, BlockVecDouble &sol,BlockVecDouble &right_hand_side);
00034 
00035 };
00036 
00037 #endif