⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newmark.hxx

📁 不错的国外的有限元程序代码,附带详细的manual,可以节省很多的底层工作.
💻 HXX
字号:
//   *********************
//   *** CLASS NEWMARK ***
//   *********************
 

#include "timinteg.hxx"


class Newmark : public TimeIntegrationScheme
/*
   This class implements a Newmark beta-gamma predictor-corrector time inte-
   gration scheme, with accelerations as primary unknowns.
   .A Newmark scheme assigns to the dofs the following 5 unknowns :
       - the displacement 'd' and its predictor 'D';
       - the velocity 'v' and its predictor 'V' ;
       - the acceletion 'a'.
    Their expressions are calculated by the dofs in class Dof.
   .A Newmark scheme assigns to the element an equivalent mass matrix as
    left-hand side, and an equivalent right-hand side as right-hand side.
    Their expressions are claculated by the element in class Element.
   .A Newmark scheme enforces the linear system's left-hand side to be recom-
    puted at every time step where the time increment deltaT is modified.
 DESCRIPTION :
   A Newmark scheme is characterized by two coefficients 'beta' and 'gamma'.
   These are stored as pointers, rather than numbers, so that their state
   (initialized vs NULL) can be checked.
*/
{
   enum { FALSE , TRUE } ;

   private :
      double*  beta ;
      double*  gamma ;

   public :
      Newmark (int,Domain*) ;
      ~Newmark ()                     {delete beta ; delete gamma ;}

      double     giveBeta () ;
      double     giveGamma () ;
      TimeStep*  GiveInitialStep ()   {return new TimeStep(0,this);}
      int        hasDiagonalLhs ()    {return (this->giveBeta() == 0.) ;}
      int        isNewmark ()         {return TRUE ;}
} ;








⌨️ 快捷键说明

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