NashHunterPoleZeroLaw.cpp
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
00047 k[0][0] = 2;
00048 k[1][0] = k[0][1] = 1;
00049 k[0][2] = k[2][0] = 1;
00050 k[1][1] = 2;
00051 k[1][2] = k[2][1] = 1;
00052 k[2][2] = 2;
00053
00054
00055 a[0][0] = 0.475;
00056 a[1][0] = a[0][1] = 0.8;
00057 a[2][0] = a[0][2] = 0.8;
00058 a[1][1] = 0.619;
00059 a[2][1] = a[1][2] = 0.8;
00060 a[2][2] = 0.943;
00061
00062
00063 b[0][0] = 1.5;
00064 b[1][0] = b[0][1] = 1.2;
00065 b[2][0] = b[0][2] = 1.2;
00066 b[1][1] = 1.5;
00067 b[2][1] = b[1][2] = 1.2;
00068 b[2][2] = 0.442;
00069
00070 this->SetParameters(k,a,b);
00071 }
00072
00073 template<>
00074 NashHunterPoleZeroLaw<2>::NashHunterPoleZeroLaw()
00075 : PoleZeroMaterialLaw<2>()
00076 {
00077 std::vector<std::vector<double> > k(2),a(2),b(2);
00078 for (unsigned i=0; i<2; i++)
00079 {
00080 k[i].resize(2);
00081 a[i].resize(2);
00082 b[i].resize(2);
00083 }
00084
00085 k[0][0] = 2;
00086 k[1][0] = k[0][1] = 1;
00087 k[1][1] = 2;
00088
00089 a[0][0] = 0.475;
00090 a[1][0] = a[0][1] = 0.8;
00091 a[1][1] = 0.619;
00092
00093 b[0][0] = 1.5;
00094 b[1][0] = b[0][1] = 1.2;
00095 b[1][1] = 1.5;
00096
00097 this->SetParameters(k,a,b);
00098 }
00099
00100
00102
00104
00105 template class NashHunterPoleZeroLaw<2>;
00106 template class NashHunterPoleZeroLaw<3>;