OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > Struct Template Reference

An object holding data for a contact which is described analog to Nassauer and Kuna (2013) More...

#include <particleContact.h>

+ Inheritance diagram for olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >:
+ Collaboration diagram for olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >:

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
 

Detailed Description

template<typename T, unsigned D, bool CONVEX>
struct olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >

An object holding data for a contact which is described analog to Nassauer and Kuna (2013)

Definition at line 61 of file particleContact.h.

Constructor & Destructor Documentation

◆ ParticleContactArbitraryFromOverlapVolume() [1/4]

template<typename T , unsigned D, bool CONVEX>
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume ( )

Constructor.

Definition at line 36 of file particleContact.hh.

37 : ParticleContactArbitraryFromOverlapVolume<T, D, CONVEX>(
38 std::array<std::size_t, 2>())
39{}

◆ ParticleContactArbitraryFromOverlapVolume() [2/4]

template<typename T , unsigned D, bool CONVEX>
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.

45 : ids(sortParticleIDs(particleIDs))
46{
48}
std::array< std::size_t, 2 > sortParticleIDs(const std::array< std::size_t, 2 > &ids)
constexpr void resetMinMax()
Reset min and max to default values.

References olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax().

+ Here is the call graph for this function:

◆ ParticleContactArbitraryFromOverlapVolume() [3/4]

template<typename T , unsigned D, bool CONVEX>
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume ( const ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & pc)

◆ ParticleContactArbitraryFromOverlapVolume() [4/4]

template<typename T , unsigned D, bool CONVEX>
olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::ParticleContactArbitraryFromOverlapVolume ( ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > && pc)

Move Constructor.

Definition at line 66 of file particleContact.hh.

69{
70 min = std::move(pc.min);
71 max = std::move(pc.max);
72 ids = std::move(pc.ids);
73 particlePositions = std::move(pc.particlePositions);
74 particlePositionUpdated = std::move(pc.particlePositionUpdated);
75 dampingFactor = std::move(pc.dampingFactor);
76 newContact = std::move(pc.newContact);
77 responsibleRank = std::move(pc.responsibleRank);
78}

Member Function Documentation

◆ combineWith()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::combineWith ( ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & pc)
constexpr

Combining two contacts, if the particle ids are the same.

Definition at line 211 of file particleContact.hh.

213{
215 ParticleContactArbitraryFromOverlapVolume<T, D, CONVEX>, true>(pc,
216 ids)) {
217 newContact[0] = newContact[0] && pc.isNew();
218
219 // Determine bounding box of combined overlap area
220 for (unsigned iD = 0; iD < D; ++iD) {
221 min[iD] = util::min(min[iD], pc.getMin()[iD]);
222 max[iD] = util::max(max[iD], pc.getMax()[iD]);
223 }
224 // The damping factors should be either the same or one is -1 and the other has the correct value which is > 0
225 dampingFactor[0] = util::max(dampingFactor[0], pc.getDampingFactor());
226 responsibleRank[0] = util::min(responsibleRank[0], pc.getResponsibleRank());
227 particlePositionUpdated[0] =
228 particlePositionUpdated[0] || pc.isParticlePositionUpdated();
229 if (!particlePositionUpdated[0] && pc.isParticlePositionUpdated()) {
230 particlePositions = pc.getParticlePositions();
231 }
232
233 // Ignore second contact by resetting it
234 pc.resetMinMax();
235 }
236}
bool particleContactConsistsOfIDs(PARTICLECONTACTTYPE &particleContact, const std::array< size_t, 2 > &ids)
cpu::simd::Pack< T > min(cpu::simd::Pack< T > rhs, cpu::simd::Pack< T > lhs)
Definition pack.h:124
cpu::simd::Pack< T > max(cpu::simd::Pack< T > rhs, cpu::simd::Pack< T > lhs)
Definition pack.h:130

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().

+ Here is the call graph for this function:

◆ deserialize()

template<typename T , unsigned D, bool CONVEX>
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.

369{
370 return processWithCommunicatables(
371 [&](auto& communicatablePositions, auto& communicatableMin,
372 auto& communicatableMax, auto& communicatableIDs,
373 auto& communicatableDamping,
374 auto& communicatableParticlePositionUpdated,
375 auto& communicatableIsNew, auto& communicatableRank) {
376 std::size_t serialIdx =
377 communicatablePositions.deserialize(this->indicesPart, buffer);
378 serialIdx +=
379 communicatableMin.deserialize(this->indicesDim, &buffer[serialIdx]);
380 serialIdx +=
381 communicatableMax.deserialize(this->indicesDim, &buffer[serialIdx]);
382 serialIdx += communicatableIDs.deserialize(this->indicesPart,
383 &buffer[serialIdx]);
384 serialIdx += communicatableDamping.deserialize(this->indicesSingle,
385 &buffer[serialIdx]);
386 serialIdx += communicatableParticlePositionUpdated.deserialize(
387 this->indicesSingle, &buffer[serialIdx]);
388 serialIdx += communicatableIsNew.deserialize(this->indicesSingle,
389 &buffer[serialIdx]);
390 serialIdx += communicatableRank.deserialize(this->indicesSingle,
391 &buffer[serialIdx]);
392
393 return serialIdx;
394 });
395}
static const std::vector< unsigned int > indicesDim
static const std::vector< unsigned int > indicesSingle
static const std::vector< unsigned int > indicesPart

◆ getDampingFactor()

template<typename T , unsigned D, bool CONVEX>
constexpr const T olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor ( ) const
constexpr

Read access to damping factor.

Definition at line 156 of file particleContact.hh.

158{
159 return dampingFactor[0];
160}
+ Here is the caller graph for this function:

◆ getIDs()

template<typename T , unsigned D, bool CONVEX>
constexpr const std::array< std::size_t, 2 > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getIDs ( ) const
constexpr

Read access to particle IDs.

Definition at line 82 of file particleContact.hh.

83{
84 return this->ids;
85}
+ Here is the caller graph for this function:

◆ getMax()

template<typename T , unsigned D, bool CONVEX>
constexpr const PhysR< T, D > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax ( ) const
constexpr

Read access to max.

Definition at line 149 of file particleContact.hh.

150{
151 return this->max;
152}
+ Here is the caller graph for this function:

◆ getMin()

template<typename T , unsigned D, bool CONVEX>
constexpr const PhysR< T, D > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin ( ) const
constexpr

Read access to min.

Definition at line 142 of file particleContact.hh.

143{
144 return this->min;
145}
+ Here is the caller graph for this function:

◆ getParticlePosition()

template<typename T , unsigned D, bool CONVEX>
constexpr const PhysR< T, D > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticlePosition ( const std::size_t & id) const
constexpr

Return particle position.

Definition at line 106 of file particleContact.hh.

108{
109 if (id == ids[0]) {
110 return particlePositions[0];
111 }
112 return particlePositions[1];
113}

◆ getParticlePositions()

template<typename T , unsigned D, bool CONVEX>
constexpr const std::array< PhysR< T, D >, 2 > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticlePositions ( ) const
constexpr

Read access to particle positions.

Definition at line 89 of file particleContact.hh.

91{
92 return particlePositions;
93}
+ Here is the caller graph for this function:

◆ getResponsibleRank()

template<typename T , unsigned D, bool CONVEX>
constexpr const int & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank ( ) const
constexpr

Read access to the responsible rank.

Definition at line 134 of file particleContact.hh.

136{
137 return responsibleRank[0];
138}
+ Here is the caller graph for this function:

◆ getSerialSize()

template<typename T , unsigned D, bool CONVEX>
static constexpr std::size_t olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getSerialSize ( )
inlinestaticconstexpr

Get serial size.

Definition at line 165 of file particleContact.h.

165{ return serialSize; };

◆ increaseMinMax()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::increaseMinMax ( const Vector< T, D > & increaseBy)
constexpr

Increase bounding box size.

Definition at line 202 of file particleContact.hh.

204{
205 this->max += increaseBy;
206 this->min -= increaseBy;
207}

◆ isEmpty()

template<typename T , unsigned D, bool CONVEX>
constexpr bool olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isEmpty ( ) const
constexpr

Returns if contact holds data.

Definition at line 240 of file particleContact.hh.

241{
242 for (unsigned iD = 0; iD < D; ++iD) {
243 if (min[iD] > max[iD]) {
244 return true;
245 }
246 }
247 return false;
248}
+ Here is the caller graph for this function:

◆ isNew() [1/2]

template<typename T , unsigned D, bool CONVEX>
constexpr bool olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew ( ) const
constexpr

Returns if the contact is a new contact.

Definition at line 252 of file particleContact.hh.

253{
254 return newContact[0];
255}
+ Here is the caller graph for this function:

◆ isNew() [2/2]

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew ( const bool newContact)
constexpr

Sets 'isNew'.

Definition at line 258 of file particleContact.hh.

260{
261 this->newContact[0] = newContact;
262}

◆ isParticlePositionUpdated()

template<typename T , unsigned D, bool CONVEX>
constexpr bool olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated ( ) const
constexpr

Returns if the particle position is up-to-date.

Definition at line 266 of file particleContact.hh.

267{
268 return particlePositionUpdated[0];
269}
+ Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename T , unsigned D, bool CONVEX>
ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::operator= ( const ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX > & pc)

◆ operator=() [2/2]

template<typename T , unsigned D, bool CONVEX>
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.

299{
300 min = std::move(pc.min);
301 max = std::move(pc.max);
302 ids = std::move(pc.ids);
303 particlePositions = std::move(pc.particlePositions);
304 particlePositionUpdated = std::move(pc.particlePositionUpdated);
305 dampingFactor = std::move(pc.dampingFactor);
306 newContact = std::move(pc.newContact);
307 responsibleRank = std::move(pc.responsibleRank);
308
309 return *this;
310}

◆ print()

template<typename T , unsigned D, bool CONVEX>
void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::print ( )

Print relevant quantities.

Definition at line 398 of file particleContact.hh.

399{
400 OstreamManager clout(std::cout, "ParticleContact");
401 clout.setMultiOutput(true);
402 int rank = singleton::mpi().getRank();
403 if (rank == responsibleRank[0]) {
404 clout << "Min=" << this->min << ", Max=" << this->max << std::endl;
405 clout << "IDs=" << this->ids << ", DampingFactor=" << dampingFactor[0]
406 << std::endl;
407 clout << "Positions=" << particlePositions << std::endl;
408 }
409 clout.setMultiOutput(false);
410}
int getRank() const
Returns the process ID.
MpiManager & mpi()

References olb::singleton::MpiManager::getRank(), olb::singleton::mpi(), and olb::OstreamManager::setMultiOutput().

+ Here is the call graph for this function:

◆ resetMinMax()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax ( )
constexpr

Reset min and max to default values.

Definition at line 182 of file particleContact.hh.

183{
184 for (unsigned iD = 0; iD < D; ++iD) {
185 min[iD] = std::numeric_limits<olb::BaseType<T>>::max();
186 max[iD] = -std::numeric_limits<olb::BaseType<T>>::max();
187 }
188 particlePositionUpdated[0] = false;
189}
+ Here is the caller graph for this function:

◆ serialize()

template<typename T , unsigned D, bool CONVEX>
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.

337{
338 return processWithCommunicatables(
339 [&](auto& communicatablePositions, auto& communicatableMin,
340 auto& communicatableMax, auto& communicatableIDs,
341 auto& communicatableDamping,
342 auto& communicatableParticlePositionUpdated,
343 auto& communicatableIsNew, auto& communicatableRank) {
344 std::size_t serialIdx =
345 communicatablePositions.serialize(this->indicesPart, buffer);
346 serialIdx +=
347 communicatableMin.serialize(this->indicesDim, &buffer[serialIdx]);
348 serialIdx +=
349 communicatableMax.serialize(this->indicesDim, &buffer[serialIdx]);
350 serialIdx +=
351 communicatableIDs.serialize(this->indicesPart, &buffer[serialIdx]);
352 serialIdx += communicatableDamping.serialize(this->indicesSingle,
353 &buffer[serialIdx]);
354 serialIdx += communicatableParticlePositionUpdated.serialize(
355 this->indicesSingle, &buffer[serialIdx]);
356 serialIdx += communicatableIsNew.serialize(this->indicesSingle,
357 &buffer[serialIdx]);
358 serialIdx += communicatableRank.serialize(this->indicesSingle,
359 &buffer[serialIdx]);
360
361 return serialIdx;
362 });
363}

◆ setDampingFactor()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::setDampingFactor ( const T dampingFactor)
constexpr

Set damping factor for contact.

Definition at line 164 of file particleContact.hh.

166{
167 dampingFactor[0] = newDampingFactor;
168}

◆ setDampingFactorFromInitialVelocity()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::setDampingFactorFromInitialVelocity ( const T coefficientOfRestitution,
const T initialRelativeVelocityMagnitude )
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.

175{
177 coefficientOfRestitution, initialRelativeVelocityMagnitude));
178}
constexpr T evalDampingFactor(const T coefficientOfRestitution, const T initialRelativeVelocityMagnitude)
Calculates the damping factor according to Carvalho & Martins (2019) (10.1016/j.mechmachtheory....
constexpr void setDampingFactor(const T dampingFactor)
Set damping factor for contact.

References olb::particles::contact::evalDampingFactor().

+ Here is the call graph for this function:

◆ setParticlePosition()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::setParticlePosition ( const PhysR< T, D > & position,
const std::size_t & id )
constexpr

Set position of specific particle.

Definition at line 117 of file particleContact.hh.

119{
120 particlePositions[id] = position;
121 particlePositionUpdated[0] = true;
122}

◆ setParticlePositions()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::setParticlePositions ( const std::array< PhysR< T, D >, 2 > & positions)
constexpr

Set particle positions.

Definition at line 97 of file particleContact.hh.

99{
100 particlePositions = positions;
101 particlePositionUpdated[0] = true;
102}

◆ setParticlePositionUpdated()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::setParticlePositionUpdated ( bool updated)
constexpr

Definition at line 273 of file particleContact.hh.

274{
275 particlePositionUpdated[0] = updated;
276}

◆ setResponsibleRank()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::setResponsibleRank ( const int & rank)
constexpr

Set processor that is responsible for contact treatment.

Definition at line 126 of file particleContact.hh.

128{
129 responsibleRank[0] = rank;
130}
+ Here is the caller graph for this function:

◆ updateMinMax()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::updateMinMax ( const PhysR< T, D > & positionInsideTheContact)
constexpr

Update min and max with given position inside the contact.

Definition at line 193 of file particleContact.hh.

195{
196 particles::contact::updateMinMax(this->min, this->max,
197 positionInsideTheContact);
198}
void updateMinMax(PhysR< T, D > &min, PhysR< T, D > &max, const PhysR< T, D > &pos)

References olb::particles::contact::updateMinMax().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this struct was generated from the following files: