109 return (r <= R0_) ? r : R0_ + (r - R0_) * rotation_;
119 return (z.imag() == 0.) ? z.real() : R0_ + ((z - R0_) / rotation_).real();
186 inline Complex const &
t (
int i)
const {
return *(t_ + i); }
189 inline int Nspline()
const {
return Nspline_; }
192 inline int Nknot()
const {
return Nknot_; }
195 inline int Nreknot()
const {
return Nreknot_; }
198 inline int order()
const {
return order_; }
201 inline double R0()
const {
return R0_; };
204 inline double Rmax()
const {
return Rmax_; };
Bspline(int order, rArrayView const &rknots, double th, rArrayView const &cknots)
Constructor.
Definition: bspline.cpp:318
Complex dspline(int i, int iknot, int k, Complex r) const
Evaluate derivative of a B-spline.
Definition: bspline.cpp:39
int Nknot() const
Number of knots.
Definition: bspline.h:192
double ECStheta() const
ECS rotation angle.
Definition: bspline.h:207
A comfortable number array class.
Definition: arrays.h:171
int order() const
B-spline order.
Definition: bspline.h:198
Complex const & t(int i) const
B-spline knot sequence.
Definition: bspline.h:186
rArray const & cknots() const
complex knots
Definition: bspline.h:213
B-spline environment.
Definition: bspline.h:35
#define restrict
Definition: misc.h:88
void B(int i, int iknot, int n, const Complex *x, Complex *y) const
B-spline.
Definition: bspline.cpp:59
Complex rotate(double r) const
Apply the ECS transformation.
Definition: bspline.h:107
int Nspline() const
Number of B-splines.
Definition: bspline.h:189
void dB(int i, int iknot, int n, const Complex *x, Complex *y) const
Derivative of a B-spline.
Definition: bspline.cpp:65
void writeVTK(std::ofstream &out, const cArrayView coeff, const rArrayView xgrid, const rArrayView ygrid) const
Zip 2D expansion to VTK.
Definition: bspline.cpp:268
double Rmax() const
End of complex grid (real, unrotated).
Definition: bspline.h:204
int Nreknot() const
Number of real knots.
Definition: bspline.h:195
Complex bspline(int i, int iknot, int k, Complex r) const
Evaluate B-spline.
Definition: bspline.cpp:25
cArray zip(const cArrayView coeff, const rArrayView grid) const
Zip 1D expansion.
Definition: bspline.cpp:77
double R0() const
End of real grid.
Definition: bspline.h:201
double unrotate(Complex z) const
Apply the inverse ECS transformation.
Definition: bspline.h:117
std::complex< double > Complex
Definition: complex.h:20
int knot(Complex x) const
Get knot index for coordinate.
Definition: bspline.cpp:342
Complex eval(const cArrayView coeff, double x) const
Evaluate 1D B-spline expansion.
Definition: bspline.cpp:362
rArray const & rknots() const
real knots
Definition: bspline.h:210