ElasticState.h

Go to the documentation of this file.
00001 
00002 //   COPYLEFT (C): Woody's viral GPL-like license (by BJ):
00003 //                 ``This    source  code is Copyrighted in
00004 //                 U.S.,  for  an  indefinite  period,  and anybody
00005 //                 caught  using it without our permission, will be
00006 //                 mighty good friends of ourn, cause we don't give
00007 //                 a  darn.  Hack it. Compile it. Debug it. Run it.
00008 //                 Yodel  it.  Enjoy it. We wrote it, that's all we
00009 //                 wanted to do.''
00010 //
00011 //
00012 // COPYRIGHT (C):     :-))
00013 // PROJECT:           Object Oriented Finite Element Program
00014 // FILE:              
00015 // CLASS:             
00016 // MEMBER FUNCTIONS:
00017 //
00018 // MEMBER VARIABLES
00019 //
00020 // PURPOSE:           
00021 //
00022 // RETURN:
00023 // VERSION:
00024 // LANGUAGE:          C++
00025 // TARGET OS:         
00026 // DESIGNER:          Zhao Cheng, Boris Jeremic
00027 // PROGRAMMER:        Zhao Cheng, 
00028 // DATE:              Fall 2005
00029 // UPDATE HISTORY:    
00030 //
00032 //
00033 
00034 #ifndef ElasticState_H
00035 #define ElasticState_H
00036 
00037 #include <BJtensor.h>
00038 #include <stresst.h>
00039 #include <straint.h>
00040 #include "MaterialParameter.h"
00041 
00042 class ElasticState
00043 {  
00044   public:
00045     
00046     ElasticState(const stresstensor &initialStress, const straintensor &initialStrain);
00047     ElasticState(const stresstensor &initialStress);
00048     ElasticState();
00049     
00050     virtual ~ElasticState() {};
00051     virtual ElasticState* newObj() = 0;
00052 
00053     virtual stresstensor getStress() const;
00054     virtual straintensor getStrain() const;
00055     
00056     virtual const BJtensor &getElasticStiffness (const MaterialParameter &MatPar_in) const = 0;
00057     
00058     virtual int setStress(const stresstensor &Stre_in);
00059     virtual int setStrain(const straintensor &Stra_in);
00060   
00061   protected:                 
00062     
00063     stresstensor Stress;
00064     straintensor Strain; 
00065     
00066     static BJtensor ElasticStiffness;
00067     static const stresstensor zerostress;
00068     static const straintensor zerostrain;
00069 
00070 };
00071 
00072 
00073 #endif
00074 

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