|
OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <FM3DMagnetoStaticExtended.h>


Classes | |
| struct | IndexTriplet |
Public Member Functions | |
| virtual bool | getFieldstrength (const Vector_t &R, Vector_t &E, Vector_t &B) const |
| virtual bool | getFieldDerivative (const Vector_t &R, Vector_t &E, Vector_t &B, const DiffDirection &dir) const |
| 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 void | swap () |
| virtual void | getInfo (Inform *msg) |
| virtual double | getFrequency () const |
| virtual void | setFrequency (double freq) |
| virtual bool | isInside (const Vector_t &r) const |
Public Member Functions inherited from Fieldmap | |
| virtual bool | getFieldstrength (const Vector_t &R, Vector_t &E, Vector_t &B) const =0 |
| virtual bool | getFieldDerivative (const Vector_t &R, Vector_t &E, Vector_t &B, const DiffDirection &dir) const =0 |
| virtual void | getFieldDimensions (double &zBegin, double &zEnd) const =0 |
| virtual void | getFieldDimensions (double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const =0 |
| virtual void | swap ()=0 |
| virtual void | getInfo (Inform *msg)=0 |
| virtual double | getFrequency () const =0 |
| virtual void | setFrequency (double freq)=0 |
| 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 () |
| virtual void | getOnaxisEz (std::vector< std::pair< double, double > > &onaxis) |
| virtual bool | isInside (const Vector_t &) const |
| virtual void | readMap ()=0 |
| virtual void | freeMap ()=0 |
| template<class T > | |
| bool | interpretLine (std::ifstream &in, T &value, const bool &file_length_known) |
Private Types | |
| enum | { LX = 0 , LY = 0 , LZ = 0 , HX = 4 , HY = 2 , HZ = 1 } |
Private Member Functions | |
| FM3DMagnetoStaticExtended (std::string aFilename) | |
| ~FM3DMagnetoStaticExtended () | |
| virtual void | readMap () |
| virtual void | freeMap () |
| IndexTriplet | getIndex (const Vector_t &X) const |
| unsigned long | getIndex (unsigned int i, unsigned int j, unsigned int k) const |
| Vector_t | interpolateTrilinearly (const Vector_t &X) const |
| double | getWeightedData (double *data, const IndexTriplet &idx, unsigned short corner) const |
| void | integrateBx (unsigned j) |
| void | integrateBz (unsigned j) |
| void | integrateBy (unsigned j) |
| void | smoothData (double *data, unsigned j) |
| void | saveField (const std::string &fname, unsigned int j) const |
Private Attributes | |
| double * | FieldstrengthBx_m |
| double * | FieldstrengthBy_m |
| double * | FieldstrengthBz_m |
| double | xbegin_m |
| double | xend_m |
| double | ybegin_m |
| double | yend_m |
| double | zbegin_m |
| double | zend_m |
| double | length_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 |
Friends | |
| class | Fieldmap |
Additional Inherited Members | |
Static Public Member Functions inherited from Fieldmap | |
| 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) |
Protected Member Functions inherited from Fieldmap | |
| Fieldmap ()=delete | |
| Fieldmap (const std::string &aFilename) | |
| 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) |
Static Protected Member Functions inherited from Fieldmap | |
| static void | getLine (std::ifstream &in, int &lines_read, std::string &buffer) |
Protected Attributes inherited from Fieldmap | |
| MapType | Type |
| std::string | Filename_m |
| int | lines_read_m |
| bool | normalize_m |
Definition at line 6 of file FM3DMagnetoStaticExtended.h.
|
private |
| Enumerator | |
|---|---|
| LX | |
| LY | |
| LZ | |
| HX | |
| HY | |
| HZ | |
Definition at line 44 of file FM3DMagnetoStaticExtended.h.
|
private |
Definition at line 14 of file FM3DMagnetoStaticExtended.cpp.
References abs(), Units::cm2m, Fieldmap::disableFieldmapWarning(), Physics::e, Fieldmap::Filename_m, hx_m, hy_m, hz_m, Fieldmap::interpreteEOF(), length_m, Fieldmap::lines_read_m, max(), Fieldmap::normalize_m, num_gridpx_m, num_gridpy_m, num_gridpz_m, T2DMagnetoStatic, Util::toUpper(), Fieldmap::Type, xbegin_m, xend_m, ybegin_m, yend_m, zbegin_m, and zend_m.

|
private |
Definition at line 90 of file FM3DMagnetoStaticExtended.cpp.
References freeMap().

|
privatevirtual |
Implements Fieldmap.
Definition at line 627 of file FM3DMagnetoStaticExtended.cpp.
References endl(), FieldstrengthBx_m, FieldstrengthBy_m, FieldstrengthBz_m, Fieldmap::Filename_m, INFOMSG, level3(), and Fieldmap::typeset_msg().
Referenced by ~FM3DMagnetoStaticExtended().

|
virtual |
Implements Fieldmap.
Definition at line 698 of file FM3DMagnetoStaticExtended.cpp.
|
virtual |
|
virtual |
Implements Fieldmap.
Definition at line 702 of file FM3DMagnetoStaticExtended.cpp.
|
virtual |
Implements Fieldmap.
Definition at line 686 of file FM3DMagnetoStaticExtended.cpp.
References copysign(), interpolateTrilinearly(), isInside(), and Attrib::Distribution::R.

|
virtual |
Implements Fieldmap.
Definition at line 723 of file FM3DMagnetoStaticExtended.cpp.
|
inlineprivate |
Definition at line 96 of file FM3DMagnetoStaticExtended.h.
References abs(), floor(), hx_m, hy_m, hz_m, FM3DMagnetoStaticExtended::IndexTriplet::i, FM3DMagnetoStaticExtended::IndexTriplet::j, FM3DMagnetoStaticExtended::IndexTriplet::k, num_gridpx_m, num_gridpy_m, num_gridpz_m, PAssert_LT, FM3DMagnetoStaticExtended::IndexTriplet::weight, X, xbegin_m, and zbegin_m.
Referenced by getWeightedData(), integrateBx(), integrateBy(), integrateBz(), interpolateTrilinearly(), readMap(), saveField(), and smoothData().

|
inlineprivate |
Definition at line 87 of file FM3DMagnetoStaticExtended.h.
References num_gridpx_m, num_gridpy_m, num_gridpz_m, and PAssert_LT.
|
virtual |
Implements Fieldmap.
Definition at line 719 of file FM3DMagnetoStaticExtended.cpp.
References endl(), Fieldmap::Filename_m, zbegin_m, and zend_m.

|
private |
Definition at line 675 of file FM3DMagnetoStaticExtended.cpp.
References getIndex(), HX, HY, HZ, FM3DMagnetoStaticExtended::IndexTriplet::i, FM3DMagnetoStaticExtended::IndexTriplet::j, FM3DMagnetoStaticExtended::IndexTriplet::k, and FM3DMagnetoStaticExtended::IndexTriplet::weight.
Referenced by interpolateTrilinearly().

|
private |
Definition at line 158 of file FM3DMagnetoStaticExtended.cpp.
References FieldstrengthBx_m, FieldstrengthBy_m, getIndex(), hx_m, hy_m, num_gridpx_m, and num_gridpz_m.
Referenced by readMap().

|
private |
Definition at line 283 of file FM3DMagnetoStaticExtended.cpp.
References FieldstrengthBx_m, FieldstrengthBy_m, FieldstrengthBz_m, getIndex(), hx_m, hy_m, hz_m, num_gridpx_m, and num_gridpz_m.
Referenced by readMap().

|
private |
Definition at line 225 of file FM3DMagnetoStaticExtended.cpp.
References FieldstrengthBy_m, FieldstrengthBz_m, getIndex(), hy_m, hz_m, num_gridpx_m, and num_gridpz_m.
Referenced by readMap().

Definition at line 641 of file FM3DMagnetoStaticExtended.cpp.
References FieldstrengthBx_m, FieldstrengthBy_m, FieldstrengthBz_m, getIndex(), getWeightedData(), HX, HY, HZ, LX, LY, LZ, and X.
Referenced by getFieldstrength().

|
inlinevirtual |
Reimplemented from Fieldmap.
Definition at line 81 of file FM3DMagnetoStaticExtended.h.
References abs(), length_m, xbegin_m, xend_m, and yend_m.
Referenced by getFieldstrength().

|
privatevirtual |
Implements Fieldmap.
Definition at line 94 of file FM3DMagnetoStaticExtended.cpp.
References abs(), endl(), FieldstrengthBx_m, FieldstrengthBy_m, FieldstrengthBz_m, Fieldmap::Filename_m, getIndex(), Fieldmap::getLine(), hx_m, INFOMSG, integrateBx(), integrateBy(), integrateBz(), level3(), Fieldmap::normalize_m, num_gridpx_m, num_gridpy_m, num_gridpz_m, smoothData(), Fieldmap::typeset_msg(), and xbegin_m.

|
private |
Definition at line 605 of file FM3DMagnetoStaticExtended.cpp.
References FieldstrengthBx_m, FieldstrengthBy_m, FieldstrengthBz_m, getIndex(), hx_m, hy_m, hz_m, num_gridpx_m, num_gridpz_m, xbegin_m, and zbegin_m.

|
virtual |
Implements Fieldmap.
Definition at line 727 of file FM3DMagnetoStaticExtended.cpp.
|
private |
Definition at line 500 of file FM3DMagnetoStaticExtended.cpp.
References abs(), getIndex(), num_gridpx_m, num_gridpy_m, num_gridpz_m, pow(), and sum().
Referenced by readMap().

|
virtual |
Implements Fieldmap.
Definition at line 716 of file FM3DMagnetoStaticExtended.cpp.
|
friend |
Definition at line 77 of file FM3DMagnetoStaticExtended.h.
|
private |
3D array with Bx, read in first along z0 - r0 to rN then z1 - r0 to rN until zN - r0 to rN
Definition at line 59 of file FM3DMagnetoStaticExtended.h.
Referenced by freeMap(), integrateBx(), integrateBy(), interpolateTrilinearly(), readMap(), and saveField().
|
private |
3D array with By, read in like Bx
Definition at line 60 of file FM3DMagnetoStaticExtended.h.
Referenced by freeMap(), integrateBx(), integrateBy(), integrateBz(), interpolateTrilinearly(), readMap(), and saveField().
|
private |
3D array with Bz, read in like Bx
Definition at line 61 of file FM3DMagnetoStaticExtended.h.
Referenced by freeMap(), integrateBy(), integrateBz(), interpolateTrilinearly(), readMap(), and saveField().
|
private |
length between points in grid, x-direction, m
Definition at line 70 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getIndex(), integrateBx(), integrateBy(), readMap(), and saveField().
|
private |
length between points in grid, y-direction, m
Definition at line 71 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getIndex(), integrateBx(), integrateBy(), integrateBz(), and saveField().
|
private |
length between points in grid, z-direction, m
Definition at line 72 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getIndex(), integrateBy(), integrateBz(), and saveField().
|
private |
Definition at line 69 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), and isInside().
|
private |
Read in number of points after 0(not counted here) in grid, x-direction
Definition at line 73 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getIndex(), integrateBx(), integrateBy(), integrateBz(), readMap(), saveField(), and smoothData().
|
private |
Read in number of points after 0(not counted here) in grid, y-direction
Definition at line 74 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getIndex(), readMap(), and smoothData().
|
private |
Read in number of points after 0(not counted here) in grid, z-direction
Definition at line 75 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getIndex(), integrateBx(), integrateBy(), integrateBz(), readMap(), saveField(), and smoothData().
|
private |
Definition at line 63 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getFieldDimensions(), getIndex(), isInside(), readMap(), and saveField().
|
private |
Definition at line 64 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getFieldDimensions(), and isInside().
|
private |
Definition at line 65 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended().
|
private |
Definition at line 66 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getFieldDimensions(), and isInside().
|
private |
Definition at line 67 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getFieldDimensions(), getIndex(), getInfo(), and saveField().
|
private |
Definition at line 68 of file FM3DMagnetoStaticExtended.h.
Referenced by FM3DMagnetoStaticExtended(), getFieldDimensions(), and getInfo().