|
OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
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 ElementBase::CONIC_ELLIPTICAL, ElementBase::CONIC_RECTANGULAR, MeshData::decorations_m, DIPOLE, ElementBase::DRIFT, elements_m, ElementBase::ELLIPTICAL, end(), ElementBase::getAperture(), getBox(), ElementBase::getCSTrafoGlobal2Local(), getCylinder(), ElementBase::getElementDimensions(), Bend2D::getSurfaceMesh(), RBend3D::getSurfaceMesh(), ElementBase::getType(), CoordinateSystemTrafo::inverted(), ElementBase::MULTIPOLE, OCTUPOLE, OTHER, QUADRUPOLE, ElementBase::RBEND, ElementBase::RBEND3D, ElementBase::RECTANGULAR, ElementBase::RFCAVITY, RFCAVITY, CoordinateSystemTrafo::rotateTo(), ElementBase::SBEND, SEXTUPOLE, ElementBase::SOLENOID, SOLENOID, CoordinateSystemTrafo::transformTo(), ElementBase::TRAVELINGWAVE, MeshData::type_m, ElementBase::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.