NormalizedPeak.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 #ifndef NormalizedPeak_h
00022 #define NormalizedPeak_h         
00023 
00024 // $Revision: 1.1 $
00025 // $Date: 2004/09/01 03:54:28 $
00026 // $Source: /usr/local/cvs/OpenSees/SRC/damage/NormalizedPeak.h,v $
00027 
00028 // Written: Arash Altoontash, Gregory Deierlein
00029 // Created: 08/02
00030 // Revision: AA
00031 //
00032 // Description: This file contains the class definition for NormalizedPeak
00033 // Damage model. This is a maximum based, non hysteretic damage model. 
00034 // It gets the maximum positive and maximum negative values as initial
00035 // parameters and calculates the damage index based on the maximum and minimum
00036 // values occured.
00037 
00038 
00039 #include <ErrorHandler.h>
00040 #include <DamageModel.h>
00041 
00042 class DamageResponse;
00043 class Element;
00044 
00045 
00046 class NormalizedPeak : public DamageModel
00047 {
00048   public:
00049   NormalizedPeak(int tag, double maxVal, double minVal , const char *argv);
00050   NormalizedPeak();  
00051   ~NormalizedPeak();
00052   
00053   int setTrial (Vector trialVector);
00054   int setTrial () { return -1; }
00055   
00056   double getDamage(void);
00057   double getPosDamage (void);
00058   double getNegDamage (void);
00059   
00060   int commitState(void);
00061   int revertToLastCommit (void);
00062   int revertToStart (void);
00063   
00064   DamageModel *getCopy (void);
00065   
00066   int setParameter(char **argv, int argc, Information &eleInformation) { return -1; }
00067   int updateParameter(int responseID, Information &eleInformation) { return -1; }
00068   
00069   Response *setResponse(char **argv, int argc, Information &info);
00070   int getResponse(int responseID, Information &info);
00071   
00072   int sendSelf(int commitTag, Channel &theChannel);  
00073   int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker);
00074   void Print(OPS_Stream &s, int flag =0);
00075   
00076  protected:
00077   
00078  private:
00079   char damagename[80];
00080   DamageType damagetype;
00081   
00082   // Model parameters
00083   double MaxValue, MinValue;
00084   
00085   // Trial step
00086   double TrialScalar;
00087   double TrialDmg;
00088   Vector TrialVector;
00089   
00090   // Commited state
00091   double CommitScalar;
00092   double CommitDmg;
00093   Vector CommitVector;
00094   
00095   // Last commit
00096   double LCommitScalar;
00097   double LCommitDmg;
00098   Vector LCommitVector;
00099   
00100 };
00101 
00102 #endif

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