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

NDMaterial.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/01/23 08:47:09 $                                                                  
00023 // $Source: /usr/local/cvs/OpenSees/SRC/material/nD/NDMaterial.h,v $                                                                
00024                                                                         
00025                                                                         
00026 #ifndef NDMaterial_h
00027 #define NDMaterial_h
00028 
00029 // File: ~/material/NDMaterial.h
00030 //
00031 // Written: MHS
00032 // Created: Feb 2000
00033 // Revision: A
00034 //
00035 // Description: This file contains the class definition for NDMaterial.
00036 // NDMaterial is an abstract base class and thus no objects of it's type
00037 // can be instantiated. It has pure virtual functions which must be
00038 // implemented in it's derived classes. 
00039 //
00040 // What: "@(#) NDMaterial.h, revA"
00041 
00042 #include <Material.h>
00043 #include <Tensor.h>
00044 
00045 #include <Matrix.h>
00046 #include <ID.h>
00047 #include <Vector.h>
00048 #include <Information.h>
00049 #include <Response.h>
00050 
00062 class NDMaterial : public Material
00063 {
00064   public:
00066     NDMaterial(int tag, int classTag);
00067 
00069     NDMaterial();
00071     virtual ~NDMaterial();
00072 
00074     virtual double getRho(void);
00076     virtual int setTrialStrain(const Vector &v);
00078     virtual int setTrialStrain(const Vector &v, const Vector &r);
00080     virtual int setTrialStrainIncr(const Vector &v);
00082     virtual int setTrialStrainIncr(const Vector &v, const Vector &r);
00084     virtual const Matrix &getTangent(void);
00086     virtual const Vector &getStress(void);
00088     virtual const Vector &getStrain(void);
00089 
00091     virtual const Vector &getCommittedStress(void);
00093     virtual const Vector &getCommittedStrain(void);    
00094 
00096     virtual int setTrialStrain(const Tensor &v);
00098     virtual int setTrialStrain(const Tensor &v, const Tensor &r);    
00100     virtual int setTrialStrainIncr(const Tensor &v);
00102     virtual int setTrialStrainIncr(const Tensor &v, const Tensor &r);
00104     virtual const Tensor &getTangentTensor(void);
00106     virtual const stresstensor getStressTensor(void);
00108     virtual const Tensor &getStrainTensor(void);
00109     
00111     virtual int commitState(void) = 0;
00113     virtual int revertToLastCommit(void) = 0;
00115     virtual int revertToStart(void) = 0;
00116     
00118     virtual NDMaterial *getCopy(void) = 0;
00120     virtual NDMaterial *getCopy(const char *code) = 0;
00121 
00123     virtual const char *getType(void) const = 0;
00125     virtual int getOrder(void) const = 0;
00126 
00128     virtual Response *setResponse (char **argv, int argc, Information &matInformation);
00130     virtual int getResponse (int responseID, Information &matInformation);
00131 
00132   protected:
00133     
00134   private:
00136     static Matrix errMatrix;
00138     static Vector errVector;
00140     static Tensor errTensor;
00142     static stresstensor errstresstensor;
00143 };
00144 
00145 
00146 #endif
Copyright Contact Us