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 #ifndef MATPOINT3D_H
00027 #define MATPOINT3D_H
00028
00029 #include <stresst.h>
00030 #include <straint.h>
00031
00032
00033 #include <EPState.h>
00034 #include <NDMaterial.h>
00035
00036 class MatPoint3D
00037 {
00038 private:
00039 short int r_direction_point_number;
00040 short int s_direction_point_number;
00041 short int t_direction_point_number;
00042 double r;
00043 double s;
00044 double t;
00045 double rw;
00046 double sw;
00047 double tw;
00048
00049 public:
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 NDMaterial * matmodel;
00065
00066 public:
00067
00068 MatPoint3D( short int INr_direction_point_number = 0,
00069 short int INs_direction_point_number = 0,
00070 short int INt_direction_point_number = 0,
00071 double r_coord = 0,
00072 double s_coord = 0,
00073 double t_coord = 0,
00074 double r_weight = 0,
00075 double s_weight = 0,
00076 double t_weight = 0,
00077
00078 NDMaterial * p_mmodel = 0
00079
00080
00081
00082
00083
00084 );
00085
00086
00087 ~MatPoint3D();
00088
00089 void Initialize(short int INr_direction_point_number,
00090 short int INs_direction_point_number,
00091 short int INt_direction_point_number,
00092 double r_coord,
00093 double s_coord,
00094 double t_coord,
00095 double r_weight,
00096 double s_weight,
00097 double t_weight,
00098
00099
00100
00101
00102
00103
00104 NDMaterial * p_mmodel
00105 );
00106
00107
00108 public:
00109 short int GP_number_r(void) const;
00110 short int GP_number_s(void) const;
00111 short int GP_number_t(void) const;
00112
00113 MatPoint3D * GP(void);
00114
00115 double r_coordinate() const;
00116 double s_coordinate() const;
00117 double t_coordinate() const;
00118
00119 double r_weight() const;
00120 double s_weight() const;
00121 double t_weight() const;
00122
00123
00124
00125 NDMaterial* getNDMat() const;
00126 const char* getType (void) const;
00127 int getTag (void) const;
00128 double getrho() const;
00129 const stresstensor getStressTensor() const;
00130 const straintensor getStrainTensor() const;
00131
00132 const straintensor getPlasticStrainTensor() const;
00133
00134
00135
00136 int commitState(void) ;
00137 int revertToLastCommit(void) ;
00138 int revertToStart(void) ;
00139
00140 void report(char * msg) const;
00141 void reportpqtheta(char * msg) const;
00142 void reportTensor(char *msg) const;
00143 };
00144
00145 #endif
00146