ElasticState.hGo 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 |