00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef MultiaxialCyclicPlasticityAxiSymm_h
00034 #define MultiaxialCyclicPlasticityAxiSymm_h
00035
00036 #include <stdio.h>
00037 #include <stdlib.h>
00038 #include <math.h>
00039
00040 #include <Vector.h>
00041 #include <Matrix.h>
00042
00043 #include <MultiaxialCyclicPlasticity.h>
00044
00045
00046
00047
00048 class MultiaxialCyclicPlasticityAxiSymm : public MultiaxialCyclicPlasticity {
00049
00050
00051
00052 public :
00053
00054
00055 MultiaxialCyclicPlasticityAxiSymm( ) ;
00056
00057
00058
00059 MultiaxialCyclicPlasticityAxiSymm( int tag,
00060 double rho,
00061 double K,
00062 double G,
00063 double Su,
00064 double Ho_kin,
00065 double Parameter_h,
00066 double Parameter_m,
00067 double Parameter_beta,
00068 double Kcoeff,
00069 double viscosity=0 ) ;
00070
00071
00072 MultiaxialCyclicPlasticityAxiSymm( int tag, double rho, double K, double G ) ;
00073
00074
00075 ~MultiaxialCyclicPlasticityAxiSymm( ) ;
00076
00077 const char *getClassType(void) const {return "MultiaxialCyclicPlasticityAxiSymm";};
00078
00079
00080 NDMaterial* getCopy( ) ;
00081
00082
00083 const char* getType( ) const ;
00084
00085
00086 int getOrder( ) const ;
00087
00088
00089 int setTrialStrain( const Vector &strain_from_element) ;
00090
00091
00092 int setTrialStrain( const Vector &v, const Vector &r ) ;
00093 int setTrialStrainIncr( const Vector &v ) ;
00094 int setTrialStrainIncr( const Vector &v, const Vector &r ) ;
00095
00096
00097 const Vector& getStrain( ) ;
00098
00099
00100 const Vector& getStress( ) ;
00101
00102
00103 const Matrix& getTangent( ) ;
00104 const Matrix& getInitialTangent( ) ;
00105
00106
00107 int setTrialStrain(const Tensor &v) ;
00108 int setTrialStrain(const Tensor &v, const Tensor &r) ;
00109 int setTrialStrainIncr(const Tensor &v) ;
00110 int setTrialStrainIncr(const Tensor &v, const Tensor &r) ;
00111 const Tensor& getTangentTensor( ) ;
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124 private :
00125
00126
00127 static Vector strain_vec ;
00128 static Vector stress_vec ;
00129 static Matrix tangent_matrix ;
00130
00131
00132 } ;
00133
00134
00135 #endif