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