1#ifndef CLASSIC_FM2DMAGNETOSTATICEXTENDED_HH
2#define CLASSIC_FM2DMAGNETOSTATICEXTENDED_HH
12 virtual void getFieldDimensions(
double &xIni,
double &xFinal,
double &yIni,
double &yFinal,
double &zIni,
double &zFinal)
const;
40 unsigned long getIndex(
unsigned int i,
unsigned int j,
unsigned int k)
const;
42 double getWeightedData(
double *data,
const IndexTriplet &idx,
unsigned short corner)
const;
57 void saveField(
const std::string &fname,
unsigned int j)
const;
99 idx.
j = std::floor(std::abs(X(1)) /
hy_m);
double * FieldstrengthBx_m
3D array with Bx, read in first along z0 - r0 to rN then z1 - r0 to rN until zN - r0 to rN
void integrateBy(unsigned j)
virtual bool getFieldDerivative(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B, const DiffDirection &dir) const
FM3DMagnetoStaticExtended(std::string aFilename)
void smoothData(double *data, unsigned j)
double * FieldstrengthBy_m
3D array with By, read in like Bx
virtual bool getFieldstrength(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) const
void integrateBx(unsigned j)
double getWeightedData(double *data, const IndexTriplet &idx, unsigned short corner) const
double * FieldstrengthBz_m
3D array with Bz, read in like Bx
virtual void getInfo(Inform *msg)
double hz_m
length between points in grid, z-direction, m
unsigned int num_gridpy_m
Read in number of points after 0(not counted here) in grid, y-direction.
~FM3DMagnetoStaticExtended()
unsigned int num_gridpz_m
Read in number of points after 0(not counted here) in grid, z-direction.
unsigned int num_gridpx_m
Read in number of points after 0(not counted here) in grid, x-direction.
virtual bool isInside(const Vector_t< double, 3 > &r) const
double hy_m
length between points in grid, y-direction, m
virtual void setFrequency(double freq)
virtual void getFieldDimensions(double &zBegin, double &zEnd) const
void saveField(const std::string &fname, unsigned int j) const
virtual double getFrequency() const
IndexTriplet getIndex(const Vector_t< double, 3 > &X) const
double hx_m
length between points in grid, x-direction, m
Vector_t< double, 3 > interpolateTrilinearly(const Vector_t< double, 3 > &X) const
void integrateBz(unsigned j)
Vector_t< double, 3 > weight