DM04_PF.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 #ifndef DM04_PF_H
00034 #define DM04_PF_H
00035 
00036 #include "PlasticFlow.h"
00037 #include <math.h>
00038 
00039 class DM04_PF : public PlasticFlow
00040 {
00041   public:   
00042     DM04_PF(int e0_which, int index_e0,
00043             int e_r_which_in, int index_e_r_in,
00044             int lambda_c_which_in, int index_lambda_c_in,
00045             int xi_which_in, int index_xi_in,
00046             int Pat_which_in, int index_Pat_in,
00047             int m_which_in, int index_m_in,
00048             int M_cal_which_in, int index_M_cal_in,
00049             int cc_which_in, int index_cc_in,        
00050             int A0_which_in, int index_A0_in,
00051             int nd_which_in, int index_nd_in,
00052             int alpha_which_in, int index_alpha_in,
00053             int z_which_in, int index_z_in);
00054     ~DM04_PF();     
00055     PlasticFlow* newObj();
00056    
00057     const straintensor& PlasticFlowTensor(const stresstensor &Stre, 
00058                                           const straintensor &Stra, 
00059                                           const MaterialParameter &MaterialParameter_in) const;
00060 
00061   private: 
00062 
00063     double gete0(const MaterialParameter &MaterialParameter_in) const;
00064     double gete_r(const MaterialParameter &MaterialParameter_in) const;      
00065     double getlambda_c(const MaterialParameter &MaterialParameter_in) const;
00066     double getxi(const MaterialParameter &MaterialParameter_in) const;
00067     double getPat(const MaterialParameter &MaterialParameter_in) const;
00068     double getm(const MaterialParameter &MaterialParameter_in) const;
00069     double getM_cal(const MaterialParameter &MaterialParameter_in) const;
00070     double getcc(const MaterialParameter &MaterialParameter_in) const;
00071     double getA0(const MaterialParameter &MaterialParameter_in) const;
00072     double getnd(const MaterialParameter &MaterialParameter_in) const;
00073     
00074     const stresstensor& getalpha(const MaterialParameter &MaterialParameter_in) const;
00075     const stresstensor& getz(const MaterialParameter &MaterialParameter_in) const;
00076 
00077     inline double getParameters(const MaterialParameter &MaterialParameter_in, int parIndex_in, int which_in) const;    
00078     inline double getec(double e_r, double lambda_c, double xi, double Pat, double p_c) const;
00079     inline double getg(double c, double cos3theta) const;
00080 
00081   private:
00082     
00083     int e0_which;         int index_e0;
00084     int e_r_which;        int index_e_r;
00085     int lambda_c_which;   int index_lambda_c;    
00086     int xi_which;         int index_xi;
00087     int Pat_which;        int index_Pat; 
00088     int m_which;          int index_m;
00089     int M_cal_which;      int index_M_cal; 
00090     int cc_which;         int index_cc;
00091     int A0_which;         int index_A0;   
00092     int nd_which;         int index_nd;
00093 
00094     int alpha_which;      int index_alpha;
00095     int z_which;          int index_z;
00096             
00097     static straintensor DM04m;
00098     static stresstensor DM04temp;
00099 };
00100 
00101 
00102 #endif
00103 

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