00001 00005 class AMD : public RenumUnknowns 00006 00007 { 00008 protected: 00009 00010 virtual void renumber 00011 (int& N, 00012 VecSimple(int)& PE, 00013 VecSimple(int)& IW, 00014 VecSimple(int)& LEN, 00015 int& IWLEN, 00016 int& PFREE, 00017 VecSimple(int)& NV, 00018 VecSimple(int)& NEXT, 00019 VecSimple(int)& LAST, 00020 VecSimple(int)& HEAD, 00021 VecSimple(int)& ELEN, 00022 VecSimple(int)& DEGREE, 00023 int& NCMPA, 00024 VecSimple(int)& W, 00025 int& IOVFLO) = 0; 00026 00027 public: 00028 00029 AMD () ; 00030 ~AMD () {} 00031 00032 virtual void renumberNodes (GridFE& grid); 00033 virtual void renumberUnknowns (SparseDS& structure); 00034 }; 00035 00036 00079 class AMDbar : public AMD 00080 00081 { 00082 protected: 00083 00084 virtual void renumber 00085 (int& N, 00086 VecSimple(int)& PE, 00087 VecSimple(int)& IW, 00088 VecSimple(int)& LEN, 00089 int& IWLEN, 00090 int& PFREE, 00091 VecSimple(int)& NV, 00092 VecSimple(int)& NEXT, 00093 VecSimple(int)& LAST, 00094 VecSimple(int)& HEAD, 00095 VecSimple(int)& ELEN, 00096 VecSimple(int)& DEGREE, 00097 int& NCMPA, 00098 VecSimple(int)& W, 00099 int& IOVFLO); 00100 00101 public: 00102 00103 AMDbar () ; 00104 ~AMDbar () {} 00105 }; 00106 00107 00128 class AMDatr : public AMD 00129 00130 { 00131 protected: 00132 00133 virtual void renumber 00134 (int& N, 00135 VecSimple(int)& PE, 00136 VecSimple(int)& IW, 00137 VecSimple(int)& LEN, 00138 int& IWLEN, 00139 int& PFREE, 00140 VecSimple(int)& NV, 00141 VecSimple(int)& NEXT, 00142 VecSimple(int)& LAST, 00143 VecSimple(int)& HEAD, 00144 VecSimple(int)& ELEN, 00145 VecSimple(int)& DEGREE, 00146 int& NCMPA, 00147 VecSimple(int)& W, 00148 int& IOVFLO); 00149 00150 public: 00151 00152 AMDatr () ; 00153 ~AMDatr () {} 00154 }; 00155 00156 00176 class AMDexa : public AMD 00177 00178 { 00179 protected: 00180 00181 virtual void renumber 00182 (int& N, 00183 VecSimple(int)& PE, 00184 VecSimple(int)& IW, 00185 VecSimple(int)& LEN, 00186 int& IWLEN, 00187 int& PFREE, 00188 VecSimple(int)& NV, 00189 VecSimple(int)& NEXT, 00190 VecSimple(int)& LAST, 00191 VecSimple(int)& HEAD, 00192 VecSimple(int)& ELEN, 00193 VecSimple(int)& DEGREE, 00194 int& NCMPA, 00195 VecSimple(int)& W, 00196 int& IOVFLO); 00197 00198 public: 00199 00200 AMDexa () ; 00201 ~AMDexa () {} 00202 }; 00203 00204 00225 class AMDhaf : public AMD 00226 00227 { 00228 protected: 00229 00230 virtual void renumber 00231 (int& N, 00232 VecSimple(int)& PE, 00233 VecSimple(int)& IW, 00234 VecSimple(int)& LEN, 00235 int& IWLEN, 00236 int& PFREE, 00237 VecSimple(int)& NV, 00238 VecSimple(int)& NEXT, 00239 VecSimple(int)& LAST, 00240 VecSimple(int)& HEAD, 00241 VecSimple(int)& ELEN, 00242 VecSimple(int)& DEGREE, 00243 int& NCMPA, 00244 VecSimple(int)& W, 00245 int& IOVFLO); 00246 00247 public: 00248 00249 AMDhaf () ; 00250 ~AMDhaf () {} 00251 }; 00252 00253 00274 class AMDhat : public AMD 00275 00276 { 00277 protected: 00278 00279 virtual void renumber 00280 (int& N, 00281 VecSimple(int)& PE, 00282 VecSimple(int)& IW, 00283 VecSimple(int)& LEN, 00284 int& IWLEN, 00285 int& PFREE, 00286 VecSimple(int)& NV, 00287 VecSimple(int)& NEXT, 00288 VecSimple(int)& LAST, 00289 VecSimple(int)& HEAD, 00290 VecSimple(int)& ELEN, 00291 VecSimple(int)& DEGREE, 00292 int& NCMPA, 00293 VecSimple(int)& W, 00294 int& IOVFLO); 00295 00296 public: 00297 00298 AMDhat () ; 00299 ~AMDhat () {} 00300 }; 00301 00302 00323 class AMDtru : public AMD 00324 00325 { 00326 protected: 00327 00328 virtual void renumber 00329 (int& N, 00330 VecSimple(int)& PE, 00331 VecSimple(int)& IW, 00332 VecSimple(int)& LEN, 00333 int& IWLEN, 00334 int& PFREE, 00335 VecSimple(int)& NV, 00336 VecSimple(int)& NEXT, 00337 VecSimple(int)& LAST, 00338 VecSimple(int)& HEAD, 00339 VecSimple(int)& ELEN, 00340 VecSimple(int)& DEGREE, 00341 int& NCMPA, 00342 VecSimple(int)& W, 00343 int& IOVFLO); 00344 00345 public: 00346 00347 AMDtru () ; 00348 ~AMDtru () {} 00349 }; 00350 00351