00001 #ifndef __integrationformula_h
00002 #define __integrationformula_h
00003
00004 #include "integrationformulabase.h"
00005
00006
00007
00008 namespace Gascoigne
00009 {
00010 typedef IntegrationFormulaBase<1> IntegrationFormula1d;
00011 typedef IntegrationFormulaBase<2> IntegrationFormula2d;
00012 typedef IntegrationFormulaBase<3> IntegrationFormula3d;
00013
00014
00015
00016 class LineMidPoint : public IntegrationFormula1d{
00017 public: LineMidPoint();};
00018
00019
00020
00021 class LineTrapez : public IntegrationFormula1d{
00022 public: LineTrapez();};
00023
00024
00025
00026 class LineSimpson : public IntegrationFormula1d{
00027 public: LineSimpson();};
00028
00029
00030
00031 class LineGauss1 : public IntegrationFormula1d{
00032 public: LineGauss1();};
00033
00034
00035
00036 class LineGauss2 : public IntegrationFormula1d{
00037 public: LineGauss2();};
00038
00039
00040
00041 class LineGauss3 : public IntegrationFormula1d{
00042 public: LineGauss3();};
00043
00044
00045
00046 class LineGauss4 : public IntegrationFormula1d{
00047 public: LineGauss4();};
00048
00049
00050
00051 class LineGauss5 : public IntegrationFormula1d{
00052 public: LineGauss5();};
00053
00054
00055
00056 class LineGauss6 : public IntegrationFormula1d{
00057 public: LineGauss6();};
00058
00059
00060
00061 class LineGauss7 : public IntegrationFormula1d{
00062 public: LineGauss7();};
00063
00064
00065
00066 class LineGauss8 : public IntegrationFormula1d{
00067 public: LineGauss8();};
00068
00069
00070
00071 class LineGauss9 : public IntegrationFormula1d{
00072 public: LineGauss9();};
00073
00074
00075
00076 class LineGauss10 : public IntegrationFormula1d{
00077 public: LineGauss10();};
00078
00079
00080
00081 template<int N, class LineFormula>
00082 class TensorFormula2d : public IntegrationFormula2d
00083 {
00084 public: TensorFormula2d();};
00085
00086
00087
00088 template<int N, class Line>
00089 class TensorFormula3d : public IntegrationFormula3d{
00090 public: TensorFormula3d();};
00091
00092
00093
00094 typedef TensorFormula2d<1,LineMidPoint> QuadMidPoint;
00095 typedef TensorFormula2d<2,LineTrapez> QuadTrapez;
00096 typedef TensorFormula2d<3,LineSimpson> QuadSimpson;
00097
00098 typedef TensorFormula2d<1,LineGauss1> QuadGauss1;
00099 typedef TensorFormula2d<2,LineGauss2> QuadGauss4;
00100 typedef TensorFormula2d<3,LineGauss3> QuadGauss9;
00101 typedef TensorFormula2d<4,LineGauss4> QuadGauss16;
00102 typedef TensorFormula2d<5,LineGauss5> QuadGauss25;
00103 typedef TensorFormula2d<6,LineGauss6> QuadGauss36;
00104 typedef TensorFormula2d<7,LineGauss7> QuadGauss49;
00105 typedef TensorFormula2d<8,LineGauss8> QuadGauss64;
00106 typedef TensorFormula2d<9,LineGauss9> QuadGauss81;
00107 typedef TensorFormula2d<10,LineGauss10> QuadGauss100;
00108
00109
00110
00111 typedef TensorFormula3d<2,LineTrapez> HexTrapez;
00112 typedef TensorFormula3d<2,LineGauss2> HexGauss8;
00113 typedef TensorFormula3d<3,LineGauss3> HexGauss27;
00114 typedef TensorFormula3d<4,LineGauss4> HexGauss64;
00115 typedef TensorFormula3d<5,LineGauss5> HexGauss125;
00116 }
00117
00118
00119
00120 #endif