|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <FM1DDynamic_fast.h>


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, double &rBegin, double &rEnd) const |
| virtual void | getFieldDimensions (double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const |
| virtual void | swap () |
| virtual void | getInfo (Inform *) |
| virtual double | getFrequency () const |
| virtual void | setFrequency (double freq) |
| virtual void | getOnaxisEz (std::vector< std::pair< double, double >> &eZ) |
| 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 | interpreteLine (std::ifstream &in, T &value, const bool &file_length_known) |
Private Member Functions | |
| FM1DDynamic_fast (std::string aFilename) | |
| ~FM1DDynamic_fast () | |
| virtual void | readMap () |
| virtual void | freeMap () |
| bool | checkFileData (std::ifstream &fieldFile, bool parsingPassed) |
| void | computeFieldDerivatives (std::vector< double > fourierCoefs, double onAxisFieldP[], double onAxisFieldPP[], double onAxisFieldPPP[]) |
| 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 |
| std::vector< double > | computeFourierCoefficients (double fieldData[]) |
| void | computeInterpolationVectors (double onAxisFieldP[], double onAxisFieldPP[], double onAxisFieldPPP[]) |
| void | convertHeaderData () |
| void | normalizeField (double maxEz, std::vector< double > &fourierCoefs) |
| double | readFileData (std::ifstream &fieldFile, double fieldData[]) |
| double | readFileData (std::ifstream &fieldFile, std::vector< std::pair< double, double >> &eZ) |
| bool | readFileHeader (std::ifstream &fieldFile) |
| void | scaleField (double maxEz, std::vector< std::pair< double, double >> &eZ) |
| void | stripFileHeader (std::ifstream &fieldFile) |
| void | prepareForMapCheck (std::vector< double > &fourierCoefs) |
Private Attributes | |
| double | frequency_m |
| double | twoPiOverLambdaSq_m |
| Field angular frequency (Hz). More... | |
| double | rBegin_m |
| 2 Pi divided by the field RF wavelength squared. More... | |
| 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... | |
| unsigned int | numberOfGridPoints_m |
| Field length. More... | |
| double | deltaZ_m |
| Number of grid points in field input file. More... | |
| unsigned int | accuracy_m |
| Field grid point spacing. More... | |
| double * | onAxisField_m |
| gsl_spline * | onAxisFieldInterpolants_m |
| On axis field data. More... | |
| gsl_spline * | onAxisFieldPInterpolants_m |
| On axis field interpolation structure. More... | |
| gsl_spline * | onAxisFieldPPInterpolants_m |
| On axis field first derivative interpolation structure. More... | |
| gsl_spline * | onAxisFieldPPPInterpolants_m |
| On axis field second derivative interpolation structure. More... | |
| gsl_interp_accel * | onAxisFieldAccel_m |
| On axis field third derivative interpolation structure. More... | |
| gsl_interp_accel * | onAxisFieldPAccel_m |
| gsl_interp_accel * | onAxisFieldPPAccel_m |
| gsl_interp_accel * | onAxisFieldPPPAccel_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 (const std::string &aFilename) | |
| virtual | ~Fieldmap () |
| void | getLine (std::ifstream &in, std::string &buffer) |
| template<class S > | |
| bool | interpreteLine (std::ifstream &in, S &value, const bool &file_length_known=true) |
| template<class S , class T > | |
| bool | interpreteLine (std::ifstream &in, S &value1, T &value2, const bool &file_length_known=true) |
| template<class S , class T , class U > | |
| bool | interpreteLine (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 | interpreteLine (std::ifstream &in, S &value1, T &value2, U &value3, V &value4, const bool &file_length_known=true) |
| template<class S > | |
| bool | interpreteLine (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 | interpreteWarning (const std::string &error_msg, const std::string &expecting, const std::string &found) |
| void | interpreteWarning (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 FM1DDynamic_fast.h.
|
private |
Definition at line 12 of file FM1DDynamic_fast.cpp.
References checkFileData(), convertHeaderData(), deltaZ_m, Fieldmap::disableFieldmapWarning(), Fieldmap::Filename_m, length_m, Fieldmap::noFieldmapWarning(), numberOfGridPoints_m, onAxisField_m, readFileHeader(), T1DDynamic, Fieldmap::Type, zBegin_m, and zEnd_m.

|
private |
Definition at line 43 of file FM1DDynamic_fast.cpp.
References freeMap().

|
private |
Definition at line 161 of file FM1DDynamic_fast.cpp.
References Fieldmap::interpreteEOF(), and numberOfGridPoints_m.
Referenced by FM1DDynamic_fast().

|
private |
Definition at line 173 of file FM1DDynamic_fast.cpp.
References accuracy_m, cos(), deltaZ_m, length_m, Hypervolume::n, numberOfGridPoints_m, Physics::pi, pow(), sin(), and Physics::two_pi.
Referenced by readMap().

|
private |
Definition at line 209 of file FM1DDynamic_fast.cpp.
References frequency_m, pow(), Attrib::Distribution::R, and twoPiOverLambdaSq_m.
Referenced by getFieldstrength().

|
private |
Definition at line 233 of file FM1DDynamic_fast.cpp.
References onAxisFieldAccel_m, onAxisFieldInterpolants_m, onAxisFieldPAccel_m, onAxisFieldPInterpolants_m, onAxisFieldPPAccel_m, onAxisFieldPPInterpolants_m, onAxisFieldPPPAccel_m, and onAxisFieldPPPInterpolants_m.
Referenced by getFieldstrength().
|
private |
Definition at line 247 of file FM1DDynamic_fast.cpp.
References accuracy_m, and numberOfGridPoints_m.
Referenced by readMap().
|
private |
Definition at line 279 of file FM1DDynamic_fast.cpp.
References deltaZ_m, numberOfGridPoints_m, onAxisField_m, onAxisFieldAccel_m, onAxisFieldInterpolants_m, onAxisFieldPAccel_m, onAxisFieldPInterpolants_m, onAxisFieldPPAccel_m, onAxisFieldPPInterpolants_m, onAxisFieldPPPAccel_m, and onAxisFieldPPPInterpolants_m.
Referenced by readMap().
|
private |
Definition at line 312 of file FM1DDynamic_fast.cpp.
References Physics::c, frequency_m, pow(), rBegin_m, rEnd_m, Physics::two_pi, twoPiOverLambdaSq_m, zBegin_m, and zEnd_m.
Referenced by FM1DDynamic_fast().

|
privatevirtual |
Implements Fieldmap.
Definition at line 80 of file FM1DDynamic_fast.cpp.
References endl(), Fieldmap::Filename_m, INFOMSG, level3(), onAxisField_m, onAxisFieldAccel_m, onAxisFieldInterpolants_m, onAxisFieldPAccel_m, onAxisFieldPInterpolants_m, onAxisFieldPPAccel_m, onAxisFieldPPInterpolants_m, onAxisFieldPPPAccel_m, onAxisFieldPPPInterpolants_m, and Fieldmap::typeset_msg().
Referenced by ~FM1DDynamic_fast().

|
virtual |
Implements Fieldmap.
Definition at line 109 of file FM1DDynamic_fast.cpp.
References onAxisFieldPAccel_m, onAxisFieldPInterpolants_m, and Attrib::Distribution::R.
|
virtual |
|
virtual |
Implements Fieldmap.
Definition at line 128 of file FM1DDynamic_fast.cpp.
|
virtual |
Implements Fieldmap.
Definition at line 99 of file FM1DDynamic_fast.cpp.
References computeFieldOffAxis(), computeFieldOnAxis(), and Attrib::Distribution::R.

|
virtual |
|
virtual |
Implements Fieldmap.
Definition at line 135 of file FM1DDynamic_fast.cpp.
References endl(), Fieldmap::Filename_m, zBegin_m, and zEnd_m.

|
virtual |
Definition at line 150 of file FM1DDynamic_fast.cpp.
References Fieldmap::Filename_m, numberOfGridPoints_m, readFileData(), scaleField(), and stripFileHeader().

|
inlinevirtual |
Reimplemented from Fieldmap.
Definition at line 80 of file FM1DDynamic_fast.h.
|
private |
Definition at line 326 of file FM1DDynamic_fast.cpp.
References numberOfGridPoints_m, and onAxisField_m.
Referenced by readMap().
|
private |
Definition at line 436 of file FM1DDynamic_fast.cpp.
References accuracy_m, Fieldmap::checkMap(), deltaZ_m, length_m, numberOfGridPoints_m, onAxisFieldAccel_m, and onAxisFieldInterpolants_m.
Referenced by readMap().

|
private |
Definition at line 338 of file FM1DDynamic_fast.cpp.
References abs(), Fieldmap::normalize_m, and numberOfGridPoints_m.
Referenced by getOnaxisEz(), and readMap().

|
private |
Definition at line 354 of file FM1DDynamic_fast.cpp.
References abs(), Fieldmap::normalize_m, numberOfGridPoints_m, zBegin_m, and zEnd_m.

|
private |
Definition at line 372 of file FM1DDynamic_fast.cpp.
References accuracy_m, Physics::e, frequency_m, Fieldmap::normalize_m, numberOfGridPoints_m, rBegin_m, rEnd_m, Util::toUpper(), zBegin_m, and zEnd_m.
Referenced by FM1DDynamic_fast().

|
privatevirtual |
Implements Fieldmap.
Definition at line 47 of file FM1DDynamic_fast.cpp.
References computeFieldDerivatives(), computeFourierCoefficients(), computeInterpolationVectors(), endl(), Fieldmap::Filename_m, INFOMSG, normalizeField(), numberOfGridPoints_m, onAxisField_m, prepareForMapCheck(), readFileData(), stripFileHeader(), and Fieldmap::typeset_msg().

|
private |
Definition at line 418 of file FM1DDynamic_fast.cpp.
References Fieldmap::normalize_m, and numberOfGridPoints_m.
Referenced by getOnaxisEz().
|
virtual |
|
private |
Definition at line 426 of file FM1DDynamic_fast.cpp.
References Fieldmap::getLine().
Referenced by getOnaxisEz(), and readMap().

|
virtual |
Implements Fieldmap.
Definition at line 132 of file FM1DDynamic_fast.cpp.
|
friend |
Definition at line 77 of file FM1DDynamic_fast.h.
|
private |
Field grid point spacing.
Definition at line 63 of file FM1DDynamic_fast.h.
Referenced by computeFieldDerivatives(), computeFourierCoefficients(), prepareForMapCheck(), and readFileHeader().
|
private |
Number of grid points in field input file.
Definition at line 62 of file FM1DDynamic_fast.h.
Referenced by computeFieldDerivatives(), computeInterpolationVectors(), FM1DDynamic_fast(), and prepareForMapCheck().
|
private |
Definition at line 53 of file FM1DDynamic_fast.h.
Referenced by computeFieldOffAxis(), convertHeaderData(), getFrequency(), readFileHeader(), and setFrequency().
|
private |
Longitudinal end of field.
Definition at line 60 of file FM1DDynamic_fast.h.
Referenced by computeFieldDerivatives(), FM1DDynamic_fast(), and prepareForMapCheck().
|
private |
Field length.
Definition at line 61 of file FM1DDynamic_fast.h.
Referenced by checkFileData(), computeFieldDerivatives(), computeFourierCoefficients(), computeInterpolationVectors(), FM1DDynamic_fast(), getOnaxisEz(), normalizeField(), prepareForMapCheck(), readFileData(), readFileHeader(), readMap(), and scaleField().
|
private |
Definition at line 65 of file FM1DDynamic_fast.h.
Referenced by computeInterpolationVectors(), FM1DDynamic_fast(), freeMap(), normalizeField(), and readMap().
|
private |
On axis field third derivative interpolation structure.
Corresponding interpolation evaluation accelerators.
Definition at line 72 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), freeMap(), and prepareForMapCheck().
|
private |
On axis field data.
Definition at line 66 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), freeMap(), and prepareForMapCheck().
|
private |
Definition at line 73 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), freeMap(), and getFieldDerivative().
|
private |
On axis field interpolation structure.
Definition at line 67 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), freeMap(), and getFieldDerivative().
|
private |
Definition at line 74 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), and freeMap().
|
private |
On axis field first derivative interpolation structure.
Definition at line 68 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), and freeMap().
|
private |
Definition at line 75 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), and freeMap().
|
private |
On axis field second derivative interpolation structure.
Definition at line 69 of file FM1DDynamic_fast.h.
Referenced by computeFieldOnAxis(), computeInterpolationVectors(), and freeMap().
|
private |
2 Pi divided by the field RF wavelength squared.
Definition at line 56 of file FM1DDynamic_fast.h.
Referenced by convertHeaderData(), getFieldDimensions(), and readFileHeader().
|
private |
Minimum radius of field.
Definition at line 57 of file FM1DDynamic_fast.h.
Referenced by convertHeaderData(), getFieldDimensions(), and readFileHeader().
|
private |
Field angular frequency (Hz).
Definition at line 54 of file FM1DDynamic_fast.h.
Referenced by computeFieldOffAxis(), and convertHeaderData().
|
private |
Maximum radius of field.
Definition at line 58 of file FM1DDynamic_fast.h.
Referenced by convertHeaderData(), FM1DDynamic_fast(), getFieldDimensions(), getInfo(), isInside(), readFileData(), and readFileHeader().
|
private |
Longitudinal start of field.
Definition at line 59 of file FM1DDynamic_fast.h.
Referenced by convertHeaderData(), FM1DDynamic_fast(), getFieldDimensions(), getInfo(), isInside(), readFileData(), and readFileHeader().
1.8.5