Elastic2DGNL.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 ** See file 'COPYRIGHT'  in main directory for information on usage   **
00010 ** and redistribution of OpenSees, and for a DISCLAIMER OF ALL        **
00011 ** WARRANTIES.                                                        **
00012 **                                                                    **
00013 ** Elastic2dGNL.h: interface for the Elastic2dGNL class               **
00014 ** Developed by:                                                      **
00015 **    Rohit Kaul       (rkaul@stanford.edu)                           **
00016 **    Greg Deierlein   (ggd@stanford.edu)                             **
00017 **                                                                    **
00018 **           John A. Blume Earthquake Engineering Center              **
00019 **                    Stanford University                             **
00020 ** ****************************************************************** **/
00021 
00022 // Written: rkaul
00023 // Created: 7/30
00024 //
00025 // Description: This file contains the class definition for Elastic2dGNL.
00026 
00027 // Elastic2dGNL is a subclass of UpdatedLagrangianBeam2D, that can be 
00028 // used to model 2d beam column elements with large deformation effects. 
00029 // Most of the virtual Element methods have been implemented by the parent 
00030 // class (see UpdatedLagrangianBeam2D.h for details, 
00031 // including the recorder arguments)
00032 
00033 #ifndef Elastic2dGNL_H
00034 #define Elastic2dGNL_H
00035 
00036 // List of included files
00037 // UpdatedLagrangianBeam2D - parent class of this class
00038 #include "UpdatedLagrangianBeam2D.h"
00039 
00040 class Elastic2dGNL : public UpdatedLagrangianBeam2D  
00041 {
00042  public:        
00043   // Arguments passed to the constructor include - tag, a unique id in 
00044   // the domain, A - cross section area of the beam, E - modulus of
00045   // Elasticity, I - Izz, Nd1 and Nd2 are the nodal numbers of connected
00046   // nodes.  Last two parameters are optional, by default geometric
00047   // nonlinearity is turned on and rho, mass density is set to zero.
00048   // This element assumes lumped mass for mass matrix.
00049   Elastic2dGNL(int tag, double A, double E, double I, int Nd1, int Nd2, 
00050                bool islinear = false, double rho = 0.0);
00051   virtual ~Elastic2dGNL();
00052   
00053   // Prints the element info to OPS_Stream
00054   void Print(OPS_Stream &s, int flag =0);
00055   
00056   // Methods for sending and receiving the object over a channel
00057   int sendSelf(int commitTag, Channel &theChannel);
00058   int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker);
00059   
00060   
00061  protected:
00062   // Implementation of pure virtual subclass methods
00063 
00064   // Get the elastic stiffness in local coordinates,
00065   // stored into K
00066   void getLocalStiff(Matrix &K);
00067   // Get the mass matrix in local coordinate system,
00068   // stored in M
00069   void getLocalMass(Matrix &M);
00070   
00071  private:
00072   // Data declarations
00073   double A, E, Iz;
00074 };
00075 
00076 #endif // !defined Elastic2dGNL
00077 
00078 /*
00079  *
00080  * WARNING/ERROR format/representation
00081  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00082  * Warnings are generally issued if the standard implementation of a
00083  * method may not be possible.  Further analysis may lead to incorrect
00084  * solution, eventhough it may be possible to continue.
00085  *           
00086  * Warnings
00087  * --------
00088  *                
00089  * WARNING (W_Level_ID) - Class::method(..) [ElementTag]
00090  * Short description ...
00091  *
00092  * Errors
00093  * ------
00094  *  
00095  * ERROR (E_ID) - Class::method(..) [ElementTag]
00096  * Short description ...
00097  *           
00098  * Analysis may be halted if an error is encountered, further
00099  * analysis will definitely be erroneous.
00100  *
00101  * (see UpdatedLagrangianBeam2D.h for details)
00102  */
00103 
00104 

Generated on Mon Oct 23 15:05:11 2006 for OpenSees by doxygen 1.5.0