|
enum | AttributeNames : int {
ptr
, mass
, posX
, posY
,
posZ
, smth
, density
, velX
,
velY
, velZ
, soundSpeed
, pressure
,
vsigmax
, accX
, accY
, accZ
,
engDot
, ownershipState
} |
| Attribute names for the soa arrays.
|
|
using | SoAArraysType = autopas::utils::SoAType< SPHParticle *, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, autopas::OwnershipState >::Type |
| SoA arrays type, cf.
|
|
Public Types inherited from autopas::ParticleBase< floatType, idType > |
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.
|
|
|
| SPHParticle () |
| Default constructor of SPHParticle.
|
|
| SPHParticle (const std::array< double, 3 > &r, const std::array< double, 3 > &v, unsigned long id) |
| Constructor of the SPHParticle class.
|
|
| SPHParticle (const std::array< double, 3 > &r, const std::array< double, 3 > &v, unsigned long id, double mass, double smth, double snds) |
| Constructor of the SPHParticle class.
|
|
| ~SPHParticle () override=default |
| Destructor of the SPHParticle.
|
|
double | getDensity () const |
| Getter for the Density.
|
|
void | addDensity (double density) |
| Adds the given density to the current density.
|
|
void | setDensity (double density) |
| Setter for Density.
|
|
double | getPressure () const |
| Getter for Pressure.
|
|
void | calcPressure () |
| Calculates the pressure within the particle from the energy and density of the particle and updates the pressure and sound of speed.
|
|
void | setPressure (double pressure) |
| Setter for the pressure.
|
|
double | getMass () const |
| Getter for the mass of the particle.
|
|
void | setMass (double mass) |
| Setter for the mass of the particle.
|
|
double | getSmoothingLength () const |
| Getter for the smoothing length of the particle.
|
|
void | setSmoothingLength (double smth) |
| Setter for the smoothing length.
|
|
double | getSoundSpeed () const |
| Getter for the speed of sound of the particle.
|
|
void | setSoundSpeed (double snds) |
| Setter for the speed of sound of the particle.
|
|
double | getVSigMax () const |
| Getter for the current maximally allowed signal velocity of the particle.
|
|
void | checkAndSetVSigMax (double v_sig) |
| Checks if the given signal velocity is higher than the current (local) one and updates the local one if it is.
|
|
void | setVSigMax (double v_sig_max) |
| Setter for the maximally allowed signal velocity.
|
|
const std::array< double, 3 > & | getAcceleration () const |
| Getter for the acceleration of the particle.
|
|
void | addAcceleration (const std::array< double, 3 > &acc) |
| Adds the given acceleration on the local acceleration.
|
|
void | subAcceleration (const std::array< double, 3 > &acc) |
| Substracts the given acceleration from the local acceleration.
|
|
void | setAcceleration (const std::array< double, 3 > &acc) |
| Setter for the acceleration.
|
|
double | getEngDot () const |
| Getter for the time derivative of the energy of the particle.
|
|
void | addEngDot (double eng_dot) |
| Adds the given value to the current value of the time derivative of the energy.
|
|
void | setEngDot (double eng_dot) |
| Setter for the time derivative of the energy.
|
|
double | getEnergy () const |
| Getter for the energy of the particle.
|
|
void | setEnergy (double energy) |
| Setter for the energy of the particle.
|
|
void | addEnergy (double energy) |
| Adds the given energy to the energy of the particle.
|
|
double | getDt () const |
| Getter for the maximally allowed time step for this particle.
|
|
void | setDt (double dt) |
| Set the maximally allowed time step for this particle.
|
|
void | calcDt () |
| Calculate the maximally allowed time step for the particle based on the smoothing length and the signal velocity of the particle.
|
|
const std::array< double, 3 > & | getVel_half () const |
| Getter for velocity at half-time step (leapfrog)
|
|
void | setVel_half (const std::array< double, 3 > &vel_half) |
| Setter for velocity at half-time step (leapfrog)
|
|
double | getEng_half () const |
| Getter for energy at half-time step (leapfrog)
|
|
void | setEng_half (double eng_half) |
| Setter for energy at half-time step (leapfrog)
|
|
std::vector< double > | serialize () const |
| function to serialize an SPHParticle
|
|
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).
|
|
Public Member Functions inherited from autopas::ParticleBase< floatType, idType > |
| 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).
|
|