ParMooN
 All Classes Functions Variables Friends Pages
TNSE2D_FixPo_SSMUM.h
1 // ======================================================================
2 // TNSE2D_FixPo_SSMUM.h
3 //
4 // declarations for SSMUM
5 //
6 // author: Volker John 08/05/22
7 //
8 // ======================================================================
9 
10 // ======================================================================
11 //
12 // WITH ROTATING FRAME
13 //
14 // ======================================================================
15 
16 // ======================================================================
17 // Type 4, Standard Galerkin, (grad u, grad v)
18 // Type 4, Coletti, (grad u, grad v)
19 // Type 4, GL00Convolution, (grad u, grad v)
20 // ======================================================================
21 void TimeNSType4Galerkin_SSMUM_WITH_ROTFRAME(double Mult, double *coeff,
22 double *param, double hK,
23 double **OrigValues, int *N_BaseFuncts,
24  double ***LocMatrices, double **LocRhs);
25 
26 // ======================================================================
27 // Type 4, Standard Galerkin, D(u):D(v)
28 // Type 4, Coletti, D(u):D(v)
29 // Type 4, GL00Convolution, D(u):D(v)
30 // ======================================================================
31 void TimeNSType4GalerkinDD_SSMUM_WITH_ROTFRAME(double Mult, double *coeff,
32 double *param, double hK,
33 double **OrigValues, int *N_BaseFuncts,
34  double ***LocMatrices, double **LocRhs);
35 
36 
37 // ======================================================================
38 // Type 3, Standard Galerkin, (grad u, grad v), only nonlinear part
39 // Type 4, Standard Galerkin, (grad u, grad v), only nonlinear part
40 // Type 3, Coletti, (grad u, grad v), only nonlinear part
41 // Type 4, Coletti, (grad u, grad v), only nonlinear part
42 // Type 3, GL00Convolution, (grad u, grad v), only nonlinear part
43 // Type 4, GL00Convolution, (grad u, grad v), only nonlinear part
44 // Type 3, GL00AuxProblem, (grad u, grad v), only nonlinear part
45 // Type 4, GL00AuxProblem, (grad u, grad v), only nonlinear part
46 // ======================================================================
47 void TimeNSType3_4NLGalerkin_SSMUM_WITH_ROTFRAME(double Mult, double *coeff,
48 double *param, double hK,
49 double **OrigValues, int *N_BaseFuncts,
50  double ***LocMatrices, double **LocRhs);
51 
52 
53 // ======================================================================
54 // Type 3, Standard Galerkin, D(u):D(v), only nonlinear diagonal blocks
55 // Type 4, Standard Galerkin, D(u):D(v), only nonlinear diagonal blocks
56 // Type 3, Coletti, D(u):D(v), only nonlinear diagonal blocks
57 // Type 4, Coletti, D(u):D(v), only nonlinear diagonal blocks
58 // ======================================================================
59 void TimeNSType3_4NLGalerkinDD_SSMUM_WITH_ROTFRAME(double Mult, double *coeff,
60 double *param, double hK,
61 double **OrigValues, int *N_BaseFuncts,
62  double ***LocMatrices, double **LocRhs);
63 
64 // ======================================================================
65 // right-hand side ONLY, for SSMUM
66 // ======================================================================
67 void TimeNSRHS_SSMUM_WITH_ROTFRAME(double Mult, double *coeff,
68 double *param, double hK,
69 double **OrigValues, int *N_BaseFuncts,
70  double ***LocMatrices, double **LocRhs);
71 
72 // ======================================================================
73 // right-hand side ONLY, for SSMUM
74 // ======================================================================
75 void TimeNS_REL_VELO_SSMUM_WITH_ROTFRAME(double Mult, double *coeff,
76 double *param, double hK,
77 double **OrigValues, int *N_BaseFuncts,
78  double ***LocMatrices, double **LocRhs);
79 
80 
81 // ======================================================================
82 //
83 // ALE
84 //
85 // ======================================================================
86 
87 // ======================================================================
88 // Type 4, Standard Galerkin, (grad u, grad v)
89 // Type 4, Coletti, (grad u, grad v)
90 // Type 4, GL00Convolution, (grad u, grad v)
91 // ======================================================================
92 void TimeNSType4Galerkin_SSMUM_ALE(double Mult, double *coeff,
93 double *param, double hK,
94 double **OrigValues, int *N_BaseFuncts,
95  double ***LocMatrices, double **LocRhs);
96 
97 // ======================================================================
98 // Type 4, Standard Galerkin, D(u):D(v)
99 // Type 4, Coletti, D(u):D(v)
100 // Type 4, GL00Convolution, D(u):D(v)
101 // ======================================================================
102 void TimeNSType4GalerkinDD_SSMUM_ALE(double Mult, double *coeff,
103 double *param, double hK,
104 double **OrigValues, int *N_BaseFuncts,
105  double ***LocMatrices, double **LocRhs);
106 
107 
108 // ======================================================================
109 // Type 3, Standard Galerkin, (grad u, grad v), only nonlinear part
110 // Type 4, Standard Galerkin, (grad u, grad v), only nonlinear part
111 // Type 3, Coletti, (grad u, grad v), only nonlinear part
112 // Type 4, Coletti, (grad u, grad v), only nonlinear part
113 // Type 3, GL00Convolution, (grad u, grad v), only nonlinear part
114 // Type 4, GL00Convolution, (grad u, grad v), only nonlinear part
115 // Type 3, GL00AuxProblem, (grad u, grad v), only nonlinear part
116 // Type 4, GL00AuxProblem, (grad u, grad v), only nonlinear part
117 // ======================================================================
118 void TimeNSType3_4NLGalerkin_SSMUM_ALE(double Mult, double *coeff,
119 double *param, double hK,
120 double **OrigValues, int *N_BaseFuncts,
121  double ***LocMatrices, double **LocRhs);
122 
123 
124 // ======================================================================
125 // Type 3, Standard Galerkin, D(u):D(v), only nonlinear diagonal blocks
126 // Type 4, Standard Galerkin, D(u):D(v), only nonlinear diagonal blocks
127 // Type 3, Coletti, D(u):D(v), only nonlinear diagonal blocks
128 // Type 4, Coletti, D(u):D(v), only nonlinear diagonal blocks
129 // ======================================================================
130 void TimeNSType3_4NLGalerkinDD_SSMUM_ALE(double Mult, double *coeff,
131 double *param, double hK,
132 double **OrigValues, int *N_BaseFuncts,
133  double ***LocMatrices, double **LocRhs);
134 
135 // ======================================================================
136 // right-hand side ONLY, for NSE
137 // ======================================================================
138 void TimeNSRHS_SSMUM_ALE(double Mult, double *coeff,
139 double *param, double hK,
140 double **OrigValues, int *N_BaseFuncts,
141  double ***LocMatrices, double **LocRhs);
142 
143 // ======================================================================
144 // declaration for all Navier-Stokes problems of type 4
145 // main diagonal blocks A11, A22
146 // WITHOUT B1T, B2T (gradient blocks)
147 // WITHOUT right hand sides
148 // ======================================================================
149 
150 int TimeNSType4_SSMUM_NLN_Terms = 3;
151 MultiIndex2D TimeNSType4_SSMUM_NLDerivatives[3] = { D10, D01, D00 };
152 int TimeNSType4_SSMUM_NLSpaceNumbers[3] = { 0, 0, 0 };
153 int TimeNSType4_SSMUM_NLN_Matrices = 4;
154 int TimeNSType4_SSMUM_NLRowSpace[4] = { 0, 0, 0, 0 };
155 int TimeNSType4_SSMUM_NLColumnSpace[4] = { 0, 0, 0, 0 };
156 int TimeNSType4_SSMUM_NLN_Rhs = 0;
157 int *TimeNSType4_SSMUM_NLRhsSpace = NULL;
158