00001 #ifndef DRPRAG2_H
00002 #define DRPRAG2_H
00003
00004 #include "iotools.h"
00005 #include "alias.h"
00006 #include "strretalg.h"
00007 struct matrix;
00008 struct vector;
00009 struct atsel;
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 class drprag2
00021 {
00022 public:
00023 drprag2 (void);
00024 ~drprag2 (void);
00025 void read (XFILE *in);
00026 void giveIota(strastrestate ssst, vector &iota);
00027 void giveIdev(strastrestate ssst, matrix &idev);
00028 void getImportantValues(long ipp, long ido, double &K_con, double &G_con, double &rho_tr, double &p_tr);
00029 void getImportantValues(long ipp, long ido, double &K_con, double &G_con, double &rho_tr, double &p_tr, vector &iota, vector &epsilon_etr, matrix &Idev);
00030 double getQvalue(double gamma, long ipp, long ido);
00031 void getValueOfHardening(long ipp, long ido, double &H_value, double &Hder_value);
00032 double newton_one_element_case2(long ipp, long ido);
00033 double newton_one_element_case3(long ipp, long ido);
00034 void matstiff (matrix &d, long ipp, long ido);
00035 void tangentstiff (matrix &d,matrix &td,long ipp,long ido);
00036 void nlstresses (long ipp,long im,long ido);
00037
00038 void updateval (long ipp, long im,long ido);
00039 void giveirrstrains (long ipp, long ido, vector &epsp);
00040 double give_consparam (long ipp, long ido);
00041 void changeparam (atsel &atm,vector &val);
00042
00043
00044
00045 double phi;
00046
00047 double c;
00048
00049 double psi;
00050
00051 double theta;
00052
00053 double clim;
00054
00055
00056 double alpha;
00057 double alpha1;
00058 double beta;
00059
00060
00061 strretalg sra;
00062 };
00063
00064 #endif