|
chombo-discharge
|
A tracer particle class. This is templated for holding extra storage (useful for kernels). More...
#include <CD_TracerParticle.H>


Public Member Functions | |
| TracerParticle () | |
| Default constructor – initializes everything to zero. | |
| TracerParticle (const TracerParticle< M, N > &a_other) | |
| Copy constructor. Copies all fields. | |
| virtual | ~TracerParticle () |
| Destructor (deallocates runtime memory storage) | |
| Real & | weight () |
| Get the particle "weight". | |
| const Real & | weight () const |
| Get the particle "weight". | |
| RealVect & | velocity () |
| Get the particle velocity. | |
| const RealVect & | velocity () const |
| Get the particle velocity. | |
| virtual int | size () const override |
| Returns the size, in number of bytes, of a flat representation of the data in this object. | |
| virtual void | linearOut (void *const a_buffer) const override |
| Write a linear binary representation of the internal data. Assumes that sufficient memory for the buffer has already been allocated by the caller. | |
| virtual void | linearIn (const void *const a_buffer) override |
| Read a linear binary representation of the internal data. Assumes that the buffer has the correct data. | |
| virtual int | H5size () const |
| Function that is used when writing particles to HDF5. | |
| virtual void | H5linearOut (void *const a_buffer) const |
| Linearize the Real components onto a buffer workable by HDF5. | |
| virtual void | H5linearIn (const void *const a_buffer) |
| Delinearize the buffer onto the real components in the particle class. | |
| template<size_t K> | |
| Real & | real () |
| Get one of the scalars. | |
| template<size_t K> | |
| const Real & | real () const |
| Get one of the scalars. | |
| template<size_t K> | |
| RealVect & | vect () |
| Get one of the RealVects. | |
| template<size_t K> | |
| const RealVect & | vect () const |
| Get one of the RealVects. | |
Public Member Functions inherited from GenericParticle< M, N > | |
| GenericParticle () | |
| Default constructor – initializes everything to zero. | |
| GenericParticle (const GenericParticle< M, N > &a_other) | |
| Copy constructor. Copies all fields. | |
| virtual | ~GenericParticle () |
| Destructor (deallocates runtime memory storage) | |
| const int32_t & | particleID () const noexcept |
| Get the particle ID. | |
| int32_t & | particleID () noexcept |
| Get the particle ID. | |
| const int32_t & | rankID () const noexcept |
| Get the MPI rank ID. | |
| int32_t & | rankID () noexcept |
| Get the MPI rank ID. | |
| RealVect & | position () |
| Get the particle position. | |
| const RealVect & | position () const |
| Get the particle position. | |
| const std::array< Real, M > & | getReals () const noexcept |
| Get the M scalars. | |
| std::array< Real, M > & | getReals () noexcept |
| Get the M scalars. | |
| const std::array< RealVect, N > & | getVects () const noexcept |
| Get the N vectors. | |
| std::array< RealVect, N > & | getVects () noexcept |
| Get the N vectors. | |
| template<size_t K> | |
| Real & | real () |
| Get one of the scalars. | |
| template<size_t K> | |
| const Real & | real () const |
| Get one of the scalars. | |
| template<size_t K> | |
| RealVect & | vect () |
| Get one of the RealVects. | |
| template<size_t K> | |
| const RealVect & | vect () const |
| Get one of the RealVects. | |
| bool | operator== (const GenericParticle< M, N > &a_other) const |
| Comparison operator with other particle. | |
| bool | operator!= (const GenericParticle< M, N > &a_other) const |
| Comparison operator with other particle. | |
| bool | operator< (const GenericParticle< M, N > &a_other) const noexcept |
| Particle comparison operator. Returns lexicographical ordering. | |
Protected Attributes | |
| Real | m_weight |
| Particle "weight". | |
| RealVect | m_velocity |
| Particle velocity. | |
Protected Attributes inherited from GenericParticle< M, N > | |
| int32_t | m_particleID |
| Particle ID. | |
| int32_t | m_rankID |
| MPI rank owning this particle. | |
| RealVect | m_position |
| Particle position. | |
| std::array< Real, M > | m_scalars |
| Scalar storage array. | |
| std::array< RealVect, N > | m_vectors |
| vector storage array | |
A tracer particle class. This is templated for holding extra storage (useful for kernels).
The template parameters M and N determine extra storage allocated to the particle. M determines the number of allocated scalars (Reals) and N determines the number of allocated vectors (RealVects). These quantities are communicated when remapping particles.
|
inline |
Copy constructor. Copies all fields.
| [in] | a_other | Other particle. |
Delinearize the buffer onto the real components in the particle class.
Ignores the particleID and rankID, so we can directly plug into Chombo's HDF5 API.
| [in] | a_buffer | Pointer to memory block |
Reimplemented from GenericParticle< M, N >.
Linearize the Real components onto a buffer workable by HDF5.
Ignores the particleID and rankID, so we can directly plug into Chombo's HDF5 API.
| [in] | a_buffer | Pointer to memory block |
Reimplemented from GenericParticle< M, N >.
Function that is used when writing particles to HDF5.
This ignores the particleID and rankID, so we can directory plug into Chombo's HDF5 APIs.
Reimplemented from GenericParticle< M, N >.
Read a linear binary representation of the internal data. Assumes that the buffer has the correct data.
| [in] | a_buffer | Pointer to memory block |
Reimplemented from GenericParticle< M, N >.
Write a linear binary representation of the internal data. Assumes that sufficient memory for the buffer has already been allocated by the caller.
| [in] | a_buffer | Pointer to memory block |
Reimplemented from GenericParticle< M, N >.
Get one of the scalars.
Template parameter is the position in the m_scalars array. This is templated so that compilers may throw compile-time errors if trying to fetch elements out of range.
Get one of the scalars.
Template parameter is the position in the m_scalars array. This is templated so that compilers may throw compile-time errors if trying to fetch elements out of range.
Returns the size, in number of bytes, of a flat representation of the data in this object.
Reimplemented from GenericParticle< M, N >.
Get one of the RealVects.
Template parameter is the position in the m_vectors array. This is templated so that compilers may throw compile-time errors if trying to fetch elements out of range.
Get one of the RealVects.
Template parameter is the position in the m_vectors array. This is templated so that compilers may throw compile-time errors if trying to fetch elements out of range.
Get the particle velocity.
Get the particle velocity.
Get the particle "weight".
Get the particle "weight".