00001 #ifndef ANISODAMROT_H
00002 #define ANISODAMROT_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
00021
00022
00023
00024
00025 class anisodamrot
00026 {
00027 public:
00028 anisodamrot (void);
00029 ~anisodamrot (void);
00030 void read (XFILE *in);
00031 double damdrvforce_vol(double nu, vector &peps);
00032 void damdrvforce_dev(double nu, vector &peps, vector &pyt, vector &pyc);
00033 double loadfuncvol(long ipp, double nu, vector &peps, double d, double aa);
00034 void loadfuncdev(long ipp, double nu, vector &peps, vector &damt, vector &damc, double aat, double aac, vector &lft, vector &lfc);
00035 double dam_vol(long ipp, double y, double aa, double dvo);
00036 void pdam_dev(long ipp, vector &pyc, vector &pyt, double aat, double aac, vector &pdamt, vector &pdamc);
00037 double brittle_damage(long ipp, double y, double e, double f, double uf, double omegao);
00038 void give_actual_param_a(long ipp, long ido, double &aa, double &aat, double &aac);
00039 double give_actual_ft(long ipp);
00040 double give_actual_fc(long ipp);
00041 void initvalues(long ipp, long ido);
00042 void matstiff (matrix &d,long ipp,long ido);
00043 void elmatstiff (matrix &d,long ipp);
00044 void nlstresses (long ipp, long im, long ido);
00045 void updateval (long ipp,long im,long ido);
00046
00047
00048
00049 dam_evolfunc damevf;
00050
00051 double ft;
00052
00053 double uft;
00054
00055 double fc;
00056
00057 double ufc;
00058
00059 strretalg sra;
00060
00061 corr_disip_en cde;
00062
00063 double a;
00064
00065 double b;
00066
00067 double y0;
00068
00069 double at;
00070
00071 double bt;
00072
00073 double y0t;
00074
00075 double ac;
00076
00077 double bc;
00078
00079 double y0c;
00080
00081 double gf;
00082
00083 double gft;
00084
00085 double gfc;
00086
00087 };
00088
00089 #endif