Kratzig.h

Go to the documentation of this file.
00001 
00002 /* ****************************************************************** **
00003 **    OpenSees - Open System for Earthquake Engineering Simulation    **
00004 **          Pacific Earthquake Engineering Research Center            **
00005 **                                                                    **
00006 **                                                                    **
00007 ** (C) Copyright 1999, The Regents of the University of California    **
00008 ** All Rights Reserved.                                               **
00009 **                                                                    **
00010 ** Commercial use of this program without express permission of the   **
00011 ** University of California, Berkeley, is strictly prohibited.  See   **
00012 ** file 'COPYRIGHT'  in main directory for information on usage and   **
00013 ** redistribution,  and for a DISCLAIMER OF ALL WARRANTIES.           **
00014 **                                                                    **
00015 ** Developed by:                                                      **
00016 **   Frank McKenna (fmckenna@ce.berkeley.edu)                         **
00017 **   Gregory L. Fenves (fenves@ce.berkeley.edu)                       **
00018 **   Filip C. Filippou (filippou@ce.berkeley.edu)                     **
00019 **                                                                    **
00020 ** ****************************************************************** */
00021   
00022 
00023                                                                         
00024 // $Revision: 1.1 $
00025 // $Date: 2004/09/01 03:54:28 $
00026 // $Source: /usr/local/cvs/OpenSees/SRC/damage/Kratzig.h,v $
00027                                                                         
00028 #ifndef Kratzig_h
00029 #define Kratzig_h         
00030                                                                
00031 // Written: AA,GGD
00032 // Created: 08/02
00033 // Revision: AA
00034 //
00035 // Description: This file contains the class definition for 
00036 // Damage. Damage is a base class and 
00037 // thus no objects of it's type can be instantiated. It has pure virtual 
00038 // functions which must be implemented in it's derived classes. 
00039 
00040 
00041 #include <ErrorHandler.h>
00042 #include <DamageModel.h>
00043 
00044 class DamageResponse;
00045 
00046 
00047 class Kratzig : public DamageModel
00048 {
00049   public:
00050     Kratzig(int tag, double ultimatePosVal ,  double ultimateNegVal);
00051 
00052         Kratzig();  
00053     
00054         ~Kratzig();
00055 
00056         int setTrial (Vector trialVector );
00057         int setTrial () { return -1; } 
00058 
00059         int setInputResponse ( Element *elem , const char **argv , int argc, int ndof );
00060 
00061     double getDamage(void);
00062         double getPosDamage (void);
00063         double getNegDamage (void);
00064     
00065     int commitState(void);
00066     int revertToLastCommit (void);
00067     int revertToStart (void);
00068 
00069     DamageModel *getCopy (void);
00070 
00071     int setVariable(const char *argv);
00072     int getVariable(int variableID, double &info);
00073 
00074     int setParameter(char **argv, int argc, Information &eleInformation);
00075     int updateParameter(int responseID, Information &eleInformation);   
00076 
00077     Response *setResponse(char **argv, int argc, Information &info);
00078     int getResponse(int responseID, Information &info);
00079 
00080         int sendSelf(int commitTag, Channel &theChannel);  
00081     int recvSelf(int commitTag, Channel &theChannel, 
00082                          FEM_ObjectBroker &theBroker);
00083         void Print(OPS_Stream &s, int flag =0);    
00084 
00085     // method for this damage model to update itself according to its new parameters
00086     void update(void) {return;}
00087 
00088   protected:
00089     
00090   private:
00091         
00092         // Model parameters
00093         double UltimatePosValue , UltimateNegValue;
00094 
00095         double TrialInfo[10];
00096         double CommitInfo[10];
00097         double LastCommitInfo[10];
00098         
00099 };
00100 
00101 
00102 #endif

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