ParMooN
 All Classes Functions Variables Friends Pages
TNSE2D_FixPoRot.h
1 // ======================================================================
2 // TNSE2D_FixPoRot.h 06/03/20
3 //
4 // common declaration for all time dependent Navier-Stokes problems
5 // rotation form of nonlinear term
6 // ======================================================================
7 // ======================================================================
8 // Type 3, Smagorinsky, (grad u, grad v)
9 // ======================================================================
10 void TimeNSType3SmagorinskyRot(double Mult, double *coeff,
11 double *param, double hK,
12 double **OrigValues, int *N_BaseFuncts,
13  double ***LocMatrices, double **LocRhs);
14 
15 // ======================================================================
16 // Type 3, Smagorinsky, D(u):D(v)
17 // ======================================================================
18 void TimeNSType3SmagorinskyRotDD(double Mult, double *coeff,
19 double *param, double hK,
20 double **OrigValues, int *N_BaseFuncts,
21  double ***LocMatrices, double **LocRhs);
22 
23 // ======================================================================
24 // Type 4, Smagorinsky, (grad u, grad v)
25 // ======================================================================
26 void TimeNSType4SmagorinskyRot(double Mult, double *coeff,
27 double *param, double hK,
28 double **OrigValues, int *N_BaseFuncts,
29  double ***LocMatrices, double **LocRhs);
30 
31 // ======================================================================
32 // Type 4, Smagorinsky, D(u):D(v)
33 // ======================================================================
34 void TimeNSType4SmagorinskyRotDD(double Mult, double *coeff,
35 double *param, double hK,
36 double **OrigValues, int *N_BaseFuncts,
37  double ***LocMatrices, double **LocRhs);
38 
39 // ======================================================================
40 // Type 3, Smagorinsky, D(u):D(v), only nonlinear diagonal blocks
41 // Type 4, Smagorinsky, D(u):D(v), only nonlinear diagonal blocks
42 // ======================================================================
43 void TimeNSType3_4NLSmagorinskyRot(double Mult, double *coeff,
44 double *param, double hK,
45 double **OrigValues, int *N_BaseFuncts,
46  double ***LocMatrices, double **LocRhs);
47 
48 // ======================================================================
49 // Type 3, Smagorinsky, D(u):D(v), only nonlinear diagonal blocks
50 // Type 4, Smagorinsky, D(u):D(v), only nonlinear diagonal blocks
51 // ======================================================================
52 void TimeNSType3_4NLSmagorinskyRotDD(double Mult, double *coeff,
53 double *param, double hK,
54 double **OrigValues, int *N_BaseFuncts,
55  double ***LocMatrices, double **LocRhs);
56 
57 // ======================================================================
58 // Type 3, Galerkin (grad u, grad v)
59 // ======================================================================
60 void TimeNSType3GalerkinRot(double Mult, double *coeff,
61 double *param, double hK,
62 double **OrigValues, int *N_BaseFuncts,
63 double ***LocMatrices, double **LocRhs);
64 
65 // ======================================================================
66 // Type 3, Galerkin, D(u):D(v)
67 // ======================================================================
68 void TimeNSType3GalerkinRotDD(double Mult, double *coeff,
69 double *param, double hK,
70 double **OrigValues, int *N_BaseFuncts,
71 double ***LocMatrices, double **LocRhs);
72 
73 // ======================================================================
74 // Type 4, Galerkin, (grad u, grad v)
75 // ======================================================================
76 void TimeNSType4GalerkinRot(double Mult, double *coeff,
77 double *param, double hK,
78 double **OrigValues, int *N_BaseFuncts,
79 double ***LocMatrices, double **LocRhs);
80 
81 // ======================================================================
82 // Type 4, Galerkin, D(u):D(v)
83 // ======================================================================
84 void TimeNSType4GalerkinRotDD(double Mult, double *coeff,
85 double *param, double hK,
86 double **OrigValues, int *N_BaseFuncts,
87 double ***LocMatrices, double **LocRhs);
88 
89 // ======================================================================
90 // Type 3, Galerkin, D(u):D(v), only nonlinear diagonal blocks
91 // Type 4, Galerkin, D(u):D(v), only nonlinear diagonal blocks
92 // ======================================================================
93 void TimeNSType3_4NLGalerkinRot(double Mult, double *coeff,
94 double *param, double hK,
95 double **OrigValues, int *N_BaseFuncts,
96 double ***LocMatrices, double **LocRhs);
97 
98 // ======================================================================
99 // Type 3, Galerkin, D(u):D(v), only nonlinear diagonal blocks
100 // Type 4, Galerkin, D(u):D(v), only nonlinear diagonal blocks
101 // ======================================================================
102 void TimeNSType3_4NLGalerkinRotDD(double Mult, double *coeff,
103 double *param, double hK,
104 double **OrigValues, int *N_BaseFuncts,
105 double ***LocMatrices, double **LocRhs);
106 
107 // ======================================================================
108 // Type 1, Standard Galerkin + Div Term
109 // ======================================================================
110 void TimeNSType1GalerkinDiv(double Mult, double *coeff,
111 double *param, double hK,
112 double **OrigValues, int *N_BaseFuncts,
113 double ***LocMatrices, double **LocRhs);
114 
115 // ======================================================================
116 // Type 2, Standard Galerkin + div term
117 // ======================================================================
118 void TimeNSType2GalerkinDiv(double Mult, double *coeff,
119 double *param, double hK,
120 double **OrigValues, int *N_BaseFuncts,
121 double ***LocMatrices, double **LocRhs);
122 
123 // ======================================================================
124 // Type 1, Standard Galerkin + div term, only nonlinear part
125 // Type 2, Standard Galerkin + div term, only nonlinear part
126 // ======================================================================
127 void TimeNSType1_2NLGalerkinDiv(double Mult, double *coeff,
128 double *param, double hK,
129 double **OrigValues, int *N_BaseFuncts,
130 double ***LocMatrices, double **LocRhs);
131 
132 void TStokes_PSPG_GRADDIV(double Mult, double *coeff,
133 double *param, double hK,
134 double **OrigValues, int *N_BaseFuncts,
135 double ***LocMatrices, double **LocRhs);
136 
137  // ======================================================================
138 // Type 14, PSPG for transient Stokes, nonlinear loop
139 // ======================================================================
140 void TStokes_PSPG_GRADDIV_NL(double Mult, double *coeff,
141 double *param, double hK,
142 double **OrigValues, int *N_BaseFuncts,
143 double ***LocMatrices, double **LocRhs);
144 
145 void TStokes_PSPG_GRADDIV_Rhs(double Mult, double *coeff,
146 double *param, double hK,
147 double **OrigValues, int *N_BaseFuncts,
148 double ***LocMatrices, double **LocRhs);