ParMooN
 All Classes Functions Variables Friends Pages
NSE3D_FixPoSkew.h
1 // ======================================================================
2 // NSE3D_FixPoSkew.h
3 //
4 // common declaration for all Navier-Stokes problems
5 // ======================================================================
6 
7 #ifndef __NSE3DFIXPO_SKEW__
8 #define __NSE3DFIXPO_SKEW__
9 
10 #include <Enumerations.h>
11 
12 // ======================================================================
13 // Type 1, Standard Galerkin
14 // ======================================================================
15 void NSType1GalerkinSkew3D(double Mult, double *coeff,
16  double *param, double hK,
17  double **OrigValues, int *N_BaseFuncts,
18  double ***LocMatrices, double **LocRhs);
19 
20 // ======================================================================
21 // Type 1, (reduced) SDFEM or (simplified RFB)
22 // ======================================================================
23 void NSType1SDFEMSkew3D(double Mult, double *coeff,
24  double *param, double hK,
25  double **OrigValues, int *N_BaseFuncts,
26  double ***LocMatrices, double **LocRhs);
27 
28 // ======================================================================
29 // Type 1, for upwind not available
30 // ======================================================================
31 
32 // ======================================================================
33 // Type 1, Smagorinsky
34 // ======================================================================
35 void NSType1SmagorinskySkew3D(double Mult, double *coeff,
36  double *param, double hK,
37  double **OrigValues, int *N_BaseFuncts,
38  double ***LocMatrices, double **LocRhs);
39 
40 // ======================================================================
41 // Type 2, Standard Galerkin
42 // ======================================================================
43 void NSType2GalerkinSkew3D(double Mult, double *coeff,
44  double *param, double hK,
45  double **OrigValues, int *N_BaseFuncts,
46  double ***LocMatrices, double **LocRhs);
47 
48 // ======================================================================
49 // Type 2, SDFEM
50 // ======================================================================
51 void NSType2SDFEMSkew3D(double Mult, double *coeff,
52  double *param, double hK,
53  double **OrigValues, int *N_BaseFuncts,
54  double ***LocMatrices, double **LocRhs);
55 
56 // ======================================================================
57 // Type 2, Upwind not available
58 // ======================================================================
59 
60 // ======================================================================
61 // Type 2, Smagorinsky
62 // ======================================================================
63 void NSType2SmagorinskySkew3D(double Mult, double *coeff,
64  double *param, double hK,
65  double **OrigValues, int *N_BaseFuncts,
66  double ***LocMatrices, double **LocRhs);
67 
68 
69 // ======================================================================
70 // Type 3, Standard Galerkin, (grad u, grad v)
71 // ======================================================================
72 void NSType3GalerkinSkew3D(double Mult, double *coeff,
73  double *param, double hK,
74  double **OrigValues, int *N_BaseFuncts,
75  double ***LocMatrices, double **LocRhs);
76 
77 // ======================================================================
78 // Type 3, Standard Galerkin, D(u):D(v)
79 // ======================================================================
80 void NSType3GalerkinDDSkew3D(double Mult, double *coeff,
81  double *param, double hK,
82  double **OrigValues, int *N_BaseFuncts,
83  double ***LocMatrices, double **LocRhs);
84 
85 // ======================================================================
86 // for Type 3 is SDFEM not available
87 // ======================================================================
88 
89 // ======================================================================
90 // Type 3, Upwind not available
91 // ======================================================================
92 
93 // ======================================================================
94 // Type 3, Smagorinsky, (grad u, grad v)
95 // ======================================================================
96 void NSType3SmagorinskySkew3D(double Mult, double *coeff,
97  double *param, double hK,
98  double **OrigValues, int *N_BaseFuncts,
99  double ***LocMatrices, double **LocRhs);
100 
101 // ======================================================================
102 // Type 3, Smagorinsky, D(u):D(v)
103 // ======================================================================
104 void NSType3SmagorinskyDDSkew3D(double Mult, double *coeff,
105  double *param, double hK,
106  double **OrigValues, int *N_BaseFuncts,
107  double ***LocMatrices, double **LocRhs);
108 
109 // ======================================================================
110 // Type 4, Standard Galerkin, (grad u, grad v)
111 // ======================================================================
112 void NSType4GalerkinSkew3D(double Mult, double *coeff,
113  double *param, double hK,
114  double **OrigValues, int *N_BaseFuncts,
115  double ***LocMatrices, double **LocRhs);
116 
117 // ======================================================================
118 // Type 4, Standard Galerkin, D(u):D(v)
119 // ======================================================================
120 void NSType4GalerkinDDSkew3D(double Mult, double *coeff,
121  double *param, double hK,
122  double **OrigValues, int *N_BaseFuncts,
123  double ***LocMatrices, double **LocRhs);
124 
125 // ======================================================================
126 // Type 4, SDFEM, (grad u, grad v)
127 // ======================================================================
128 void NSType4SDFEMSkew3D(double Mult, double *coeff,
129  double *param, double hK,
130  double **OrigValues, int *N_BaseFuncts,
131  double ***LocMatrices, double **LocRhs);
132 
133 // ======================================================================
134 // Type 4, SDFEM, D(u):D(v)
135 // ======================================================================
136 void NSType4SDFEMDDSkew3D(double Mult, double *coeff,
137  double *param, double hK,
138  double **OrigValues, int *N_BaseFuncts,
139  double ***LocMatrices, double **LocRhs);
140 
141 // ======================================================================
142 // Type 4, Upwind not available
143 // ======================================================================
144 
145 // ======================================================================
146 // Type 4, Smagorinsky, (grad u, grad v)
147 // ======================================================================
148 void NSType4SmagorinskySkew3D(double Mult, double *coeff,
149  double *param, double hK,
150  double **OrigValues, int *N_BaseFuncts,
151  double ***LocMatrices, double **LocRhs);
152 
153 // ======================================================================
154 // Type 4, Smagorinsky, D(u):D(v)
155 // ======================================================================
156 void NSType4SmagorinskyDDSkew3D(double Mult, double *coeff,
157  double *param, double hK,
158  double **OrigValues, int *N_BaseFuncts,
159  double ***LocMatrices, double **LocRhs);
160 
161 // ======================================================================
162 // Type 1, Standard Galerkin, only nonlinear part
163 // ======================================================================
164 void NSType1_2NLGalerkinSkew3D(double Mult, double *coeff,
165  double *param, double hK,
166  double **OrigValues, int *N_BaseFuncts,
167  double ***LocMatrices, double **LocRhs);
168 
169 // ======================================================================
170 // Type 1,(reduced) SDFEM or (simplified) RFB
171 // ======================================================================
172 void NSType1NLSDFEMSkew3D(double Mult, double *coeff,
173  double *param, double hK,
174  double **OrigValues, int *N_BaseFuncts,
175  double ***LocMatrices, double **LocRhs);
176 
177 // ======================================================================
178 // Type 1, for upwind not available
179 // ======================================================================
180 
181 // ======================================================================
182 // Type 1, Smagorinsky, only nonlinear part
183 // ======================================================================
184 void NSType1_2NLSmagorinskySkew3D(double Mult, double *coeff,
185  double *param, double hK,
186  double **OrigValues, int *N_BaseFuncts,
187  double ***LocMatrices, double **LocRhs);
188 
189 
190 // ======================================================================
191 // Type 2, SDFEM
192 // ======================================================================
193 void NSType2NLSDFEMSkew3D(double Mult, double *coeff,
194  double *param, double hK,
195  double **OrigValues, int *N_BaseFuncts,
196  double ***LocMatrices, double **LocRhs);
197 
198 // ======================================================================
199 // Type 3, Standard Galerkin, (grad u, grad v)
200 // ======================================================================
201 void NSType3_4NLGalerkinSkew3D(double Mult, double *coeff,
202  double *param, double hK,
203  double **OrigValues, int *N_BaseFuncts,
204  double ***LocMatrices, double **LocRhs);
205 
206 // ======================================================================
207 // Type 3, Standard Galerkin, D(u):D(v)
208 // ======================================================================
209 void NSType3_4NLGalerkinDDSkew3D(double Mult, double *coeff,
210  double *param, double hK,
211  double **OrigValues, int *N_BaseFuncts,
212  double ***LocMatrices, double **LocRhs);
213 
214 // ======================================================================
215 // Type 3, Upwind not available
216 // ======================================================================
217 
218 // ======================================================================
219 // Type 3, Smagorinsky, (grad u, grad v)
220 // ======================================================================
221 void NSType3_4NLSmagorinskySkew3D(double Mult, double *coeff,
222  double *param, double hK,
223  double **OrigValues, int *N_BaseFuncts,
224  double ***LocMatrices, double **LocRhs);
225 
226 // ======================================================================
227 // Type 3, Smagorinsky, D(u):D(v)
228 // ======================================================================
229 void NSType3_4NLSmagorinskyDDSkew3D(double Mult, double *coeff,
230  double *param, double hK,
231  double **OrigValues, int *N_BaseFuncts,
232  double ***LocMatrices, double **LocRhs);
233 
234 // ======================================================================
235 // Type 4, SDFEM, (grad u, grad v)
236 // ======================================================================
237 void NSType4NLSDFEMSkew3D(double Mult, double *coeff,
238  double *param, double hK,
239  double **OrigValues, int *N_BaseFuncts,
240  double ***LocMatrices, double **LocRhs);
241 
242 // ======================================================================
243 // Type 4, SDFEM, D(u):D(v)
244 // ======================================================================
245 void NSType4NLSDFEMDDSkew3D(double Mult, double *coeff,
246  double *param, double hK,
247  double **OrigValues, int *N_BaseFuncts,
248  double ***LocMatrices, double **LocRhs);
249 #endif