OpenLB 1.7
|
An object holding data for a contact which is described analog to Nassauer and Kuna (2013) More...
#include <particleContact.h>
Public Member Functions | |
ParticleContactArbitraryFromOverlapVolume () | |
Constructor. | |
ParticleContactArbitraryFromOverlapVolume (const std::array< std::size_t, 2 > &particleIDs) | |
Constructor. | |
ParticleContactArbitraryFromOverlapVolume (const ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > &pc) | |
Copy Constructor. | |
ParticleContactArbitraryFromOverlapVolume (ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > &&pc) | |
Move Constructor. | |
constexpr const std::array< PhysR< T, D >, 2 > & | getParticlePositions () const |
Read access to particle positions. | |
constexpr const PhysR< T, D > & | getParticlePosition (const std::size_t &id) const |
Return particle position. | |
constexpr const PhysR< T, D > & | getMin () const |
Read access to min. | |
constexpr const PhysR< T, D > & | getMax () const |
Read access to max. | |
constexpr const std::array< std::size_t, 2 > & | getIDs () const |
Read access to particle IDs. | |
constexpr const T | getDampingFactor () const |
Read access to damping factor. | |
constexpr const int & | getResponsibleRank () const |
Read access to the responsible rank. | |
constexpr void | setParticlePositions (const std::array< PhysR< T, D >, 2 > &positions) |
Set particle positions. | |
constexpr void | setParticlePosition (const PhysR< T, D > &position, const std::size_t &id) |
Set position of specific particle. | |
constexpr void | setDampingFactor (const T dampingFactor) |
Set damping factor for contact. | |
constexpr void | setDampingFactorFromInitialVelocity (const T coefficientOfRestitution, const T initialRelativeVelocityMagnitude) |
Set damping factor from the magnitude of the initial relative impact velocity in direction of contact normal and the wanted coefficient of restitution. | |
constexpr void | setResponsibleRank (const int &rank) |
Set processor that is responsible for contact treatment. | |
constexpr void | resetMinMax () |
Reset min and max to default values. | |
constexpr void | updateMinMax (const PhysR< T, D > &positionInsideTheContact) |
Update min and max with given position inside the contact. | |
constexpr void | increaseMinMax (const Vector< T, D > &increaseBy) |
Increase bounding box size. | |
constexpr void | combineWith (ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > &pc) |
Combining two contacts, if the particle ids are the same. | |
constexpr bool | isEmpty () const |
Returns if contact holds data. | |
constexpr bool | isNew () const |
Returns if the contact is a new contact. | |
constexpr void | isNew (const bool newContact) |
Sets 'isNew'. | |
constexpr bool | isParticlePositionUpdated () const |
Returns if the particle position is up-to-date. | |
constexpr void | setParticlePositionUpdated (bool updated) |
ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & | operator= (const ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > &pc) |
Copy assignment. | |
ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & | operator= (ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > &&pc) |
Move assignment. | |
std::size_t | serialize (std::uint8_t *buffer) |
Serialize contact data. | |
std::size_t | deserialize (std::uint8_t *buffer) |
Deserialize contact data and save in object. | |
void | print () |
Print relevant quantities. | |
Public Member Functions inherited from olb::particles::contact::ParticleContact< D > | |
const std::vector< unsigned int > | indicesDim ({0, 1}) |
const std::vector< unsigned int > | indicesDim ({0, 1, 2}) |
Static Public Member Functions | |
static constexpr std::size_t | getSerialSize () |
Get serial size. | |
Additional Inherited Members | |
Static Public Attributes inherited from olb::particles::contact::ParticleContact< D > | |
static const std::vector< unsigned int > | indicesDim |
static const std::vector< unsigned int > | indicesPart |
static const std::vector< unsigned int > | indicesSingle |
An object holding data for a contact which is described analog to Nassauer and Kuna (2013)
Definition at line 61 of file particleContact.h.
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume | ( | ) |
Constructor.
Definition at line 36 of file particleContact.hh.
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume | ( | const std::array< std::size_t, 2 > & | particleIDs | ) |
Constructor.
Definition at line 42 of file particleContact.hh.
References olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax().
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume | ( | const ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & | pc | ) |
Copy Constructor.
Definition at line 51 of file particleContact.hh.
References olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getIDs(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticlePositions(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew(), and olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated().
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume | ( | ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > && | pc | ) |
Move Constructor.
Definition at line 66 of file particleContact.hh.
|
constexpr |
Combining two contacts, if the particle ids are the same.
Definition at line 211 of file particleContact.hh.
References olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticlePositions(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated(), olb::util::max(), olb::util::min(), olb::particles::contact::particleContactConsistsOfIDs(), and olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax().
std::size_t olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::deserialize | ( | std::uint8_t * | buffer | ) |
Deserialize contact data and save in object.
Definition at line 367 of file particleContact.hh.
|
constexpr |
Read access to damping factor.
Definition at line 156 of file particleContact.hh.
|
constexpr |
Read access to particle IDs.
Definition at line 82 of file particleContact.hh.
|
constexpr |
Read access to max.
Definition at line 149 of file particleContact.hh.
|
constexpr |
Read access to min.
Definition at line 142 of file particleContact.hh.
|
constexpr |
Return particle position.
Definition at line 106 of file particleContact.hh.
|
constexpr |
Read access to particle positions.
Definition at line 89 of file particleContact.hh.
|
constexpr |
Read access to the responsible rank.
Definition at line 134 of file particleContact.hh.
|
inlinestaticconstexpr |
|
constexpr |
Increase bounding box size.
Definition at line 202 of file particleContact.hh.
|
constexpr |
Returns if contact holds data.
Definition at line 240 of file particleContact.hh.
|
constexpr |
Returns if the contact is a new contact.
Definition at line 252 of file particleContact.hh.
|
constexpr |
Sets 'isNew'.
Definition at line 258 of file particleContact.hh.
|
constexpr |
Returns if the particle position is up-to-date.
Definition at line 266 of file particleContact.hh.
ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::operator= | ( | const ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & | pc | ) |
Copy assignment.
Definition at line 280 of file particleContact.hh.
References olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getIDs(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticlePositions(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew(), and olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated().
ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::operator= | ( | ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > && | pc | ) |
Move assignment.
Definition at line 297 of file particleContact.hh.
void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::print | ( | ) |
Print relevant quantities.
Definition at line 398 of file particleContact.hh.
References olb::singleton::MpiManager::getRank(), olb::singleton::mpi(), and olb::OstreamManager::setMultiOutput().
|
constexpr |
Reset min and max to default values.
Definition at line 182 of file particleContact.hh.
std::size_t olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::serialize | ( | std::uint8_t * | buffer | ) |
Serialize contact data.
Definition at line 335 of file particleContact.hh.
|
constexpr |
Set damping factor for contact.
Definition at line 164 of file particleContact.hh.
|
constexpr |
Set damping factor from the magnitude of the initial relative impact velocity in direction of contact normal and the wanted coefficient of restitution.
Definition at line 171 of file particleContact.hh.
References olb::particles::contact::evalDampingFactor().
|
constexpr |
Set position of specific particle.
Definition at line 117 of file particleContact.hh.
|
constexpr |
Set particle positions.
Definition at line 97 of file particleContact.hh.
|
constexpr |
Definition at line 273 of file particleContact.hh.
|
constexpr |
Set processor that is responsible for contact treatment.
Definition at line 126 of file particleContact.hh.
|
constexpr |
Update min and max with given position inside the contact.
Definition at line 193 of file particleContact.hh.
References olb::particles::contact::updateMinMax().