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

SectionAggregator.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/18 10:45:31 $
00023 // $Source: /usr/local/cvs/OpenSees/SRC/material/section/SectionAggregator.h,v $
00024                                                                         
00025                                                                         
00026 // File: ~/section/SectionAggregator.h
00027 //
00028 // Written: MHS
00029 // Created: Jun 2000
00030 // Revision: A
00031 //
00032 // Description: This file contains the class definition for 
00033 // SectionAggregator.  SectionAggregator decorates an MP
00034 // section (couple bending and axial) with an uncoupled shear
00035 // relation.
00036 //
00037 // What: "@(#) SectionAggregator.h, revA"
00038 
00039 #ifndef SectionAggregator_h
00040 #define SectionAggregator_h
00041 
00042 #include <SectionForceDeformation.h>
00043 #include <UniaxialMaterial.h>
00044 
00045 #include <Vector.h>
00046 #include <Matrix.h>
00047 
00049 class SectionAggregator : public SectionForceDeformation
00050 {
00051   public:
00053     SectionAggregator (); 
00054 
00056     SectionAggregator (int tag, SectionForceDeformation &theSection,
00057          int numAdditions, UniaxialMaterial **theAdditions, const ID &code); 
00059     SectionAggregator (int tag, int numAdditions, UniaxialMaterial **theAdditions, const ID &code); 
00061     SectionAggregator (int tag, SectionForceDeformation &thesection,
00062          UniaxialMaterial &theAddition, int c);
00063 
00065     ~SectionAggregator ();
00066 
00068     int   setTrialSectionDeformation(const Vector &deforms); 
00070     const Vector &getSectionDeformation(void);
00071 
00073     const Vector &getStressResultant(void);
00075     const Matrix &getSectionTangent(void);
00077     const Matrix &getSectionFlexibility(void);
00078 
00080     int   commitState(void);
00082     int   revertToLastCommit(void);    
00084     int   revertToStart(void);
00085  
00087     SectionForceDeformation *getCopy(void);
00089     const ID &getType (void) const;
00091     int getOrder (void) const;
00092 
00094     int sendSelf(int cTag, Channel &theChannel);
00096     int recvSelf(int cTag, Channel &theChannel, 
00097    FEM_ObjectBroker &theBroker);
00098  
00100     void Print(ostream &s, int flag =0);
00101 
00103  Response *setResponse(char **argv, int argc, Information &info);
00105  int getResponse(int responseID, Information &info);
00106 
00108  int setVariable(const char *argv);
00110  int getVariable(int variableID, double &info);
00111 
00112   protected:
00113     
00114   private:
00115     
00117     Vector e;       
00118     Vector s;      
00119     Matrix ks;       
00120     Matrix fs;       
00121    
00122     SectionForceDeformation *theSection;
00124     UniaxialMaterial **theAdditions;
00125 
00127     ID *code;
00129     int order;
00131     int theSectionOrder;
00133     int numMats;
00134 
00136     int otherDbTag;
00137 };
00138 
00139 #endif
00140 ÿ
Copyright Contact Us