ParMooN
 All Classes Functions Variables Friends Pages
NF_D_Q_P1_2D.h
1 static double NF_D_Q_P1_2D_Xi[9]={ 0.774596669241483, -0.774596669241483,
2  0.774596669241483, -0.774596669241483,
3  0.774596669241483, -0.774596669241483,
4  0, 0,
5  0 };
6 static double NF_D_Q_P1_2D_Eta[9]={ 0.774596669241483, 0.774596669241483,
7  -0.774596669241483, -0.774596669241483,
8  0, 0,
9  0.774596669241483, -0.774596669241483,
10  0 };
11 
12 static double *NF_D_Q_P1_2D_t = NULL;
13 
14 void NF_D_Q_P1_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
15  double *Functionals)
16 {
17  static double weights[9]={ 0.308641975308642, 0.308641975308642,
18  0.308641975308642, 0.308641975308642,
19  0.493827160493827, 0.493827160493827,
20  0.493827160493827, 0.493827160493827,
21  0.790123456790123 };
22  Functionals[0] = weights[0]*PointValues[0]
23  +weights[1]*PointValues[1]
24  +weights[2]*PointValues[2]
25  +weights[3]*PointValues[3]
26  +weights[4]*PointValues[4]
27  +weights[5]*PointValues[5]
28  +weights[6]*PointValues[6]
29  +weights[7]*PointValues[7]
30  +weights[8]*PointValues[8];
31  Functionals[1] = weights[0]*PointValues[0]*NF_D_Q_P1_2D_Xi[0]
32  +weights[1]*PointValues[1]*NF_D_Q_P1_2D_Xi[1]
33  +weights[2]*PointValues[2]*NF_D_Q_P1_2D_Xi[2]
34  +weights[3]*PointValues[3]*NF_D_Q_P1_2D_Xi[3]
35  +weights[4]*PointValues[4]*NF_D_Q_P1_2D_Xi[4]
36  +weights[5]*PointValues[5]*NF_D_Q_P1_2D_Xi[5]
37  +weights[6]*PointValues[6]*NF_D_Q_P1_2D_Xi[6]
38  +weights[7]*PointValues[7]*NF_D_Q_P1_2D_Xi[7]
39  +weights[8]*PointValues[8]*NF_D_Q_P1_2D_Xi[8];
40  Functionals[2] = weights[0]*PointValues[0]*NF_D_Q_P1_2D_Eta[0]
41  +weights[1]*PointValues[1]*NF_D_Q_P1_2D_Eta[1]
42  +weights[2]*PointValues[2]*NF_D_Q_P1_2D_Eta[2]
43  +weights[3]*PointValues[3]*NF_D_Q_P1_2D_Eta[3]
44  +weights[4]*PointValues[4]*NF_D_Q_P1_2D_Eta[4]
45  +weights[5]*PointValues[5]*NF_D_Q_P1_2D_Eta[5]
46  +weights[6]*PointValues[6]*NF_D_Q_P1_2D_Eta[6]
47  +weights[7]*PointValues[7]*NF_D_Q_P1_2D_Eta[7]
48  +weights[8]*PointValues[8]*NF_D_Q_P1_2D_Eta[8];
49 
50  Functionals[0] *= 0.25;
51  Functionals[1] *= 0.25;
52  Functionals[2] *= 0.25;
53 }
54 
55 void NF_D_Q_P1_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
56  double *Functionals)
57 {
58 }
59 
60 /*
61  TNodalFunctional2D(NodalFunctional2D id,
62  int n_allfunctionals, int n_edgefunctionals,
63  int n_pointsall, int n_pointsedge,
64  double *xi, double *eta, double *t,
65  DoubleFunctVect *evalall,
66  DoubleFunctVect *evaledge);
67 */
68 
69 TNodalFunctional2D *NF_D_Q_P1_2D_Obj = new TNodalFunctional2D
70  (NF_D_Q_P1_2D, 3, 0, 9, 0, NF_D_Q_P1_2D_Xi, NF_D_Q_P1_2D_Eta,
71  NF_D_Q_P1_2D_t, NF_D_Q_P1_2D_EvalAll, NULL);
72 
store cells in an array, used by cell iterators
Definition: Collection.h:18
Definition: NodalFunctional2D.h:20
information for finite element data structure
Definition: BaseCell.h:25