skyline.hxx

来自「不错的国外的有限元程序代码,附带详细的manual,可以节省很多的底层工作.」· HXX 代码 · 共 52 行

HXX
52
字号
//   *********************
//   *** CLASS SKYLINE ***
//   *********************


#ifndef skyline_hxx

#include <stdio.h>
class Domain ; class FloatMatrix ; class  FloatArray ; class IntArray ;


class Skyline
/*
   This abstract class is the superclass of the classes that implement square
   matrices in a compact storage form (symmetric or unsymmetric skyline). A
   skyline is usually an attribute of a SkylineSystem.
 DESCRIPTION :
   The attribute 'size' is number of rows (=columns) of the skyline. 'isFac-
   torized' is True if the skyline is already in factorized form (U(T).D.U
   or L.D.U), else it is False.
 TASKS :
   - assembling to itself a matrix, typically and elemental stiffness matrix
     (method 'assemble') ;
   - when associated with an array b, solving the system Ax=b (methods 'fac-
     torized','forwardReductionWith',etc) ;
   - when associated with a domain, shaping its own profile (method 'carve-
     Yourself') ;
   - resetting to zero all of its coefficients (method 'reinitialized').
*/
{
   protected :
      int  size ;
      int  isFactorized ;

   public :
      Skyline ()           { }                        // dummy constructor
      virtual ~Skyline ()  { }                        // destructor

      virtual void         assemble (FloatMatrix*,IntArray*)  { }
      virtual FloatArray*  backSubstitutionWith (FloatArray*) {return NULL;}
      virtual void         carveYourselfFor (Domain*)         { }
      virtual Skyline*     diagonalScalingWith (FloatArray*)  {return NULL;}
      virtual Skyline*     factorized ()                      {return NULL;}
      virtual Skyline*     forwardReductionWith (FloatArray*) {return NULL;}
      int                  giveNumberOfColumns ()             {return size;}
      virtual Skyline*     reinitialized ()                   {return NULL;}
} ;

#define skyline_hxx
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?