ParMooN
Main Page
Related Pages
Classes
Files
File List
All
Classes
Functions
Variables
Friends
Pages
include
FE
LocalProjection.h
1
// =======================================================================
2
// LocalProjection.h
3
//
4
// Purpose: routines for local projection stabilization
5
//
6
// Author: Gunar Matthies 2007/03/06
7
//
8
// =======================================================================
9
10
#ifndef __LOCAL_PROJECTION__
11
#define __LOCAL_PROJECTION__
12
13
#include <LinAlg.h>
14
15
#ifdef __2D__
16
void
CoupledDefect(
TSquareMatrix
*A,
TMatrix
*B1,
TMatrix
*B2,
17
TMatrix
*B1T,
TMatrix
*B2T,
TMatrix
*C,
18
double
*x,
double
*b,
double
*r);
19
20
void
Defect_NSE2C(
TSquareMatrix
**A,
TMatrix
**B,
double
*x,
21
double
*b,
double
*r);
22
23
void
CoupledMatVect(
TSquareMatrix
*A,
TMatrix
*B1,
TMatrix
*B2,
24
TMatrix
*B1T,
TMatrix
*B2T,
TMatrix
*C,
25
double
*x,
double
*y);
26
27
void
MatVect_NSE2C(
TSquareMatrix
**A,
TMatrix
**B,
double
*x,
double
*y);
28
29
void
UltraLocalProjection(
void
* A,
bool
ForPressure, CoeffFct2D *Coeff);
30
void
UltraLocalProjection(
void
* A,
bool
ForPressure);
31
void
AddDeformationTensorTerm(
TSquareMatrix2D
*A11,
TSquareMatrix2D
*A12,
32
TSquareMatrix2D
*A21,
TSquareMatrix2D
*A22,
33
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
34
void
UltraLocalProjectionSD(
void
* A,
bool
ForPressure);
35
36
double
UltraLocalError(
TFEFunction2D
*uh, DoubleFunct2D *ExactU,
37
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
38
39
double
UltraLocalErrorDivergence(
TFEFunction2D
*uh1,
TFEFunction2D
*uh2,
40
DoubleFunct2D *ExactU1, DoubleFunct2D *ExactU2,
41
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
42
43
double
UltraLocalErrorStreamline(
TFEFunction2D
*uh, DoubleFunct2D *ExactU,
44
TFEFunction2D
*b1,
TFEFunction2D
*b2,
45
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
46
47
double
UltraLocalErrorStreamlinePWConst(
TFEFunction2D
*uh, DoubleFunct2D *ExactU,
48
TFEFunction2D
*b1,
TFEFunction2D
*b2,
49
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
50
51
void
AddStreamlineTerm(
TSquareMatrix2D
* A,
TFEFunction2D
*uh1,
52
TFEFunction2D
*uh2,
53
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
54
55
void
AddStreamlineTermPWConst(
TSquareMatrix2D
* A,
TFEFunction2D
*uh1,
56
TFEFunction2D
*uh2,
57
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
58
59
void
AddDivergenceTerm(
TSquareMatrix2D
*A11,
TSquareMatrix2D
*A12,
60
TSquareMatrix2D
*A21,
TSquareMatrix2D
*A22,
61
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
62
63
void
CoupledMatVect(
TSquareMatrix
*A11,
TSquareMatrix
*A12,
TSquareMatrix
*A21,
64
TSquareMatrix
*A22,
TMatrix
*B1,
TMatrix
*B2,
65
TMatrix
*B1T,
TMatrix
*B2T,
66
TMatrix
*C,
67
double
*x,
double
*y);
68
69
void
MatVect_NSE4C(
TSquareMatrix
**A,
TMatrix
**B,
double
*x,
double
*y);
70
71
void
CoupledDefect(
TSquareMatrix
*A11,
TSquareMatrix
*A12,
TSquareMatrix
*A21,
72
TSquareMatrix
*A22,
TMatrix
*B1,
TMatrix
*B2,
73
TMatrix
*B1T,
TMatrix
*B2T,
74
TMatrix
*C,
75
double
*x,
double
*b,
double
*r);
76
77
void
Defect_NSE4C(
TSquareMatrix
**A,
TMatrix
**B,
double
*x,
double
*b,
double
*r);
78
79
void
AddStreamlineTerm(
TSquareMatrix2D
*G11,
TSquareMatrix2D
*G22,
80
TSquareMatrix2D
*G33,
TFEFunction2D
*u1,
TFEFunction2D
*u2,
81
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
82
83
void
AddStretchingTerm(
TSquareMatrix2D
**SQMATRICES,
TFEFunction2D
*u1,
TFEFunction2D
*u2,
84
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
85
86
87
double
UltraLocalErrorSmooth(
TFEFunction2D
*uh, DoubleFunct2D *ExactU,
88
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
89
bool
TestCell(
TBaseCell
*cell);
90
91
void
UltraLocalProjectionFunction(
void
* A,
bool
ForPressure);
92
93
void
UltraLocalProjectionStreamlinePLaplacian(
TSquareMatrix2D
* A,
94
TFEFunction2D
*uh,
95
CoeffFct2D *Coeff);
96
97
void
LocalProjectionCoarseGridQ0(
TFEFunction2D
*uh,
TFEFunction2D
*uh_proj,
98
CoeffFct2D *Coeff,
int
convection_flag);
99
100
void
LocalProjectionCrossWindCoarseGridQ0(
TDomain
*Domain,
int
mg_level,
101
TFEFunction2D
*uh,
102
TFEFunction2D
*uh_proj,
103
CoeffFct2D *Coeff,
104
double
*rhs,
int
convection_flag);
105
106
107
void
AdaptivePostProcess(
TFEFunction2D
*FeFunction,
double
*PostSol,
bool
DirichletBC);
108
109
110
void
AddALEStreamlineLPS(
TSquareMatrix2D
* A,
int
N_FeFunct,
TFEFunction2D
**FeFunct,
111
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
112
#else // __3D__
113
114
void
AddStreamlineTerm(
TSquareMatrix3D
* A,
TFEFunction3D
*uh1,
115
TFEFunction3D
*uh2,
TFEFunction3D
*uh3,
116
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
117
118
void
UltraLocalProjection(
TSquareMatrix3D
* A,
119
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
120
121
FE3D GetElement3D(
TBaseCell
*cell,
int
CoarseOrder);
122
123
void
UltraLocalProjection3D(
void
* A,
bool
ForPressure);
124
125
double
UltraLocalError3D(
TFEFunction3D
*uh, DoubleFunct3D *ExactU,
126
double
lpcoeff,
double
lpexponent,
int
OrderDiff);
127
128
129
#endif // __3D__
130
131
#endif // __LOCAL_PROJECTION__
TSquareMatrix2D
Definition:
SquareMatrix2D.h:20
TSquareMatrix3D
Definition:
SquareMatrix3D.h:20
TMatrix
Definition:
Matrix.h:21
TDomain
contains the boundary description, the virtual cell tree and macro grid
Definition:
Domain.h:36
TSquareMatrix
Definition:
SquareMatrix.h:20
TBaseCell
information for finite element data structure
Definition:
BaseCell.h:25
TFEFunction3D
Definition:
FEFunction3D.h:25
TFEFunction2D
Definition:
FEFunction2D.h:24
Generated on Tue May 10 2016 09:07:57 for ParMooN by
1.8.5