ParMooN
 All Classes Functions Variables Friends Pages
BF_C_T_P2_2D.h
1 // ***********************************************************************
2 // P2 element, conforming, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void C_T_P2_2D_Funct(double xi, double eta, double *values)
7 {
8  double t1 = xi+eta-1;
9 
10  values[0] = t1*(2*xi+2*eta-1);
11  values[1] = -4*t1*xi;
12  values[2] = xi*(2*xi-1);
13  values[3] = -4*t1*eta;
14  values[4] = 4*xi*eta;
15  values[5] = eta*(2*eta-1);
16 }
17 
18 // values of the derivatives in xi direction
19 static void C_T_P2_2D_DeriveXi(double xi, double eta, double *values)
20 {
21  values[0] = 4*xi+4*eta-3;
22  values[1] = -8*xi-4*eta+4;
23  values[2] = 4*xi-1;
24  values[3] = -4*eta;
25  values[4] = 4*eta;
26  values[5] = 0;
27 }
28 
29 // values of the derivatives in eta direction
30 static void C_T_P2_2D_DeriveEta(double xi, double eta, double *values)
31 {
32  values[0] = 4*xi+4*eta-3;
33  values[1] = -4*xi;
34  values[2] = 0;
35  values[3] = -4*xi-8*eta+4;
36  values[4] = 4*xi;
37  values[5] = 4*eta-1;
38 }
39 // values of the derivatives in xi-xi direction
40 static void C_T_P2_2D_DeriveXiXi(double xi, double eta, double *values)
41 {
42  values[0] = 4;
43  values[1] = -8;
44  values[2] = 4;
45  values[3] = 0;
46  values[4] = 0;
47  values[5] = 0;
48 }
49 // values of the derivatives in xi-eta direction
50 static void C_T_P2_2D_DeriveXiEta(double xi, double eta, double *values)
51 {
52  values[0] = 4;
53  values[1] = -4;
54  values[2] = 0;
55  values[3] = -4;
56  values[4] = 4;
57  values[5] = 0;
58 }
59 // values of the derivatives in eta-eta direction
60 static void C_T_P2_2D_DeriveEtaEta(double xi, double eta, double *values)
61 {
62  values[0] = 4;
63  values[1] = 0;
64  values[2] = 0;
65  values[3] = -8;
66  values[4] = 0;
67  values[5] = 4;
68 }
69 
70 // ***********************************************************************
71 
72 TBaseFunct2D *BF_C_T_P2_2D_Obj = new TBaseFunct2D
73  (6, BF_C_T_P2_2D, BFUnitTriangle,
74  C_T_P2_2D_Funct, C_T_P2_2D_DeriveXi,
75  C_T_P2_2D_DeriveEta, C_T_P2_2D_DeriveXiXi,
76  C_T_P2_2D_DeriveXiEta, C_T_P2_2D_DeriveEtaEta, 2, 2,
77  0, NULL);
Definition: BaseFunct2D.h:27