OPAL (Object Oriented Parallel Accelerator Library)
2024.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(), RBend3D::getSurfaceMesh(), Bend2D::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 angle(), 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(), copy, elements_m, end, OpalData::getAuxiliaryOutputDirectory(), and OpalData::getInstance().
Referenced by OpalBeamline::save3DLattice().
|
private |
Definition at line 60 of file MeshGenerator.h.