OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <FM1DElectroStatic.h>
Public Member Functions | |
virtual bool | getFieldstrength (const Vector_t &R, Vector_t &E, Vector_t &B) 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 bool | getFieldDerivative (const Vector_t &R, Vector_t &E, Vector_t &B, const DiffDirection &dir) const |
virtual void | swap () |
virtual void | getInfo (Inform *) |
virtual double | getFrequency () const |
virtual void | setFrequency (double freq) |
virtual bool | isInside (const Vector_t &r) const |
Public Member Functions inherited from Fieldmap | |
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) |
template<class T > | |
bool | interpretLine (std::ifstream &in, T &value, const bool &file_length_known) |
Private Member Functions | |
FM1DElectroStatic (std::string aFilename) | |
~FM1DElectroStatic () | |
virtual void | readMap () |
virtual void | freeMap () |
bool | checkFileData (std::ifstream &fieldFile, bool parsingPassed) |
void | computeFieldOffAxis (const Vector_t &R, Vector_t &E, Vector_t &B, std::vector< double > fieldComponents) const |
void | computeFieldOnAxis (double z, std::vector< double > &fieldComponents) const |
void | computeFourierCoefficients (double maxEz, double fieldData[]) |
void | convertHeaderData () |
double | readFileData (std::ifstream &fieldFile, double fieldData[]) |
bool | readFileHeader (std::ifstream &fieldFile) |
void | stripFileHeader (std::ifstream &fieldFile) |
Private Attributes | |
double | rBegin_m |
double | rEnd_m |
Minimum radius of field. More... | |
double | zBegin_m |
Maximum radius of field. More... | |
double | zEnd_m |
Longitudinal start of field. More... | |
double | length_m |
Longitudinal end of field. More... | |
int | numberOfGridPoints_m |
Field length. More... | |
int | accuracy_m |
Number of grid points in field input file. More... | |
std::vector< double > | fourierCoefs_m |
Number of Fourier coefficients to use reconstructing field. More... | |
Friends | |
class | Fieldmap |
Fourier coefficients derived from field map. More... | |
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 FM1DElectroStatic.h.
|
private |
Definition at line 12 of file FM1DElectroStatic.cpp.
References checkFileData(), convertHeaderData(), Fieldmap::disableFieldmapWarning(), Fieldmap::Filename_m, length_m, Fieldmap::noFieldmapWarning(), numberOfGridPoints_m, readFileHeader(), T1DElectroStatic, Fieldmap::Type, zBegin_m, and zEnd_m.
|
private |
Definition at line 39 of file FM1DElectroStatic.cpp.
References freeMap().
|
private |
Definition at line 129 of file FM1DElectroStatic.cpp.
References Fieldmap::interpreteEOF(), and numberOfGridPoints_m.
Referenced by FM1DElectroStatic().
|
private |
Definition at line 141 of file FM1DElectroStatic.cpp.
References pow(), and Attrib::Distribution::R.
Referenced by getFieldstrength().
|
private |
Definition at line 156 of file FM1DElectroStatic.cpp.
References accuracy_m, cos(), fourierCoefs_m, length_m, Hypervolume::n, Physics::pi, pow(), sin(), and Physics::two_pi.
Referenced by getFieldstrength().
|
private |
Definition at line 189 of file FM1DElectroStatic.cpp.
References accuracy_m, fourierCoefs_m, and numberOfGridPoints_m.
Referenced by readMap().
|
private |
Definition at line 211 of file FM1DElectroStatic.cpp.
References rBegin_m, rEnd_m, zBegin_m, and zEnd_m.
Referenced by FM1DElectroStatic().
|
privatevirtual |
Implements Fieldmap.
Definition at line 61 of file FM1DElectroStatic.cpp.
References endl(), Fieldmap::Filename_m, fourierCoefs_m, INFOMSG, level3(), and Fieldmap::typeset_msg().
Referenced by ~FM1DElectroStatic().
|
virtual |
Implements Fieldmap.
Definition at line 81 of file FM1DElectroStatic.cpp.
References accuracy_m, cos(), fourierCoefs_m, length_m, Hypervolume::n, Physics::pi, Attrib::Distribution::R, sin(), Physics::two_pi, and zBegin_m.
|
virtual |
Implements Fieldmap.
Definition at line 108 of file FM1DElectroStatic.cpp.
|
virtual |
Implements Fieldmap.
Definition at line 104 of file FM1DElectroStatic.cpp.
|
virtual |
Implements Fieldmap.
Definition at line 71 of file FM1DElectroStatic.cpp.
References computeFieldOffAxis(), computeFieldOnAxis(), Attrib::Distribution::R, and zBegin_m.
|
virtual |
Implements Fieldmap.
Definition at line 122 of file FM1DElectroStatic.cpp.
|
virtual |
Implements Fieldmap.
Definition at line 115 of file FM1DElectroStatic.cpp.
References endl(), Fieldmap::Filename_m, zBegin_m, and zEnd_m.
|
inlinevirtual |
Reimplemented from Fieldmap.
Definition at line 53 of file FM1DElectroStatic.h.
|
private |
Definition at line 220 of file FM1DElectroStatic.cpp.
References abs(), Fieldmap::normalize_m, and numberOfGridPoints_m.
Referenced by readMap().
|
private |
Definition at line 245 of file FM1DElectroStatic.cpp.
References accuracy_m, Physics::e, Fieldmap::normalize_m, numberOfGridPoints_m, rBegin_m, rEnd_m, Util::toUpper(), zBegin_m, and zEnd_m.
Referenced by FM1DElectroStatic().
|
privatevirtual |
Implements Fieldmap.
Definition at line 43 of file FM1DElectroStatic.cpp.
References computeFourierCoefficients(), endl(), Fieldmap::Filename_m, fourierCoefs_m, INFOMSG, level3(), numberOfGridPoints_m, readFileData(), stripFileHeader(), and Fieldmap::typeset_msg().
|
virtual |
Implements Fieldmap.
Definition at line 126 of file FM1DElectroStatic.cpp.
|
private |
Definition at line 288 of file FM1DElectroStatic.cpp.
References Fieldmap::getLine().
Referenced by readMap().
|
virtual |
Implements Fieldmap.
Definition at line 112 of file FM1DElectroStatic.cpp.
|
friend |
Fourier coefficients derived from field map.
Definition at line 50 of file FM1DElectroStatic.h.
|
private |
Number of grid points in field input file.
Definition at line 47 of file FM1DElectroStatic.h.
Referenced by computeFieldOnAxis(), computeFourierCoefficients(), getFieldDerivative(), and readFileHeader().
|
private |
Number of Fourier coefficients to use reconstructing field.
Definition at line 48 of file FM1DElectroStatic.h.
Referenced by computeFieldOnAxis(), computeFourierCoefficients(), freeMap(), getFieldDerivative(), and readMap().
|
private |
Longitudinal end of field.
Definition at line 44 of file FM1DElectroStatic.h.
Referenced by computeFieldOnAxis(), FM1DElectroStatic(), and getFieldDerivative().
|
private |
Field length.
Definition at line 45 of file FM1DElectroStatic.h.
Referenced by checkFileData(), computeFourierCoefficients(), FM1DElectroStatic(), readFileData(), readFileHeader(), and readMap().
|
private |
Definition at line 40 of file FM1DElectroStatic.h.
Referenced by convertHeaderData(), and readFileHeader().
|
private |
Minimum radius of field.
Definition at line 41 of file FM1DElectroStatic.h.
Referenced by convertHeaderData(), and readFileHeader().
|
private |
Maximum radius of field.
Definition at line 42 of file FM1DElectroStatic.h.
Referenced by convertHeaderData(), FM1DElectroStatic(), getFieldDerivative(), getFieldDimensions(), getFieldstrength(), getInfo(), isInside(), and readFileHeader().
|
private |
Longitudinal start of field.
Definition at line 43 of file FM1DElectroStatic.h.
Referenced by convertHeaderData(), FM1DElectroStatic(), getFieldDimensions(), getInfo(), isInside(), and readFileHeader().