All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
ansatz_functions.h
1 /* Copyright (C) 2004-2009 MBSim Development Team
2  * This library is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU Lesser General Public
4  * License as published by the Free Software Foundation; either
5  * version 2.1 of the License, or (at your option) any later version.
6  *
7  * This library is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10  * Lesser General Public License for more details.
11  *
12  * You should have received a copy of the GNU Lesser General Public
13  * License along with this library; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15  *
16  * Contact: martin.o.foerg@googlemail.com
17  */
18 
19 #ifndef _ANSATZ_FUNCTIONS_H_
20 #define _ANSATZ_FUNCTIONS_H_
21 
22 #include "fmatvec/fmatvec.h"
23 
29  public:
32 
35 
38 
41 
44 
46  fmatvec::Vec VecW(double xi);
47 
49  fmatvec::Vec VecWS(double xi);
50 
52  int order();
53 
55  int dim();
56 
60  ansatz_function(int n, double l);
61 
63  virtual ~ansatz_function();
64 
65  protected:
67  virtual double Intwiwj(int i, int j)=0;
68 
70  virtual double Intwsiwsj(int i, int j)=0;
71 
73  virtual double wi0(int i)=0;
74 
76  virtual double wiL(int i)=0;
77 
79  virtual double Intwi(int i)=0;
80 
82  virtual double wi(int i, double xi)=0;
83 
85  virtual double wis(int i, double xi)=0;
86 
88  int Ord;
89 
91  int Dim;
92 
94  double L;
95 };
96 
97 
100  public:
104  ansatz_function_harmonic(int n, double l);
105 
106  protected:
108  virtual double Intwiwj(int i, int j);
109 
111  virtual double Intwsiwsj(int i, int j);
112 
114  virtual double wi0(int i);
115 
117  virtual double wiL(int i);
118 
120  virtual double Intwi(int i);
121 
123  virtual double wi(int i, double xi);
124 
126  virtual double wis(int i, double xi);
127 };
128 
129 
132  public:
136  ansatz_function_polynom(int n, double l);
137 
138  protected:
140  virtual double Intwiwj(int i, int j);
141 
143  virtual double Intwsiwsj(int i, int j);
144 
146  virtual double wi0(int i);
147 
149  virtual double wiL(int i);
150 
152  virtual double Intwi(int i);
153 
155  virtual double wi(int i, double xi);
156 
158  virtual double wis(int i, double xi);
159 };
160 
161 
162 
165  public:
169  ansatz_function_BSplineOrd3(int n, double l);
170 
171  protected:
173  virtual double Intwiwj(int i, int j);
174 
176  virtual double Intwsiwsj(int i, int j);
177 
179  virtual double wi0(int i);
180 
182  virtual double wiL(int i);
183 
185  virtual double Intwi(int i);
186 
188  virtual double wi(int i, double xi);
189 
191  virtual double wis(int i, double xi);
192 };
193 
194 
197  public:
201  ansatz_function_BSplineOrd4(int n, double l);
202 
203  protected:
205  virtual double Intwiwj(int i, int j);
206 
208  virtual double Intwsiwsj(int i, int j);
209 
211  virtual double wi0(int i);
212 
214  virtual double wiL(int i);
215 
217  virtual double Intwi(int i);
218 
220  virtual double wi(int i, double xi);
221 
223  virtual double wis(int i, double xi);
224 };
225 
226 #endif /* ----- #ifndef _ANSATZ_FUNCTIONS_H_ ----- */
227 
Definition: ansatz_functions.h:164
virtual double wis(int i, double xi)=0
fmatvec::Vec VecWL()
Definition: ansatz_functions.cc:53
double L
Definition: ansatz_functions.h:94
Definition: ansatz_functions.h:131
virtual double Intwi(int i)
Definition: ansatz_functions.cc:239
virtual double Intwsiwsj(int i, int j)=0
virtual double Intwsiwsj(int i, int j)
Definition: ansatz_functions.cc:168
fmatvec::SymMat MatIntWWT()
Definition: ansatz_functions.cc:30
virtual double wi0(int i)
Definition: ansatz_functions.cc:120
virtual double Intwsiwsj(int i, int j)
Definition: ansatz_functions.cc:109
virtual double wi(int i, double xi)
Definition: ansatz_functions.cc:142
virtual double wi(int i, double xi)
Definition: ansatz_functions.cc:245
int dim()
Definition: ansatz_functions.cc:85
int Ord
Definition: ansatz_functions.h:88
fmatvec::Vec VecW0()
Definition: ansatz_functions.cc:46
virtual double wis(int i, double xi)
Definition: ansatz_functions.cc:150
virtual ~ansatz_function()
Definition: ansatz_functions.cc:27
virtual double wi(int i, double xi)
Definition: ansatz_functions.cc:190
virtual double wi(int i, double xi)
Definition: ansatz_functions.cc:321
virtual double wiL(int i)
Definition: ansatz_functions.cc:182
ansatz_function_harmonic(int n, double l)
Definition: ansatz_functions.cc:91
ansatz_function_BSplineOrd3(int n, double l)
Definition: ansatz_functions.cc:205
ansatz_function(int n, double l)
Definition: ansatz_functions.cc:24
fmatvec::Vec VecWS(double xi)
Definition: ansatz_functions.cc:74
virtual double wiL(int i)
Definition: ansatz_functions.cc:307
virtual double wiL(int i)
Definition: ansatz_functions.cc:234
virtual double Intwi(int i)
Definition: ansatz_functions.cc:134
ansatz_function_polynom(int n, double l)
Definition: ansatz_functions.cc:160
virtual double wiL(int i)
Definition: ansatz_functions.cc:126
virtual double Intwsiwsj(int i, int j)
Definition: ansatz_functions.cc:219
fmatvec::SymMat MatIntWSWST()
Definition: ansatz_functions.cc:38
ansatz_function_BSplineOrd4(int n, double l)
Definition: ansatz_functions.cc:268
virtual double Intwsiwsj(int i, int j)
Definition: ansatz_functions.cc:286
virtual double wi(int i, double xi)=0
virtual double Intwiwj(int i, int j)
Definition: ansatz_functions.cc:95
int Dim
Definition: ansatz_functions.h:91
virtual double wis(int i, double xi)
Definition: ansatz_functions.cc:255
fmatvec::Vec VecIntW()
Definition: ansatz_functions.cc:60
virtual double wi0(int i)=0
virtual double Intwiwj(int i, int j)
Definition: ansatz_functions.cc:164
virtual double wiL(int i)=0
virtual double wi0(int i)
Definition: ansatz_functions.cc:229
Definition: ansatz_functions.h:99
virtual double Intwiwj(int i, int j)
Definition: ansatz_functions.cc:272
virtual double wi0(int i)
Definition: ansatz_functions.cc:175
virtual double Intwiwj(int i, int j)
Definition: ansatz_functions.cc:209
virtual double Intwi(int i)
Definition: ansatz_functions.cc:186
a class of ansatz-functions for approximations with Galerkin-Method
Definition: ansatz_functions.h:28
virtual double Intwi(int i)=0
fmatvec::Vec VecW(double xi)
Definition: ansatz_functions.cc:67
Definition: ansatz_functions.h:196
virtual double Intwi(int i)
Definition: ansatz_functions.cc:314
virtual double Intwiwj(int i, int j)=0
int order()
Definition: ansatz_functions.cc:81
virtual double wis(int i, double xi)
Definition: ansatz_functions.cc:194
virtual double wi0(int i)
Definition: ansatz_functions.cc:300
virtual double wis(int i, double xi)
Definition: ansatz_functions.cc:332

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML