Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

HHT.h

Go to the documentation of this file.
00001 /* ****************************************************************** **
00002 **    OpenSees - Open System for Earthquake Engineering Simulation    **
00003 **          Pacific Earthquake Engineering Research Center            **
00004 **                                                                    **
00005 **                                                                    **
00006 ** (C) Copyright 1999, The Regents of the University of California    **
00007 ** All Rights Reserved.                                               **
00008 **                                                                    **
00009 ** Commercial use of this program without express permission of the   **
00010 ** University of California, Berkeley, is strictly prohibited.  See   **
00011 ** file 'COPYRIGHT'  in main directory for information on usage and   **
00012 ** redistribution,  and for a DISCLAIMER OF ALL WARRANTIES.           **
00013 **                                                                    **
00014 ** Developed by:                                                      **
00015 **   Frank McKenna (fmckenna@ce.berkeley.edu)                         **
00016 **   Gregory L. Fenves (fenves@ce.berkeley.edu)                       **
00017 **   Filip C. Filippou (filippou@ce.berkeley.edu)                     **
00018 **                                                                    **
00019 ** ****************************************************************** */
00020                                                                         
00021 // $Revision: 1.2 $
00022 // $Date: 2000/12/13 08:27:10 $
00023 // $Source: /usr/local/cvs/OpenSees/SRC/analysis/integrator/HHT.h,v $
00024                                                                         
00025                                                                         
00026 #ifndef HHT_h
00027 #define HHT_h
00028 
00029 // File: ~/analysis/integrator/HHT.h
00030 // 
00031 // Written: fmk 
00032 // Created: 11/98
00033 // Revision: A
00034 //
00035 // Description: This file contains the class definition for HHT.
00036 // HHT is an algorithmic class for performing a transient analysis
00037 // using the HHT integration scheme.
00038 //
00039 // What: "@(#) HHT.h, revA"
00040 
00041 #include <TransientIntegrator.h>
00042 
00043 #include <DOF_Group.h>
00044 #include <FE_Element.h>
00045 #include <Vector.h>
00046 
00079 class HHT : public TransientIntegrator
00080 {
00081   public:
00087     HHT();
00088 
00094     HHT(double alpha);
00095 
00105     HHT(double alpha, double alphaM, double betaKcurrent, 
00106 
00107  double betaKinit, double betaKlastCommit);        
00108 
00112     ~HHT();
00113 
00114 
00116     virtual int formEleResidual(FE_Element *theEle);
00118     virtual int formNodUnbalance(DOF_Group *theDof);        
00119 
00120     
00121     // methods which define what the FE_Element and DOF_Groups add
00123     int formEleTangent(FE_Element *theEle);
00125     int formNodTangent(DOF_Group *theDof);        
00126 
00128     int domainChanged(void);    
00130     int initialize(void);    
00132     int newStep(double deltaT);    
00134     int revertToLastStep(void);        
00136     int update(const Vector &deltaU);
00137 
00139     int commit(void);
00140 
00142     virtual int sendSelf(int commitTag, Channel &theChannel);
00144     virtual int recvSelf(int commitTag, Channel &theChannel, 
00145     FEM_ObjectBroker &theBroker);
00146 
00148     void Print(ostream &s, int flag =0);        
00149     
00150   protected:
00151     
00152   private:
00154     double alpha;
00156     double gamma;
00158     double beta;
00160     bool rayleighDamping; // flag indicating wheter rayleigh damping being used
00161 
00163     double alphaM, betaK, betaKi, betaKc;      
00164 
00165     double c1, c2, c3;  
00166     Vector *Ut, *Utdot, *Utdotdot; 
00167     Vector *U, *Udot, *Udotdot; 
00168     Vector *Ualpha, *Udotalpha; // response quantities at time t+alpha delta t
00169 };
00170 
00171 #endif
00172 
Copyright Contact Us