ParMooN
 All Classes Functions Variables Friends Pages
Assemble2D.h
1 // =======================================================================
2 // @(#)Assemble2D.h 1.5 04/13/00
3 //
4 // Purpose: assemble matrix and right-hand side
5 //
6 // Author: Gunar Matthies (10.08.98)
7 //
8 // History: start of implementation 10.08.98 (Gunar Matthies)
9 //
10 // =======================================================================
11 
12 #ifndef __ASSEMBLE2D__
13 #define __ASSEMBLE2D__
14 
15 #include <AllClasses.h>
16 #include <Constants.h>
17 #include <FEDatabase2D.h>
18 #include <LocalAssembling2D.h>
19 
20 #ifdef __3D__
21  #include <Aux2D3D.h>
22 #endif
23 
25 void Assemble2D(int n_fespaces, TFESpace2D **fespaces,
26  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
27  int n_matrices, TMatrix2D **matrices,
28  int n_rhs, double **rhs, TFESpace2D **ferhs,
29  BoundCondFunct2D **BoundaryConditions,
30  BoundValueFunct2D **BoundaryValues,
32 #ifdef __3D__
33  , TAux2D3D *Aux2D3D
34 #endif
35 , int AssemblePhaseID = -1
36  );
37 
38 
39 
40 
41 
43 void Assemble2D(int n_fespaces, TFESpace2D **fespaces,
44  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
45  int n_matrices, TMatrix2D **matrices,
46  int n_rhs, double **rhs, TFESpace2D **ferhs,
47  TDiscreteForm2D *DiscreteForm,
48  BoundCondFunct2D **BoundaryConditions,
49  BoundValueFunct2D **BoundaryValues,
50  TAuxParam2D *parameters
51 #ifdef __3D__
52  , TAux2D3D *Aux2D3D
53 #endif
54 , int AssemblePhaseID = -1
55  );
56 
58 void Assemble2D_FCT(int n_fespaces, TFESpace2D **fespaces, int n_sqmatrices,
59  TSquareMatrix2D **sqmatrices, int n_matrices,
60  TMatrix2D **matrices, int n_rhs, double **rhs,
61  TFESpace2D **ferhs, TDiscreteForm2D *DiscreteForm,
62  BoundCondFunct2D **BoundaryConditions,
63  BoundValueFunct2D **BoundaryValues, TAuxParam2D *Parameters,
64  double factor
65 #ifdef __3D__
66  , TAux2D3D *Aux2D3D
67 #endif
68  );
69 
70 
71 
73 void Assemble2DSlipBC(int n_fespaces, TFESpace2D **fespaces,
74  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
75  int n_matrices, TMatrix2D **matrices,
76  int n_rhs, double **rhs, TFESpace2D **ferhs,
77  TDiscreteForm2D *DiscreteForm,
78  BoundCondFunct2D **BoundaryConditions,
79  BoundValueFunct2D **BoundaryValues,
80  TAuxParam2D *parameters,
81  TFEFunction2D *u1, TFEFunction2D *u2);
82 
84 void Assemble2D_neigh(int n_fespaces, TFESpace2D **fespaces,
85  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
86  int n_matrices, TMatrix2D **matrices,
87  int n_rhs, double **rhs, TFESpace2D **ferhs,
88  TDiscreteForm2D *DiscreteForm,
89  BoundCondFunct2D **BoundaryConditions,
90  BoundValueFunct2D **BoundaryValues,
91  TAuxParam2D *Parameters
92 #ifdef __3D__
93  , TAux2D3D *Aux2D3D
94 #endif
95  );
96 
98 void Assemble2D_DG(CoeffFct2D *Coeff, int n_fespaces, TFESpace2D **fespaces,
99  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
100  int n_matrices, TMatrix2D **matrices,
101  int n_rhs, double **rhs, TFESpace2D **ferhs,
102  BoundCondFunct2D **BoundaryConditions,
103  BoundValueFunct2D **BoundaryValues,
104  TAuxParam2D *Parameters);
105 
107 void Assemble2D_CIP(CoeffFct2D *Coeff,int n_fespaces, TFESpace2D **fespaces,
108  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
109  int n_matrices, TMatrix2D **matrices,
110  int n_rhs, double **rhs, TFESpace2D **ferhs,
111  BoundCondFunct2D **BoundaryConditions,
112  BoundValueFunct2D **BoundaryValues,
113  TAuxParam2D *Parameters);
114 
117 void Assemble2D_VectFE(int n_fespaces, TFESpace2D **fespaces,
118  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
119  int n_matrices, TMatrix2D **matrices,
120  int n_rhs, double **rhs, TFESpace2D **ferhs,
121  TDiscreteForm2D *DiscreteForm,
122  BoundCondFunct2D **BoundaryConditions,
123  BoundValueFunct2D **BoundaryValues,
124  TAuxParam2D *Parameters=NULL
125  );
126 
127 #ifdef __MORTAR__
128 void Assemble(TMatrix2D *matrix);
129 
131  #ifdef __ADD_LINK_SDFEM__
132  void AddLinkSDFEM(TFESpace2D *Space2D, TSquareMatrix2D *Matrix,
133  #endif
134 #endif // __MORTAR__
135 
136 void Assemble2D(int n_fespaces, TFESpace2D **fespaces,
137  int n_sqmatrices, TSquareMatrix2D **sqmatrices,
138  int n_matrices, TMatrix2D **matrices,
139  int n_rhs, double **rhs, TFESpace2D **ferhs,
140  TDiscreteForm2D *DiscreteForm,
141  BoundCondFunct2D **BoundaryConditions,
142  BoundValueFunct2D **BoundaryValues,
143  TAuxParam2D *Parameters,
144  TAuxParam2D *ParametersBound,
145  TypeBoundSwitchFunct2D *TypeBoundSwitcher,
146  int *CounterBoundaryParam
147 #ifdef __3D__
148  , TAux2D3D *Aux2D3D
149 #endif
150  );
151 #ifdef __2D__
152 void ComputeInterfaceConditionDirichlet(TSquareMatrix2D **sqmatrices,
153  TMatrix2D **matrices,
154  TFEVectFunct2D *u_other,
155  double *rhs,
156  int *interface_dof_Array,
157  int *interface_dof_other_Array,
158  int interface_dof, double density,
159  double density_other);
160 
161 
162 void ComputeInterfaceConditionStress(TSquareMatrix2D **sqmatrices,
163  TMatrix2D **matrices,
164  TFEVectFunct2D *u_other,
165  double *rhs,
166  int *interface_dof_Array,
167  int *interface_dof_other_Array,
168  int interface_dof, double density,
169  double density_other,
170  double *rhs_for_stress_other);
171 
172 #endif // __2D__
173 
174 #endif // __ASSEMBLE2D__
175 
Definition: SquareMatrix2D.h:20
Definition: AuxParam2D.h:22
Definition: Aux2D3D.h:19
Definition: FESpace2D.h:28
Definition: LocalAssembling2D.h:43
Definition: FEVectFunct2D.h:23
Definition: DiscreteForm2D.h:21
Definition: Matrix2D.h:20
Definition: FEFunction2D.h:24