DM04_alpha_Eij.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 DM04_alpha_Eij_H
00035 #define DM04_alpha_Eij_H 
00036 
00037 #include "TensorEvolution.h"
00038 
00039 class DM04_alpha_Eij : public TensorEvolution
00040 {
00041   public:
00042   
00043     DM04_alpha_Eij(int e0_index_in,
00044                    int e_r_index_in,
00045                    int lambda_c_index_in,
00046                    int xi_index_in,
00047                    int Pat_index_in,
00048                    int m_index_in,
00049                    int M_cal_index_in,
00050                    int cc_index_in,
00051                    int nb_index_in,
00052                    int h0_index_in,
00053                    int ch_index_in,
00054                    int G0_index_in,
00055                    int alpha_index_in,
00056                    int z_index_in);
00057 
00058     TensorEvolution* newObj();
00059 
00060     const straintensor& Hij(const straintensor& plastic_flow, const stresstensor& Stre, 
00061                             const straintensor& Stra, const MaterialParameter& material_parameter);
00062        
00063   private:
00064     
00065     double gete0(const MaterialParameter& material_parameter) const; 
00066     double gete_r(const MaterialParameter& material_parameter) const;      
00067     double getlambda_c(const MaterialParameter& material_parameter) const;
00068     double getxi(const MaterialParameter& material_parameter) const;
00069     double getPat(const MaterialParameter& material_parameter) const;
00070     double getm(const MaterialParameter& material_parameter) const;
00071     double getM_cal(const MaterialParameter& material_parameter) const;
00072     double getcc(const MaterialParameter& material_parameter) const;
00073     double getnb(const MaterialParameter& material_parameter) const;
00074     double geth0(const MaterialParameter& material_parameter) const;
00075     double getch(const MaterialParameter& material_parameter) const;
00076     double getG0(const MaterialParameter& material_parameter) const;
00077         
00078     const stresstensor& getalpha(const MaterialParameter& material_parameter) const;
00079     const stresstensor& getz(const MaterialParameter& material_parameter) const;
00080     
00081     inline double getParameters(const MaterialParameter& material_parameter, int which_in) const;    
00082     inline double getec(double e_r, double lambda_c, double xi, double Pat, double p_c) const;
00083     inline double getg(double c, double cos3theta) const;
00084     
00085   private:
00086   
00087     // things need to be memorized
00088     int a_index;
00089     stresstensor alpha_in;
00090 
00091   private:
00092   
00093     int e0_index;
00094     int e_r_index;
00095     int lambda_c_index;
00096     int xi_index;
00097     int Pat_index;
00098     int m_index;
00099     int M_cal_index;
00100     int cc_index;
00101     int nb_index;
00102     int h0_index;    
00103     int ch_index;
00104     int G0_index;
00105     int alpha_index;
00106     int z_index;   
00107     
00108     static stresstensor DM04_alpha_t;
00109 
00110 };
00111 
00112 
00113 #endif
00114 

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