ParMooN
 All Classes Functions Variables Friends Pages
BF_D_H_Q1_3D.h
1 // ***********************************************************************
2 // Q1 element, discontinuous, 3D
3 // ***********************************************************************
4 
5 static void D_H_Q1_3D_Funct(double xi, double eta, double zeta,
6  double *values)
7 {
8  values[0] = 1;
9  values[1] = xi;
10  values[2] = eta;
11  values[3] = zeta;
12  values[4] = xi*eta;
13  values[5] = xi*zeta;
14  values[6] = eta*zeta;
15  values[7] = xi*eta*zeta;
16 }
17 
18 static void D_H_Q1_3D_DeriveXi(double xi, double eta, double zeta,
19  double *values)
20 {
21  values[0] = 0;
22  values[1] = 1;
23  values[2] = 0;
24  values[3] = 0;
25  values[4] = eta;
26  values[5] = zeta;
27  values[6] = 0;
28  values[7] = eta*zeta;
29 }
30 
31 static void D_H_Q1_3D_DeriveEta(double xi, double eta, double zeta,
32  double *values)
33 {
34  values[0] = 0;
35  values[1] = 0;
36  values[2] = 1;
37  values[3] = 0;
38  values[4] = xi;
39  values[5] = 0;
40  values[6] = zeta;
41  values[7] = xi*zeta;
42 }
43 
44 static void D_H_Q1_3D_DeriveZeta(double xi, double eta, double zeta,
45  double *values)
46 {
47  values[0] = 0;
48  values[1] = 0;
49  values[2] = 0;
50  values[3] = 1;
51  values[4] = 0;
52  values[5] = xi;
53  values[6] = eta;
54  values[7] = xi*eta;
55 }
56 
57 static void D_H_Q1_3D_DeriveXiXi(double xi, double eta, double zeta,
58  double *values)
59 {
60  memset(values, 0.0, 8*SizeOfDouble);
61 }
62 
63 static void D_H_Q1_3D_DeriveXiEta(double xi, double eta, double zeta,
64  double *values)
65 {
66  memset(values, 0.0, 8*SizeOfDouble);
67  values[4] = 1;
68  values[7] = zeta;
69 }
70 
71 static void D_H_Q1_3D_DeriveXiZeta(double xi, double eta, double zeta,
72  double *values)
73 {
74  memset(values, 0.0, 8*SizeOfDouble);
75  values[5] = 1;
76  values[7] = eta;
77 }
78 
79 static void D_H_Q1_3D_DeriveEtaEta(double xi, double eta, double zeta,
80  double *values)
81 {
82  memset(values, 0.0, 8*SizeOfDouble);
83 }
84 
85 static void D_H_Q1_3D_DeriveEtaZeta(double xi, double eta, double zeta,
86  double *values)
87 {
88  memset(values, 0.0, 8*SizeOfDouble);
89  values[6] = 1;
90  values[7] = xi;
91 }
92 
93 static void D_H_Q1_3D_DeriveZetaZeta(double xi, double eta, double zeta,
94  double *values)
95 {
96  memset(values, 0.0, 8*SizeOfDouble);
97 }
98 
99 TBaseFunct3D *BF_D_H_Q1_3D_Obj =
100 new TBaseFunct3D(8, BF_D_H_Q1_3D, BFUnitHexahedron,
101  D_H_Q1_3D_Funct, D_H_Q1_3D_DeriveXi,
102  D_H_Q1_3D_DeriveEta, D_H_Q1_3D_DeriveZeta,
103  D_H_Q1_3D_DeriveXiXi, D_H_Q1_3D_DeriveXiEta,
104  D_H_Q1_3D_DeriveXiZeta, D_H_Q1_3D_DeriveEtaEta,
105  D_H_Q1_3D_DeriveEtaZeta, D_H_Q1_3D_DeriveZetaZeta,
106  3, 1,
107  0, NULL);
Definition: BaseFunct3D.h:27