|
| enum | AttributeNames : int {
ptr
, id
, posX
, posY
,
posZ
, forceX
, forceY
, forceZ
,
ownershipState
} |
| | Enums used as ids for accessing and creating a dynamically sized SoA.
|
| |
|
using | ParticleSoAFloatPrecision = floatType |
| | Floating Point Type used for this particle.
|
| |
|
using | ParticleIdType = idType |
| | Id Type used for this particle.
|
| |
| using | SoAArraysType = typename autopas::utils::SoAType< ParticleBase< floatType, idType > *, idType, floatType, floatType, floatType, floatType, floatType, floatType, OwnershipState >::Type |
| | The type for the soa storage.
|
| |
|
| | ParticleBase (const std::array< double, 3 > &r, const std::array< double, 3 > &v, idType id, OwnershipState ownershipState=OwnershipState::owned) |
| | Constructor of the Particle class.
|
| |
|
virtual | ~ParticleBase ()=default |
| | Destructor of ParticleBase class.
|
| |
| bool | operator== (const ParticleBase &rhs) const |
| | Equality operator for ParticleBase class.
|
| |
| bool | operator!= (const ParticleBase &rhs) const |
| | Not-Equals operator for ParticleBase class.
|
| |
| const std::array< double, 3 > & | getF () const |
| | get the force acting on the particle
|
| |
| void | setF (const std::array< double, 3 > &f) |
| | Set the force acting on the particle.
|
| |
| void | addF (const std::array< double, 3 > &f) |
| | Add a partial force to the force acting on the particle.
|
| |
| void | subF (const std::array< double, 3 > &f) |
| | Substract a partial force from the force acting on the particle.
|
| |
| idType | getID () const |
| | Get the id of the particle.
|
| |
| void | setID (idType id) |
| | Set the id of the particle.
|
| |
| const std::array< double, 3 > & | getR () const |
| | Get the position of the particle.
|
| |
| void | setR (const std::array< double, 3 > &r) |
| | Set the position of the particle.
|
| |
| bool | setRDistanceCheck (const std::array< double, 3 > &r, double maxDistSquared) |
| | Add a distance vector to the position of the particle and check if the distance between the old and new position is less than a given max distance.
|
| |
| void | addR (const std::array< double, 3 > &r) |
| | Add a distance vector to the position of the particle.
|
| |
| bool | addRDistanceCheck (const std::array< double, 3 > &r, double maxDistSquared) |
| | Add a distance vector to the position of the particle and check if the distance between the old and new position is less than a given max distance.
|
| |
| const std::array< double, 3 > & | getV () const |
| | Get the velocity of the particle.
|
| |
| void | setV (const std::array< double, 3 > &v) |
| | Set the velocity of the particle.
|
| |
| void | addV (const std::array< double, 3 > &v) |
| | Add a vector to the current velocity of the particle.
|
| |
| virtual std::string | toString () const |
| | Creates a string containing all data of the particle.
|
| |
| bool | isOwned () const |
| | Defines whether the particle is owned by the current AutoPas object (aka (MPI-)process)
|
| |
| bool | isHalo () const |
| | Defines whether the particle is a halo particle, i.e., not owned by the current AutoPas object (aka (MPI-)process)
|
| |
| bool | isDummy () const |
| | Returns whether the particle is a dummy particle.
|
| |
| OwnershipState | getOwnershipState () const |
| | Returns the particle's ownership state.
|
| |
| void | setOwnershipState (OwnershipState ownershipState) |
| | Set the OwnershipState to the given value.
|
| |
| template<AttributeNames attribute, std::enable_if_t< attribute==AttributeNames::ptr, bool > = true> |
| constexpr std::tuple_element< attribute, SoAArraysType >::type::value_type | get () |
| | Non-const getter for the pointer of this object.
|
| |
| template<AttributeNames attribute, std::enable_if_t< attribute !=AttributeNames::ptr, bool > = true> |
| constexpr std::tuple_element< attribute, SoAArraysType >::type::value_type | get () const |
| | Getter, which allows access to an attribute using the corresponding attribute name (defined in AttributeNames).
|
| |
| template<AttributeNames attribute> |
| constexpr void | set (typename std::tuple_element< attribute, SoAArraysType >::type::value_type value) |
| | Setter, which allows set an attribute using the corresponding attribute name (defined in AttributeNames).
|
| |
template<typename floatType, typename idType>
class autopas::ParticleBase< floatType, idType >
Minimal definition of a basic particle.
If a different Particle class should be used with AutoPas this class must be used as a base to build your own Particle class.
- Template Parameters
-
| floatType | Floating point type to be used for the SoAs. |
| idType | Integer type to be used for IDs. |