|
WarpX
|
#include <AcceleratorLattice.H>
Public Member Functions | |
| AcceleratorLattice () | |
| void | ReadLattice (std::string const &root_name, amrex::ParticleReal &z_location) |
| Read in the MAD like lattice description. | |
| void | InitElementFinder (int lev, amrex::Real gamma_boost, const amrex::Vector< amrex::Real > &time, amrex::BoxArray const &ba, amrex::DistributionMapping const &dm) |
| Initialize the element finder instance at the given level of refinement. | |
| void | UpdateElementFinder (int lev, const amrex::Vector< amrex::Real > &time) |
| Update the element finder, needed when the simulation frame has moved relative to the lab frame. | |
| LatticeElementFinderDevice | GetFinderDeviceInstance (WarpXParIter const &a_pti, int a_offset, const amrex::Vector< amrex::Real > &dts) const |
| Return an instance of a lattice finder associated with the grid and that can be used on the device (such as a GPU). | |
Public Attributes | |
| int | m_level |
| bool | m_lattice_defined = false |
| std::unique_ptr< amrex::LayoutData< LatticeElementFinder > > | m_element_finder |
| Drift | h_drift |
| HardEdgedQuadrupole | h_quad |
| HardEdgedPlasmaLens | h_plasmalens |
| AcceleratorLattice::AcceleratorLattice | ( | ) |
|
nodiscard |
Return an instance of a lattice finder associated with the grid and that can be used on the device (such as a GPU).
| [in] | a_pti | the grid where the finder is needed |
| [in] | a_offset | the particle offset since the finded needs information about the particles as well |
| [in] | dts | vector containing the timestep sizes at all refinement levels |
| void AcceleratorLattice::InitElementFinder | ( | int | lev, |
| amrex::Real | gamma_boost, | ||
| const amrex::Vector< amrex::Real > & | time, | ||
| amrex::BoxArray const & | ba, | ||
| amrex::DistributionMapping const & | dm ) |
Initialize the element finder instance at the given level of refinement.
| [in] | lev | the level of refinement |
| [in] | gamma_boost | the Lorentz factor of the boosted frame |
| [in] | time | the current time at all refinement levels |
| [in] | ba | the box array at the level of refinement |
| [in] | dm | the distribution map at the level of refinement |
| void AcceleratorLattice::ReadLattice | ( | std::string const & | root_name, |
| amrex::ParticleReal & | z_location ) |
Read in the MAD like lattice description.
| [in] | root_name | base name for the input variables |
| [in] | z_location | starting z location for the lattice |
| void AcceleratorLattice::UpdateElementFinder | ( | int | lev, |
| const amrex::Vector< amrex::Real > & | time ) |
Update the element finder, needed when the simulation frame has moved relative to the lab frame.
| [in] | lev | the level of refinement |
| [in] | time | the current time at all refinement levels |
| Drift AcceleratorLattice::h_drift |
| HardEdgedPlasmaLens AcceleratorLattice::h_plasmalens |
| HardEdgedQuadrupole AcceleratorLattice::h_quad |
| std::unique_ptr<amrex::LayoutData<LatticeElementFinder> > AcceleratorLattice::m_element_finder |
| bool AcceleratorLattice::m_lattice_defined = false |
| int AcceleratorLattice::m_level |