#include <BdNonUniformSpline.h>
Public Member Functions | |
TBdNonUniformSpline (int id, int N_Splines) | |
void | SetParams (double *params) |
int | GetN_Splines () |
virtual int | GetXYofT (double T, double &X, double &Y) |
virtual int | GetTofXY (double X, double Y, double &T) |
virtual int | ReadIn (std::ifstream &dat) |
virtual int | GetN_InitVerts () |
virtual int | GenInitVerts (double *&points, int I_points, int *&edges, int I_edges) |
double | GetLocalXofT (int ISpline, double LocalT) |
double | GetLocalYofT (int ISpline, double LocalT) |
void | GenerateParams1 (double *x, double *y, double dx0, double dy0, double dx1, double dy1) |
void | Solver_3diag (double *a, double *b, double *c, double *rhs, double *sol) |
double | AdXofT (int ISpline, double LocalT) |
double | AdYofT (int ISpline, double LocalT) |
double | GetLocalDXofT (int ISpline, double LocalT) |
double | GetLocalDYofT (int ISpline, double LocalT) |
Public Member Functions inherited from TBoundComp2D | |
TBoundComp2D (int id) | |
Public Member Functions inherited from TBoundComp | |
TBoundComp (int id, int ref=-1) | |
int | GetID () const |
BoundTypes | GetType () const |
bool | IsFreeBoundary () const |
void | SetFreeBoundaryStatus (bool status) |
void | ChangeType (BoundTypes New_Type) |
void | SetRefID (int _ref) |
int | GetRefID () const |
Protected Attributes | |
int | N_Splines |
double * | Params |
double * | Param9 |
Protected Attributes inherited from TBoundComp | |
int | ID |
BoundTypes | Type |
bool | FreeBoundaryStatus |
int | refID |
spline function as a component of a boundary part
TBdNonUniformSpline::TBdNonUniformSpline | ( | int | id, |
int | N_Splines | ||
) |
constructor initializes the parameter array
double TBdNonUniformSpline::AdXofT | ( | int | ISpline, |
double | T | ||
) |
for BEM (x-x_middle)/t
for BEM (x-x_middle)/(t-0.5)
double TBdNonUniformSpline::AdYofT | ( | int | ISpline, |
double | T | ||
) |
(y-y_middle)/t
for BEM (y-y_middle)/(t-0.5)
void TBdNonUniformSpline::GenerateParams1 | ( | double * | x, |
double * | y, | ||
double | dx0, | ||
double | dy0, | ||
double | dx1, | ||
double | dy1 | ||
) |
Generate all parameters according to the info about the pisition of boundary points and the values of derivatives at the ends of boundary; the parameter is the cumulative length of the piecewise line that joints the boundary points
double TBdNonUniformSpline::GetLocalDXofT | ( | int | ISpline, |
double | T | ||
) |
x'(t)
for BEM x'(t)
double TBdNonUniformSpline::GetLocalDYofT | ( | int | ISpline, |
double | T | ||
) |
y'(t)
for BEM y'(t)
double TBdNonUniformSpline::GetLocalXofT | ( | int | ISpline, |
double | LocalT | ||
) |
return the X-coordinate of parameter value T from [0;1] on the ISpline-th subspline
double TBdNonUniformSpline::GetLocalYofT | ( | int | ISpline, |
double | LocalT | ||
) |
return the Y-coordinate of parameter value T from [0;1] on the ISpline-th subspline
|
inlinevirtual |
get number of initial vertices on this component
Implements TBoundComp2D.
int TBdNonUniformSpline::GetN_Splines | ( | ) |
get number of splines
|
virtual |
return the parameter value T of coordinates (X, Y)
Implements TBoundComp2D.
|
virtual |
return new inner points for a good boundary approximation return the coordinates of parameter value T
Implements TBoundComp2D.
|
virtual |
read parameter from input file
Implements TBoundComp.
void TBdNonUniformSpline::SetParams | ( | double * | params | ) |
set all parameters
void TBdNonUniformSpline::Solver_3diag | ( | double * | a, |
double * | b, | ||
double * | c, | ||
double * | rhs, | ||
double * | sol | ||
) |
Solution of a tridiagonal matrix with diagonal elements 'a', subdiagonal elemets 'b' and updiagonal elements 'c' a[i], i=0..N_Splines-1, b[i], i=1..N_Splines-1, c[i], i=0..N_Splines-2
|
protected |
number of subsplines
|
protected |
array for the values of parameter T at the i-th boundary points
|
protected |
array for all parameters