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