ParMooN
 All Classes Functions Variables Friends Pages
BF_C_Q_Q1_2D.h
1 // ***********************************************************************
2 // Q1 element, conforming, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void C_Q_Q1_2D_Funct(double xi, double eta, double *values)
7 {
8  values[0]=0.25*(1-xi-eta+xi*eta);
9  values[1]=0.25*(1+xi-eta-xi*eta);
10  values[2]=0.25*(1-xi+eta-xi*eta);
11  values[3]=0.25*(1+xi+eta+xi*eta);
12 }
13 
14 // values of the derivatives in xi direction
15 static void C_Q_Q1_2D_DeriveXi(double xi, double eta, double *values)
16 {
17  values[0]=0.25*(-1+eta);
18  values[1]=0.25*( 1-eta);
19  values[2]=0.25*(-1-eta);
20  values[3]=0.25*( 1+eta);
21 }
22 
23 // values of the derivatives in eta direction
24 static void C_Q_Q1_2D_DeriveEta(double xi, double eta, double *values)
25 {
26  values[0]=0.25*(-1+xi);
27  values[1]=0.25*(-1-xi);
28  values[2]=0.25*( 1-xi);
29  values[3]=0.25*( 1+xi);
30 }
31 // values of the derivatives in xi-xi direction
32 static void C_Q_Q1_2D_DeriveXiXi(double xi, double eta, double *values)
33 {
34  values[0]=0;
35  values[1]=0;
36  values[2]=0;
37  values[3]=0;
38 }
39 // values of the derivatives in xi-eta direction
40 static void C_Q_Q1_2D_DeriveXiEta(double xi, double eta, double *values)
41 {
42  values[0]=0.25;
43  values[1]=-0.25;
44  values[2]=-0.25;
45  values[3]=0.25;
46 }
47 // values of the derivatives in eta-eta direction
48 static void C_Q_Q1_2D_DeriveEtaEta(double xi, double eta, double *values)
49 {
50  values[0]=0;
51  values[1]=0;
52  values[2]=0;
53  values[3]=0;
54 }
55 
56 
57 // ***********************************************************************
58 
59 TBaseFunct2D *BF_C_Q_Q1_2D_Obj = new TBaseFunct2D
60  (4, BF_C_Q_Q1_2D, BFUnitSquare,
61  C_Q_Q1_2D_Funct, C_Q_Q1_2D_DeriveXi,
62  C_Q_Q1_2D_DeriveEta, C_Q_Q1_2D_DeriveXiXi,
63  C_Q_Q1_2D_DeriveXiEta, C_Q_Q1_2D_DeriveEtaEta, 1, 1,
64  0, NULL);
Definition: BaseFunct2D.h:27