OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
#include <FM3DH5BlockBase.h>
Classes | |
struct | IndexTriplet |
Public Member Functions | |
virtual void | readMap () |
virtual void | freeMap () |
virtual bool | getFieldstrength (const Vector_t &, Vector_t &, Vector_t &) const =0 |
virtual void | getFieldDimensions (double &zBegin, double &zEnd) const |
virtual void | getFieldDimensions (double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const |
virtual bool | getFieldDerivative (const Vector_t &, Vector_t &, Vector_t &, const DiffDirection &) const |
virtual void | swap () |
virtual void | getInfo (Inform *msg) |
virtual double | getFrequency () const |
virtual void | setFrequency (double freq) |
virtual void | getOnaxisEz (std::vector< std::pair< double, double > > &F) |
![]() | |
virtual void | setEdgeConstants (const double &bendAngle, const double &entranceAngle, const double &exitAngle) |
virtual void | setFieldLength (const double &) |
virtual void | get1DProfile1EngeCoeffs (std::vector< double > &engeCoeffsEntry, std::vector< double > &engeCoeffsExit) |
virtual void | get1DProfile1EntranceParam (double &entranceParameter1, double &entranceParameter2, double &entranceParameter3) |
virtual void | get1DProfile1ExitParam (double &exitParameter1, double &exitParameter2, double &exitParameter3) |
virtual double | getFieldGap () |
virtual void | setFieldGap (double gap) |
MapType | getType () |
template<class T > | |
bool | interpretLine (std::ifstream &in, T &value, const bool &file_length_known) |
Protected Types | |
enum | : unsigned short { LX = 0, LY = 0, LZ = 0, HX = 4, HY = 2, HZ = 1 } |
Protected Member Functions | |
_FM3DH5BlockBase () | |
virtual | ~_FM3DH5BlockBase () |
void | openFileMPIOCollective (const std::string &filename) |
long long | getNumSteps (void) |
void | setStep (const long long) |
void | getFieldInfo (const char *) |
void | getResonanceFrequency (void) |
void | readField (const char *name, double *x, double *y, double *z) |
void | closeFile (void) |
virtual bool | isInside (const Vector_t &r) const |
unsigned long | getIndex (unsigned int i, unsigned int j, unsigned int k) const |
IndexTriplet | getIndex (const Vector_t &X) const |
double | getWeightedData (const std::vector< double > &data, const IndexTriplet &idx, unsigned short corner) const |
Vector_t | interpolateTrilinearly (const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const Vector_t &X) const |
![]() | |
_Fieldmap ()=delete | |
_Fieldmap (const std::string &filename) | |
virtual | ~_Fieldmap () |
void | getLine (std::ifstream &in, std::string &buffer) |
template<class S > | |
bool | interpretLine (std::ifstream &in, S &value, const bool &file_length_known=true) |
template<class S , class T > | |
bool | interpretLine (std::ifstream &in, S &value1, T &value2, const bool &file_length_known=true) |
template<class S , class T , class U > | |
bool | interpretLine (std::ifstream &in, S &value1, T &value2, U &value3, const bool &file_length_known=true) |
template<class S , class T , class U , class V > | |
bool | interpretLine (std::ifstream &in, S &value1, T &value2, U &value3, V &value4, const bool &file_length_known=true) |
template<class S > | |
bool | interpretLine (std::ifstream &in, S &value1, S &value2, S &value3, S &value4, S &value5, S &value6, const bool &file_length_known=true) |
bool | interpreteEOF (std::ifstream &in) |
void | interpretWarning (const std::ios_base::iostate &state, const bool &read_all, const std::string &error_msg, const std::string &found) |
void | missingValuesWarning () |
void | exceedingValuesWarning () |
void | disableFieldmapWarning () |
void | noFieldmapWarning () |
void | lowResolutionWarning (double squareError, double maxError) |
void | checkMap (unsigned int accuracy, std::pair< double, double > fieldDimensions, double deltaZ, const std::vector< double > &fourierCoefficients, gsl_spline *splineCoefficients, gsl_interp_accel *splineAccelerator) |
void | checkMap (unsigned int accuracy, double length, const std::vector< double > &zSampling, const std::vector< double > &fourierCoefficients, gsl_spline *splineCoefficients, gsl_interp_accel *splineAccelerator) |
void | write3DField (unsigned int nx, unsigned int ny, unsigned int nz, const std::pair< double, double > &xrange, const std::pair< double, double > &yrange, const std::pair< double, double > &zrange, const std::vector< Vector_t > &ef, const std::vector< Vector_t > &bf) |
Protected Attributes | |
h5_file_t | file_m |
std::vector< double > | FieldstrengthEz_m |
std::vector< double > | FieldstrengthEx_m |
std::vector< double > | FieldstrengthEy_m |
double | xbegin_m |
double | xend_m |
double | ybegin_m |
double | yend_m |
double | zbegin_m |
double | zend_m |
double | hx_m |
double | hy_m |
double | hz_m |
unsigned int | num_gridpx_m |
unsigned int | num_gridpy_m |
unsigned int | num_gridpz_m |
double | frequency_m |
bool | swap_m |
![]() | |
MapType | Type |
std::string | Filename_m |
int | lines_read_m |
bool | normalize_m |
Friends | |
class | _Fieldmap |
Additional Inherited Members | |
![]() | |
static Fieldmap | getFieldmap (std::string Filename, bool fast=false) |
static std::vector< std::string > | getListFieldmapNames () |
static void | deleteFieldmap (std::string Filename) |
static void | clearDictionary () |
static MapType | readHeader (std::string Filename) |
static void | readMap (std::string Filename) |
static void | freeMap (std::string Filename) |
static std::string | typeset_msg (const std::string &msg, const std::string &title) |
![]() | |
static void | getLine (std::ifstream &in, int &lines_read, std::string &buffer) |
Definition at line 31 of file FM3DH5BlockBase.h.
|
protected |
Enumerator | |
---|---|
LX | |
LY | |
LZ | |
HX | |
HY | |
HZ |
Definition at line 235 of file FM3DH5BlockBase.h.
|
inlineprotected |
Definition at line 88 of file FM3DH5BlockBase.h.
|
inlineprotectedvirtual |
Definition at line 91 of file FM3DH5BlockBase.h.
Definition at line 153 of file FM3DH5BlockBase.cpp.
References file_m, and _Fieldmap::Filename_m.
Referenced by _FM3DH5Block::_FM3DH5Block(), _FM3DH5Block_nonscale::_FM3DH5Block_nonscale(), _FM3DMagnetoStaticH5Block::_FM3DMagnetoStaticH5Block(), _FM3DH5Block_nonscale::readMap(), _FM3DMagnetoStaticH5Block::readMap(), and _FM3DH5Block::readMap().
|
inlinevirtual |
Implements _Fieldmap.
Reimplemented in _FM3DH5Block, _FM3DH5Block_nonscale, and _FM3DMagnetoStaticH5Block.
Definition at line 37 of file FM3DH5BlockBase.h.
|
inlinevirtual |
Implements _Fieldmap.
Definition at line 63 of file FM3DH5BlockBase.h.
|
inlinevirtual |
Implements _Fieldmap.
Definition at line 43 of file FM3DH5BlockBase.h.
|
inlinevirtual |
|
protected |
Definition at line 68 of file FM3DH5BlockBase.cpp.
References file_m, _Fieldmap::Filename_m, getNumSteps(), hx_m, hy_m, hz_m, num_gridpx_m, num_gridpy_m, num_gridpz_m, setStep(), xbegin_m, xend_m, ybegin_m, yend_m, zbegin_m, and zend_m.
Referenced by _FM3DH5Block::_FM3DH5Block(), _FM3DH5Block_nonscale::_FM3DH5Block_nonscale(), and _FM3DMagnetoStaticH5Block::_FM3DMagnetoStaticH5Block().
|
pure virtual |
Implements _Fieldmap.
Implemented in _FM3DH5Block, _FM3DH5Block_nonscale, and _FM3DMagnetoStaticH5Block.
|
virtual |
Implements _Fieldmap.
Reimplemented in _FM3DMagnetoStaticH5Block.
Definition at line 225 of file FM3DH5BlockBase.cpp.
References frequency_m.
|
inlineprotected |
Definition at line 147 of file FM3DH5BlockBase.h.
References num_gridpx_m, num_gridpy_m, and test::result.
Referenced by getWeightedData(), and interpolateTrilinearly().
|
inlineprotected |
Definition at line 190 of file FM3DH5BlockBase.h.
References fmod(), hx_m, hy_m, hz_m, _FM3DH5BlockBase::IndexTriplet::i, _FM3DH5BlockBase::IndexTriplet::j, _FM3DH5BlockBase::IndexTriplet::k, min(), num_gridpx_m, num_gridpy_m, num_gridpz_m, _FM3DH5BlockBase::IndexTriplet::weight, X, xbegin_m, ybegin_m, and zbegin_m.
|
protected |
Definition at line 43 of file FM3DH5BlockBase.cpp.
References file_m, and _Fieldmap::Filename_m.
Referenced by getFieldInfo(), _FM3DMagnetoStaticH5Block::readMap(), _FM3DH5Block::readMap(), and _FM3DH5Block_nonscale::readMap().
|
virtual |
Reimplemented from _Fieldmap.
Definition at line 233 of file FM3DH5BlockBase.cpp.
References abs(), FieldstrengthEz_m, floor(), hx_m, hy_m, num_gridpx_m, num_gridpy_m, num_gridpz_m, xbegin_m, ybegin_m, zbegin_m, and zend_m.
Definition at line 112 of file FM3DH5BlockBase.cpp.
References file_m, _Fieldmap::Filename_m, frequency_m, and Physics::two_pi.
Referenced by _FM3DH5Block::_FM3DH5Block(), _FM3DH5Block_nonscale::_FM3DH5Block_nonscale(), and _FM3DMagnetoStaticH5Block::_FM3DMagnetoStaticH5Block().
|
protected |
Definition at line 161 of file FM3DH5BlockBase.cpp.
References getIndex(), HX, HY, HZ, _FM3DH5BlockBase::IndexTriplet::i, _FM3DH5BlockBase::IndexTriplet::j, _FM3DH5BlockBase::IndexTriplet::k, and _FM3DH5BlockBase::IndexTriplet::weight.
Referenced by interpolateTrilinearly().
|
protected |
Definition at line 178 of file FM3DH5BlockBase.cpp.
References getIndex(), getWeightedData(), HX, HY, HZ, LX, LY, LZ, and test::result.
Referenced by _FM3DH5Block::getFieldstrength(), _FM3DMagnetoStaticH5Block::getFieldstrength(), and _FM3DH5Block_nonscale::getFieldstrength().
|
inlineprotectedvirtual |
Reimplemented from _Fieldmap.
Definition at line 119 of file FM3DH5BlockBase.h.
References xbegin_m, xend_m, ybegin_m, yend_m, zbegin_m, and zend_m.
Referenced by _FM3DH5Block::getFieldstrength(), _FM3DMagnetoStaticH5Block::getFieldstrength(), and _FM3DH5Block_nonscale::getFieldstrength().
|
protected |
Definition at line 24 of file FM3DH5BlockBase.cpp.
References file_m, and IpplInfo::getComm().
Referenced by _FM3DH5Block::_FM3DH5Block(), _FM3DH5Block_nonscale::_FM3DH5Block_nonscale(), _FM3DMagnetoStaticH5Block::_FM3DMagnetoStaticH5Block(), _FM3DH5Block_nonscale::readMap(), _FM3DMagnetoStaticH5Block::readMap(), and _FM3DH5Block::readMap().
|
protected |
Definition at line 124 of file FM3DH5BlockBase.cpp.
References file_m, _Fieldmap::Filename_m, num_gridpx_m, num_gridpy_m, and num_gridpz_m.
Referenced by _FM3DH5Block::readMap(), _FM3DMagnetoStaticH5Block::readMap(), and _FM3DH5Block_nonscale::readMap().
|
inlinevirtual |
Implements _Fieldmap.
Reimplemented in _FM3DH5Block, _FM3DH5Block_nonscale, and _FM3DMagnetoStaticH5Block.
Definition at line 34 of file FM3DH5BlockBase.h.
|
virtual |
|
protected |
Definition at line 59 of file FM3DH5BlockBase.cpp.
References file_m, and _Fieldmap::Filename_m.
Referenced by getFieldInfo(), _FM3DMagnetoStaticH5Block::readMap(), _FM3DH5Block::readMap(), and _FM3DH5Block_nonscale::readMap().
|
inlinevirtual |
Implements _Fieldmap.
Definition at line 72 of file FM3DH5BlockBase.h.
|
friend |
Definition at line 268 of file FM3DH5BlockBase.h.
|
protected |
3D array with Ex
Definition at line 245 of file FM3DH5BlockBase.h.
Referenced by _FM3DH5Block::freeMap(), _FM3DH5Block_nonscale::freeMap(), _FM3DMagnetoStaticH5Block::freeMap(), _FM3DMagnetoStaticH5Block::getFieldstrength(), _FM3DH5Block_nonscale::getFieldstrength(), _FM3DH5Block::getFieldstrength(), _FM3DH5Block_nonscale::readMap(), _FM3DH5Block::readMap(), and _FM3DMagnetoStaticH5Block::readMap().
|
protected |
3D array with Ey
Definition at line 246 of file FM3DH5BlockBase.h.
Referenced by _FM3DH5Block::freeMap(), _FM3DH5Block_nonscale::freeMap(), _FM3DMagnetoStaticH5Block::freeMap(), _FM3DMagnetoStaticH5Block::getFieldstrength(), _FM3DH5Block_nonscale::getFieldstrength(), _FM3DH5Block::getFieldstrength(), _FM3DH5Block_nonscale::readMap(), _FM3DH5Block::readMap(), and _FM3DMagnetoStaticH5Block::readMap().
|
protected |
3D array with Ez
Definition at line 244 of file FM3DH5BlockBase.h.
Referenced by _FM3DH5Block::freeMap(), _FM3DH5Block_nonscale::freeMap(), _FM3DMagnetoStaticH5Block::freeMap(), _FM3DMagnetoStaticH5Block::getFieldstrength(), _FM3DH5Block::getFieldstrength(), _FM3DH5Block_nonscale::getFieldstrength(), getOnaxisEz(), _FM3DH5Block::readMap(), _FM3DH5Block_nonscale::readMap(), and _FM3DMagnetoStaticH5Block::readMap().
|
protected |
Definition at line 243 of file FM3DH5BlockBase.h.
Referenced by closeFile(), getFieldInfo(), getNumSteps(), getResonanceFrequency(), openFileMPIOCollective(), readField(), and setStep().
|
protected |
Definition at line 265 of file FM3DH5BlockBase.h.
Referenced by getFrequency(), getResonanceFrequency(), and setFrequency().
|
protected |
length between points in grid, x-direction
Definition at line 257 of file FM3DH5BlockBase.h.
Referenced by getFieldInfo(), getIndex(), getInfo(), and getOnaxisEz().
|
protected |
length between points in grid, y-direction
Definition at line 258 of file FM3DH5BlockBase.h.
Referenced by getFieldInfo(), getIndex(), getInfo(), and getOnaxisEz().
|
protected |
length between points in grid, z-direction
Definition at line 259 of file FM3DH5BlockBase.h.
Referenced by getFieldInfo(), getIndex(), and getInfo().
|
protected |
number of points after 0(not counted here) in grid, x-direction
Definition at line 261 of file FM3DH5BlockBase.h.
Referenced by getFieldInfo(), getIndex(), getOnaxisEz(), readField(), _FM3DH5Block_nonscale::readMap(), _FM3DMagnetoStaticH5Block::readMap(), and _FM3DH5Block::readMap().
|
protected |
number of points after 0(not counted here) in grid, y-direction
Definition at line 262 of file FM3DH5BlockBase.h.
Referenced by getFieldInfo(), getIndex(), getOnaxisEz(), readField(), _FM3DH5Block_nonscale::readMap(), _FM3DMagnetoStaticH5Block::readMap(), and _FM3DH5Block::readMap().
|
protected |
number of points after 0(not counted here) in grid, z-direction
Definition at line 263 of file FM3DH5BlockBase.h.
Referenced by getFieldInfo(), getIndex(), getOnaxisEz(), readField(), _FM3DH5Block_nonscale::readMap(), _FM3DMagnetoStaticH5Block::readMap(), and _FM3DH5Block::readMap().
|
protected |
Definition at line 267 of file FM3DH5BlockBase.h.
|
protected |
Definition at line 248 of file FM3DH5BlockBase.h.
Referenced by getFieldDimensions(), getFieldInfo(), getIndex(), getInfo(), getOnaxisEz(), and isInside().
|
protected |
Definition at line 249 of file FM3DH5BlockBase.h.
Referenced by getFieldDimensions(), getFieldInfo(), getInfo(), and isInside().
|
protected |
Definition at line 251 of file FM3DH5BlockBase.h.
Referenced by getFieldDimensions(), getFieldInfo(), getIndex(), getInfo(), getOnaxisEz(), and isInside().
|
protected |
Definition at line 252 of file FM3DH5BlockBase.h.
Referenced by getFieldDimensions(), getFieldInfo(), getInfo(), and isInside().
|
protected |
Definition at line 254 of file FM3DH5BlockBase.h.
Referenced by getFieldDimensions(), getFieldInfo(), getIndex(), getInfo(), getOnaxisEz(), and isInside().
|
protected |
Definition at line 255 of file FM3DH5BlockBase.h.
Referenced by getFieldDimensions(), getFieldInfo(), getInfo(), getOnaxisEz(), and isInside().