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

ElasticIsotropic3D.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.6 $                                                              
00022 // $Date: 2001/05/26 05:33:05 $                                                                  
00023 // $Source: /usr/local/cvs/OpenSees/SRC/material/nD/ElasticIsotropic3D.h,v $                                                                
00024                                                                         
00025                                                                         
00026 #ifndef ElasticIsotropic3D_h
00027 #define ElasticIsotropic3D_h
00028 
00029 // File: ~/material/ElasticIsotropic3D.h
00030 //
00031 // Written: MHS
00032 // Created: Feb 2000
00033 // Revision: A
00034 //
00035 // Description: 
00036 //
00037 // What: "@(#) ElasticIsotropic3D.h, revA"
00038 
00039 #include <ElasticIsotropicMaterial.h>
00040 
00041 #include <Matrix.h>
00042 #include <Vector.h>
00043 #include <ID.h>
00044 
00045 #include <Tensor.h>
00046 #include <stresst.h>
00047 #include <straint.h>
00048 
00050 class ElasticIsotropic3D : public ElasticIsotropicMaterial
00051 {
00052   public:
00054     ElasticIsotropic3D (int tag, double E, double nu, double expp = 0.6, double pr = 100.0, double pop = 0.0);
00056     ElasticIsotropic3D ();
00058     ~ElasticIsotropic3D ();
00059 
00061     int setTrialStrain (const Vector &v);
00063     int setTrialStrain (const Vector &v, const Vector &r);
00065     int setTrialStrainIncr (const Vector &v);
00067     int setTrialStrainIncr (const Vector &v, const Vector &r);
00069     const Matrix &getTangent (void);
00071     const Vector &getStress (void);
00073     const Vector &getStrain (void);
00074     
00076     int setTrialStrain (const Tensor &v);
00078     int setTrialStrain (const Tensor &v, const Tensor &r);
00080     int setTrialStrainIncr (const Tensor &v);
00082     int setTrialStrainIncr (const Tensor &v, const Tensor &r);
00084     const Tensor &getTangentTensor (void);
00086     const stresstensor getStressTensor (void);
00088     const Tensor &getStrainTensor (void);
00089 
00091     int commitState (void);
00093     int revertToLastCommit (void);
00095     int revertToStart (void);
00096     
00098     NDMaterial *getCopy (void);
00100     const char *getType (void) const;
00102     int getOrder (void) const;
00103 
00105     int sendSelf(int commitTag, Channel &theChannel);  
00107     int recvSelf(int commitTag, Channel &theChannel, 
00108     FEM_ObjectBroker &theBroker);    
00109     
00111     void Print(ostream &s, int flag =0);
00113     void setInitElasticStiffness(void);
00114 
00116   private:
00117 
00118 
00119   protected:
00120 
00121   private:
00122     static Vector sigma;  
00123     static Matrix D;   
00124     Vector epsilon;  
00125 
00126     double exp;                 
00127     double p_ref;               
00128     double po;                  
00129     stresstensor Stress; 
00130     Tensor Dt;   
00131     Tensor Dt_commit;  
00132     straintensor Strain; // Strain tensor    
00133       
00134 };
00135 
00136 
00137 #endif
00138 
00139 
00140 ÿ
Copyright Contact Us