OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <MeshGenerator.h>
Public Member Functions | |
MeshGenerator () | |
void | add (const ElementBase &element) |
void | write (const std::string &fname) |
Private Types | |
enum | MeshType { OTHER = 0 , DIPOLE , QUADRUPOLE , SEXTUPOLE , OCTUPOLE , SOLENOID , RFCAVITY } |
Static Private Member Functions | |
static MeshData | getCylinder (double length, double minor, double major, double formFactor, const unsigned int numSegments=36) |
static MeshData | getBox (double length, double width, double height, double formFactor) |
Private Attributes | |
std::vector< MeshData > | elements_m |
Definition at line 31 of file MeshGenerator.h.
|
private |
Enumerator | |
---|---|
OTHER | |
DIPOLE | |
QUADRUPOLE | |
SEXTUPOLE | |
OCTUPOLE | |
SOLENOID | |
RFCAVITY |
Definition at line 39 of file MeshGenerator.h.
MeshGenerator::MeshGenerator | ( | ) |
Definition at line 14 of file MeshGenerator.cpp.
void MeshGenerator::add | ( | const ElementBase & | element | ) |
Definition at line 18 of file MeshGenerator.cpp.
References CONIC_ELLIPTICAL, CONIC_RECTANGULAR, MeshData::decorations_m, DIPOLE, DRIFT, elements_m, ELLIPTICAL, end(), ElementBase::getAperture(), getBox(), ElementBase::getCSTrafoGlobal2Local(), getCylinder(), ElementBase::getElementDimensions(), Bend2D::getSurfaceMesh(), RBend3D::getSurfaceMesh(), ElementBase::getType(), CoordinateSystemTrafo::inverted(), MULTIPOLE, OCTUPOLE, OTHER, QUADRUPOLE, RBEND, RBEND3D, RECTANGULAR, RFCAVITY, RFCAVITY, CoordinateSystemTrafo::rotateTo(), SBEND, SEXTUPOLE, SOLENOID, SOLENOID, CoordinateSystemTrafo::transformTo(), TRAVELINGWAVE, MeshData::type_m, VARIABLERFCAVITY, and MeshData::vertices_m.
Referenced by OpalBeamline::save3DLattice().
|
staticprivate |
Definition at line 926 of file MeshGenerator.cpp.
References MeshData::decorations_m, MeshData::triangles_m, and MeshData::vertices_m.
Referenced by add().
|
staticprivate |
Definition at line 886 of file MeshGenerator.cpp.
References cos(), MeshData::decorations_m, sin(), MeshData::triangles_m, Physics::two_pi, and MeshData::vertices_m.
Referenced by add().
void MeshGenerator::write | ( | const std::string & | fname | ) |
Definition at line 103 of file MeshGenerator.cpp.
References Util::base64_encode(), Util::combineFilePath(), elements_m, end(), OpalData::getAuxiliaryOutputDirectory(), and OpalData::getInstance().
Referenced by OpalBeamline::save3DLattice().
|
private |
Definition at line 60 of file MeshGenerator.h.