source: issm/oecreview/Archive/17984-18295/ISSM-18282-18283.diff@ 18296

Last change on this file since 18296 was 18296, checked in by Mathieu Morlighem, 11 years ago

Added 17984-18295

File size: 8.2 KB
RevLine 
[18296]1Index: ../trunk-jpl/src/c/classes/Elements/Element.h
2===================================================================
3--- ../trunk-jpl/src/c/classes/Elements/Element.h (revision 18282)
4+++ ../trunk-jpl/src/c/classes/Elements/Element.h (revision 18283)
5@@ -171,6 +171,7 @@
6 virtual IssmDouble MinEdgeLength(IssmDouble* xyz_list)=0;
7 virtual void NodalFunctions(IssmDouble* basis,Gauss* gauss)=0;
8 virtual void NodalFunctionsP1(IssmDouble* basis,Gauss* gauss)=0;
9+ virtual void NodalFunctionsP2(IssmDouble* basis,Gauss* gauss)=0;
10 virtual void NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss)=0;
11 virtual void NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss)=0;
12 virtual void NodalFunctionsTensor(IssmDouble* basis, Gauss* gauss)=0;
13@@ -193,6 +194,7 @@
14 virtual void GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution,int solutionenum)=0;
15 virtual int GetNodeIndex(Node* node)=0;
16 virtual int GetNumberOfNodes(void)=0;
17+ virtual int GetNumberOfNodes(int enum_type)=0;
18 virtual int GetNumberOfVertices(void)=0;
19
20 virtual bool IsNodeOnShelfFromFlags(IssmDouble* flags)=0;
21Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
22===================================================================
23--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 18282)
24+++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 18283)
25@@ -886,6 +886,10 @@
26 else return 0;
27 }
28 /*}}}*/
29+int Tria::GetNumberOfNodes(int enum_type){/*{{{*/
30+ return this->NumberofNodes(enum_type);
31+}
32+/*}}}*/
33 int Tria::GetNumberOfVertices(void){/*{{{*/
34 return NUMVERTICES;
35 }
36@@ -1446,6 +1450,13 @@
37
38 }
39 /*}}}*/
40+void Tria::NodalFunctionsP2(IssmDouble* basis, Gauss* gauss){/*{{{*/
41+
42+ _assert_(gauss->Enum()==GaussTriaEnum);
43+ this->GetNodalFunctions(basis,(GaussTria*)gauss,P2Enum);
44+
45+}
46+/*}}}*/
47 void Tria::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
48
49 _assert_(gauss->Enum()==GaussTriaEnum);
50Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
51===================================================================
52--- ../trunk-jpl/src/c/classes/Elements/Tria.h (revision 18282)
53+++ ../trunk-jpl/src/c/classes/Elements/Tria.h (revision 18283)
54@@ -68,6 +68,7 @@
55 IssmDouble GetGroundedPortion(IssmDouble* xyz_list);
56 int GetNodeIndex(Node* node);
57 int GetNumberOfNodes(void);
58+ int GetNumberOfNodes(int enum_type);
59 int GetNumberOfVertices(void);
60 bool IsOnBase();
61 bool IsOnSurface();
62@@ -164,6 +165,7 @@
63 Gauss* NewGaussTop(int order);
64 void NodalFunctions(IssmDouble* basis,Gauss* gauss);
65 void NodalFunctionsP1(IssmDouble* basis,Gauss* gauss);
66+ void NodalFunctionsP2(IssmDouble* basis,Gauss* gauss);
67 void NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
68 void NodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
69 void NodalFunctionsMINIDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
70Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
71===================================================================
72--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 18282)
73+++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 18283)
74@@ -853,6 +853,10 @@
75 return this->NumberofNodes(this->element_type);
76 }
77 /*}}}*/
78+int Penta::GetNumberOfNodes(int enum_type){/*{{{*/
79+ return this->NumberofNodes(enum_type);
80+}
81+/*}}}*/
82 int Penta::GetNumberOfVertices(void){/*{{{*/
83 return NUMVERTICES;
84 }
85@@ -1627,6 +1631,13 @@
86
87 }
88 /*}}}*/
89+void Penta::NodalFunctionsP2(IssmDouble* basis, Gauss* gauss){/*{{{*/
90+
91+ _assert_(gauss->Enum()==GaussPentaEnum);
92+ this->GetNodalFunctions(basis,(GaussPenta*)gauss,P2Enum);
93+
94+}
95+/*}}}*/
96 void Penta::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
97
98 _assert_(gauss->Enum()==GaussPentaEnum);
99Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
100===================================================================
101--- ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 18282)
102+++ ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 18283)
103@@ -73,6 +73,7 @@
104 IssmDouble GetGroundedPortion(IssmDouble* xyz_list);
105 int GetNodeIndex(Node* node);
106 int GetNumberOfNodes(void);
107+ int GetNumberOfNodes(int enum_type);
108 int GetNumberOfVertices(void);
109 void GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution,int enum_type);
110 void GetVerticesCoordinatesBase(IssmDouble** pxyz_list);
111@@ -162,6 +163,7 @@
112 Gauss* NewGaussTop(int order);
113 void NodalFunctions(IssmDouble* basis,Gauss* gauss);
114 void NodalFunctionsP1(IssmDouble* basis,Gauss* gauss);
115+ void NodalFunctionsP2(IssmDouble* basis,Gauss* gauss);
116 void NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
117 void NodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
118 void NodalFunctionsMINIDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
119Index: ../trunk-jpl/src/c/classes/Elements/Seg.cpp
120===================================================================
121--- ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 18282)
122+++ ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 18283)
123@@ -108,6 +108,13 @@
124
125 }
126 /*}}}*/
127+void Seg::NodalFunctionsP2(IssmDouble* basis, Gauss* gauss){/*{{{*/
128+
129+ _assert_(gauss->Enum()==GaussSegEnum);
130+ this->GetNodalFunctions(basis,(GaussSeg*)gauss,P2Enum);
131+
132+}
133+/*}}}*/
134 int Seg::GetNumberOfNodes(void){/*{{{*/
135 return this->NumberofNodes(this->element_type);
136 }
137Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
138===================================================================
139--- ../trunk-jpl/src/c/classes/Elements/Seg.h (revision 18282)
140+++ ../trunk-jpl/src/c/classes/Elements/Seg.h (revision 18283)
141@@ -67,6 +67,7 @@
142 Element* GetBasalElement(void){_error_("not implemented yet");};
143 int GetNodeIndex(Node* node){_error_("not implemented yet");};
144 int GetNumberOfNodes(void);
145+ int GetNumberOfNodes(int enum_type){_error_("not implemented yet");};
146 int GetNumberOfVertices(void);
147 void GetVerticesCoordinates(IssmDouble** pxyz_list);
148 void GetVerticesCoordinatesBase(IssmDouble** pxyz_list){_error_("not implemented yet");};
149@@ -82,6 +83,7 @@
150 IssmDouble MinEdgeLength(IssmDouble* xyz_list){_error_("not implemented yet");};
151 void NodalFunctions(IssmDouble* basis,Gauss* gauss);
152 void NodalFunctionsP1(IssmDouble* basis,Gauss* gauss);
153+ void NodalFunctionsP2(IssmDouble* basis,Gauss* gauss);
154 void NodalFunctionsVelocity(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
155 void NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
156 void NodalFunctionsTensor(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
157Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
158===================================================================
159--- ../trunk-jpl/src/c/classes/Elements/Tetra.h (revision 18282)
160+++ ../trunk-jpl/src/c/classes/Elements/Tetra.h (revision 18283)
161@@ -70,6 +70,7 @@
162 Element* GetBasalElement(void){_error_("not implemented yet");};
163 int GetNodeIndex(Node* node);
164 int GetNumberOfNodes(void);
165+ int GetNumberOfNodes(int enum_type){_error_("not implemented yet");};
166 int GetNumberOfVertices(void);
167 void GetVerticesCoordinatesBase(IssmDouble** pxyz_list);
168 void GetVerticesCoordinatesTop(IssmDouble** pxyz_list);
169@@ -86,6 +87,7 @@
170 IssmDouble MinEdgeLength(IssmDouble* xyz_list){_error_("not implemented yet");};
171 void NodalFunctions(IssmDouble* basis,Gauss* gauss);
172 void NodalFunctionsP1(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
173+ void NodalFunctionsP2(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
174 void NodalFunctionsVelocity(IssmDouble* basis,Gauss* gauss);
175 void NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss);
176 void NodalFunctionsTensor(IssmDouble* basis,Gauss* gauss);
Note: See TracBrowser for help on using the repository browser.