MeshRegion.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.3 $
00022 // $Date: 2003/02/14 23:01:02 $
00023 // $Source: /usr/local/cvs/OpenSees/SRC/domain/region/MeshRegion.h,v $
00024                                                                         
00025                                                                         
00026 // Written: fmk 
00027 //
00028 // Description: This file contains the class definition for MeshRegion.
00029 // A Region is a part of the domain which is defined by a set of
00030 // Elements and Nodes (all the end nodes of the elements are in the region, 
00031 // as are all elements whose end nodes are in the region)
00032 //
00033 // What: "@(#) Region.h, revA"
00034 
00035 #ifndef MeshRegion_h
00036 #define MeshRegion_h
00037 
00038 #include <DomainComponent.h>
00039 
00040 class Element;
00041 class Node;
00042 class ElementRecorder;
00043 class NodeRecorder;
00044 
00045 class MeshRegion : public DomainComponent
00046 {
00047   public:
00048     MeshRegion(int tag);
00049     MeshRegion(int tag, int classTag);    
00050     virtual ~MeshRegion();
00051 
00052     // methods dealing with setting up the region
00053     virtual int setNodes(const ID &theNodes);
00054     virtual int setElements(const ID &theEles);
00055 
00056     // methods getting the ID's of nodes & ele
00057     virtual const ID &getNodes(void);
00058     virtual const ID &getElements(void);
00059 
00060     // methods dealing with setting parameters in the region
00061     virtual int setRayleighDampingFactors(double alphaM, 
00062                                           double betaK, 
00063                                           double betaK0,
00064                                           double betaKc);
00065 
00066     // methods to send & recv data for database/parallel applications
00067     virtual int sendSelf(int commitTag, Channel &theChannel);
00068     virtual int recvSelf(int commitTag, Channel &theChannel, 
00069                          FEM_ObjectBroker &theBroker);
00070     virtual void Print(OPS_Stream &s, int flag =0);       
00071 
00072   protected:
00073     
00074   private:
00075     double alphaM, betaK, betaK0, betaKc;
00076 
00077     ID *theNodes;
00078     ID *theElements;
00079 
00080     int    currentGeoTag;
00081     int    lastGeoSendTag;
00082     int dbNod;
00083     int dbEle;
00084 };
00085 
00086 
00087 #endif
00088 

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