ParMooN
 All Classes Functions Variables Friends Pages
BF_C_T_UL1_2D.h
1 // ***********************************************************************
2 // P1 element with bubble, conforming, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void C_T_UL1_2D_Funct(double xi, double eta, double *values)
7 {
8  double t3, t4;
9 
10  t3 = xi*eta*(1.0-xi-eta);
11  t4 = 20.0*t3;
12 
13  values[0] = 1.0-xi-eta-t4;
14  values[1] = xi-t4;
15  values[2] = eta-t4;
16  values[3] = 60.0*t3;
17 }
18 
19 // values of the derivatives in xi direction
20 static void C_T_UL1_2D_DeriveXi(double xi, double eta, double *values)
21 {
22  double t2, t3, t4, t5, t8;
23 
24  t2 = eta*(1.0-xi-eta);
25  t3 = 20.0*t2;
26  t4 = xi*eta;
27  t5 = 20.0*t4;
28  t8 = -t2+t4;
29 
30  values[0] = -1.0-t3+t5;
31  values[1] = 1.0-t3+t5;
32  values[2] = 20.0*t8;
33  values[3] = -60.0*t8;
34 }
35 
36 // values of the derivatives in eta direction
37 static void C_T_UL1_2D_DeriveEta(double xi, double eta, double *values)
38 {
39  double t2, t3, t4, t5, t7;
40 
41  t2 = xi*(1.0-xi-eta);
42  t3 = 20.0*t2;
43  t4 = xi*eta;
44  t5 = 20.0*t4;
45  t7 = -t2+t4;
46 
47  values[0] = -1.0-t3+t5;
48  values[1] = 20.0*t7;
49  values[2] = 1.0-t3+t5;
50  values[3] = -60.0*t7;
51 }
52 
53 // values of the derivatives in xi-xi direction
54 static void C_T_UL1_2D_DeriveXiXi(double xi, double eta, double *values)
55 {
56  double t1;
57 
58  t1 = 40.0*eta;
59 
60  values[0] = t1;
61  values[1] = t1;
62  values[2] = t1;
63  values[3] = -120.0*eta;
64 }
65 
66 // values of the derivatives in xi-eta direction
67 static void C_T_UL1_2D_DeriveXiEta(double xi, double eta, double *values)
68 {
69  double t3;
70 
71  t3 = -20.0+40.0*xi+40.0*eta;
72 
73  values[0] = t3;
74  values[1] = t3;
75  values[2] = t3;
76  values[3] = 60.0-120.0*xi-120.0*eta;
77 }
78 
79 // values of the derivatives in eta-eta direction
80 static void C_T_UL1_2D_DeriveEtaEta(double xi, double eta, double *values)
81 {
82  double t1;
83 
84  t1 = 40.0*xi;
85 
86  values[0] = t1;
87  values[1] = t1;
88  values[2] = t1;
89  values[3] = -120.0*xi;
90 }
91 
92 // ***********************************************************************
93 
94 TBaseFunct2D *BF_C_T_UL1_2D_Obj = new TBaseFunct2D
95  (4, BF_C_T_UL1_2D, BFUnitTriangle,
96  C_T_UL1_2D_Funct, C_T_UL1_2D_DeriveXi,
97  C_T_UL1_2D_DeriveEta, C_T_UL1_2D_DeriveXiXi,
98  C_T_UL1_2D_DeriveXiEta, C_T_UL1_2D_DeriveEtaEta, 3, 1,
99  0, NULL);
Definition: BaseFunct2D.h:27