ParMooN
 All Classes Functions Variables Friends Pages
NF_D_T_SV1_2D.h
1 /*
2  TNodalFunctional2D(NodalFunctional2D id,
3  int n_allfunctionals, int n_edgefunctionals,
4  int n_pointsall, int n_pointsedge,
5  double *xi, double *eta, double *t,
6  DoubleFunctVect *evalall,
7  DoubleFunctVect *evaledge);
8 */
9 
10 static double NF_D_T_SV1_2D_Xi[] = {
11  7.0/18, 2.0/9, 13.0/18,
12  7.0/18, 13.0/18, 2.0/9,
13  2.0/9, 1.0/18, 1.0/18
14  };
15 static double NF_D_T_SV1_2D_Eta[] = {
16  2.0/9, 1.0/18, 1.0/18,
17  7.0/18, 2.0/9, 13.0/18,
18  7.0/18, 13.0/18, 2.0/9
19  };
20 static double *NF_D_T_SV1_2D_T = NULL;
21 
22 void NF_D_T_SV1_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
23  double *Functionals)
24 {
25  Functionals[0] = ( 2*PointValues[0]+2*PointValues[1]+2*PointValues[2])/6;
26  Functionals[1] = (-4*PointValues[0]-4*PointValues[1]+8*PointValues[2])/6;
27  Functionals[2] = ( 8*PointValues[0]-4*PointValues[1]-4*PointValues[2])/6;
28 
29  Functionals[3] = ( 2*PointValues[3]+2*PointValues[4]+2*PointValues[5])/6;
30  Functionals[4] = (-4*PointValues[3]-4*PointValues[4]+8*PointValues[5])/6;
31  Functionals[5] = ( 8*PointValues[3]-4*PointValues[4]-4*PointValues[5])/6;
32 
33  Functionals[6] = ( 2*PointValues[6]+2*PointValues[7]+2*PointValues[8])/6;
34  Functionals[7] = (-4*PointValues[6]-4*PointValues[7]+8*PointValues[8])/6;
35  Functionals[8] = ( 8*PointValues[6]-4*PointValues[7]-4*PointValues[8])/6;
36 }
37 
38 void NF_D_T_SV1_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
39  double *Functionals)
40 {
41 }
42 
43 TNodalFunctional2D *NF_D_T_SV1_2D_Obj = new TNodalFunctional2D
44  (NF_D_T_SV1_2D, 9, 0, 9, 0, NF_D_T_SV1_2D_Xi, NF_D_T_SV1_2D_Eta,
45  NF_D_T_SV1_2D_T, NF_D_T_SV1_2D_EvalAll, NF_D_T_SV1_2D_EvalEdge);
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