cuthillmckee.h

Go to the documentation of this file.
00001 #ifndef __cuthillmckee_h
00002 #define __cuthillmckee_h
00003 
00004 #include "columnstencil.h"
00005 
00006 
00007 /* CuthillMcKee
00008  *
00009  * macht nen CuthillMcKee fuer die ILU.
00010  * Bedeutet etwa, das immer Knoten mit
00011  * moeglichst wenig Nachbarn zuerst
00012  * genommen werden. Die Knoten einer Matrixzeile
00013  * stehen immer beieinander. Das soll die Bandbreite
00014  * klein halten.                                
00015  *
00016  * So Gehts:
00017  *
00018  * CuthillMcKee cmc (UnstructuredStencilPointer);
00019  * cmc.Permutate (perm);   // reiner McKee
00020  * cmc.Permutate (perm,
00021  *                Vertex2d(1,0) ) // in x-Richtung
00022  * 
00023  */
00024 
00025 namespace Gascoigne
00026 {
00027 class CuthillMcKee 
00028 {
00029     const ColumnStencil* S;
00030     
00031 //     Vertex2d dir2d;
00032 //     Vertex3d dir3d;
00033     int      dimension;
00034     std::vector<int> neighbors;
00035 
00036   public:
00037     CuthillMcKee (const StencilInterface *s);
00038     CuthillMcKee ();
00039 
00040     void Permutate    (IntVector &perm);
00041 //     void Permutate    (IntVector &perm, const Vertex2d v);
00042 //     void Permutate    (IntVector &perm, const Vertex3d v);
00043     
00044 //     bool operator()(int i,int j) const;
00045 };
00046 }
00047 
00048 #endif

Generated on Thu Sep 14 10:34:38 2006 for Gascoigne by  doxygen 1.4.7