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 #include "NashHunterPoleZeroLaw.hpp"
00030
00031 template<>
00032 NashHunterPoleZeroLaw<3>::NashHunterPoleZeroLaw()
00033 : PoleZeroMaterialLaw<3>()
00034 {
00035 std::vector<std::vector<double> > k(3),a(3),b(3);
00036 for(unsigned i=0; i<3; i++)
00037 {
00038 k[i].resize(3);
00039 a[i].resize(3);
00040 b[i].resize(3);
00041 }
00042
00044
00045
00046
00048 k[0][0] = 2;
00049 k[1][0] = k[0][1] = 1;
00050 k[0][2] = k[2][0] = 1;
00051 k[1][1] = 2;
00052 k[1][2] = k[2][1] = 1;
00053 k[2][2] = 2;
00054
00055
00056 a[0][0] = 0.475;
00057 a[1][0] = a[0][1] = 0.8;
00058 a[2][0] = a[0][2] = 0.8;
00059 a[1][1] = 0.619;
00060 a[2][1] = a[1][2] = 0.8;
00061 a[2][2] = 0.943;
00062
00063
00064 b[0][0] = 1.5;
00065 b[1][0] = b[0][1] = 1.2;
00066 b[2][0] = b[0][2] = 1.2;
00067 b[1][1] = 1.5;
00068 b[2][1] = b[1][2] = 1.2;
00069 b[2][2] = 0.442;
00070
00071 this->SetParameters(k,a,b);
00072 }
00073
00074 template<>
00075 NashHunterPoleZeroLaw<2>::NashHunterPoleZeroLaw()
00076 : PoleZeroMaterialLaw<2>()
00077 {
00078 std::vector<std::vector<double> > k(2),a(2),b(2);
00079 for(unsigned i=0; i<2; i++)
00080 {
00081 k[i].resize(2);
00082 a[i].resize(2);
00083 b[i].resize(2);
00084 }
00085
00086 k[0][0] = 2;
00087 k[1][0] = k[0][1] = 1;
00088 k[1][1] = 2;
00089
00090 a[0][0] = 0.475;
00091 a[1][0] = a[0][1] = 0.8;
00092 a[1][1] = 0.619;
00093
00094 b[0][0] = 1.5;
00095 b[1][0] = b[0][1] = 1.2;
00096 b[1][1] = 1.5;
00097
00098 this->SetParameters(k,a,b);
00099 }
00100
00101
00103
00105
00106 template class NashHunterPoleZeroLaw<2>;
00107 template class NashHunterPoleZeroLaw<3>;