00001 /* ----------------------------------------------------------------------------------------- 00002 $Id: domdec.h 640 2007-04-23 09:22:59Z svacek $ 00003 $Author: svacek $ 00004 ----------------------------------------------------------------------------------------- */ 00005 #ifndef _DOMDEC_SVH 00006 #define _DOMDEC_SVH 00007 #include "constants.h" 00008 00009 /* CONSTRUCTION(GREEDY/INIT) */ 00010 void DestructSubdomains(); 00011 void ConstructSubdomains(long NN); 00012 long ElementDegree(long iELE); 00013 long AddNeigbourElements2FIFO(long iELE,long *FIFO,const long nFIFO); 00014 long FindMinimalDegreeElement(); 00015 void MeshPartitioning(long NN); 00016 void SaveSubdomains(); 00017 00018 /* PROLONGATION */ 00019 /*void ConstructProlongation(); 00020 void DestructProlongation(); 00021 void ConstructRestriction(); 00022 void FreeRestriction(); 00023 void FillCurrentRestriction(long idxDomain);*/ 00024 00025 /* CONTROL */ 00026 /*void CheckSubdomains(); 00027 void SaveSubdomains(); 00028 void CheckProlongation();*/ 00029 00030 00031 /* INIT/FINISH */ 00032 /*void InitDomainDecomposition(); 00033 void FinishDomainDecomposition(); 00034 void DestructDDTemporary(); 00035 void ConstructDDTemporary();*/ 00036 00037 00038 /* Sub-matrices */ 00039 /* 00040 void PrecondMDD(vector _out); 00041 void PrecondMDDSubdomain(long idxDomain,const vector _rhs,vector _sol); 00042 void DestructSubdomainLU(); 00043 void ConstructSubdomainLU(const sparse S); 00044 void SetDD(sparse *GLBS,vector *b,vector *u); 00045 void RestrictMatrices(const sparse GLBA,const vector ww); 00046 void RestrictMatrix(long idxDomain,const sparse GLBA);*/ 00047 00048 /* AMG */ 00049 /*void UpdateDegrees(const sparse K,short *COLOR,short *DEGREE); 00050 long FindMinimalDegree(short *COLOR,short *DEGREE,long REFn); 00051 void AMG_Prolongation(sparse *P,const sparse REF);*/ 00052 00053 /* 00054 void InitDDMatrices(const sparse _A); 00055 void FreeDDMatrices(); 00056 void ConstructSubdomainLU(const sparse S); 00057 void DestructSubdomainLU(); 00058 void RestrictMatrix(long idxDomain,const sparse _A); 00059 void RestrictMatrices(const sparse _A); */ 00060 #endif