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

#include <wallContact.h>

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

Public Member Functions

 WallContactArbitraryFromOverlapVolume ()
 Constructor.
 
 WallContactArbitraryFromOverlapVolume (std::size_t particleID, unsigned wallID)
 Constructor.
 
 WallContactArbitraryFromOverlapVolume (const WallContactArbitraryFromOverlapVolume< T, D, CONVEX > &contact)
 Copy Constructor.
 
 WallContactArbitraryFromOverlapVolume (WallContactArbitraryFromOverlapVolume< T, D, CONVEX > &&contact)
 Move Constructor.
 
constexpr const PhysR< T, D > & getParticlePosition () 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::size_t & getParticleID () const
 Read access to particle ID.
 
constexpr unsigned getWallID () const
 Read access to wall matreial.
 
constexpr T getDampingFactor () const
 Read access to damping factor.
 
constexpr const int & getResponsibleRank () const
 Read access to the responsible rank.
 
constexpr void setParticlePosition (const PhysR< T, D > &particlePosition)
 Set particle position.
 
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 (WallContactArbitraryFromOverlapVolume< T, D, CONVEX > &contact)
 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)
 
WallContactArbitraryFromOverlapVolume< T, D, CONVEX > & operator= (const WallContactArbitraryFromOverlapVolume< T, D, CONVEX > &contact)
 Copy assignment.
 
WallContactArbitraryFromOverlapVolume< T, D, CONVEX > & operator= (WallContactArbitraryFromOverlapVolume< T, D, CONVEX > &&contact)
 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::WallContact< 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::WallContact< D >
static const std::vector< unsigned int > indicesDim
 
static const std::vector< unsigned int > indicesSingle
 

Detailed Description

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

Definition at line 57 of file wallContact.h.

Constructor & Destructor Documentation

◆ WallContactArbitraryFromOverlapVolume() [1/4]

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

Constructor.

Definition at line 35 of file wallContact.hh.

36 : WallContactArbitraryFromOverlapVolume<T, D, CONVEX>(std::size_t(),
37 unsigned())
38{}

◆ WallContactArbitraryFromOverlapVolume() [2/4]

template<typename T , unsigned D, bool CONVEX>
olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::WallContactArbitraryFromOverlapVolume ( std::size_t particleID,
unsigned wallID )

Constructor.

Definition at line 42 of file wallContact.hh.

44 : particleID(std::array<std::size_t, 1>({particleID}))
45 , wallID(std::array<unsigned, 1>({wallID}))
46
47{
49}
constexpr void resetMinMax()
Reset min and max to default values.

◆ WallContactArbitraryFromOverlapVolume() [3/4]

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

Copy Constructor.

Definition at line 52 of file wallContact.hh.

55{
56 min = contact.min;
57 max = contact.max;
58 particleID[0] = contact.particleID[0];
59 wallID[0] = contact.wallID[0];
60 particlePosition = contact.particlePosition;
61 particlePositionUpdated[0] = contact.isParticlePositionUpdated();
62 dampingFactor[0] = contact.getDampingFactor();
63 newContact[0] = contact.isNew();
64 responsibleRank[0] = contact.getResponsibleRank();
65}

References olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew(), and olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated().

+ Here is the call graph for this function:

◆ WallContactArbitraryFromOverlapVolume() [4/4]

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

Move Constructor.

Definition at line 68 of file wallContact.hh.

71{
72 min = std::move(contact.min);
73 max = std::move(contact.max);
74 particleID = std::move(contact.particleID);
75 wallID = std::move(contact.wallID);
76 particlePosition = std::move(contact.particlePosition);
77 particlePositionUpdated = std::move(contact.particlePositionUpdated);
78 dampingFactor = std::move(contact.dampingFactor);
79 newContact = std::move(contact.newContact);
80 responsibleRank = std::move(contact.responsibleRank);
81}

Member Function Documentation

◆ combineWith()

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

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

Definition at line 197 of file wallContact.hh.

199{
200 if (particleID[0] == contact.particleID[0] &&
201 wallID[0] == contact.wallID[0]) {
202 newContact[0] = newContact[0] && contact.isNew();
203
204 // Determine bounding box of combined overlap area
205 for (unsigned iD = 0; iD < D; ++iD) {
206 min[iD] = util::min(min[iD], contact.min[iD]);
207 max[iD] = util::max(max[iD], contact.max[iD]);
208 }
209 // The damping factors should be either the same or one is -1 and the other has the correct value which is > 0
210 dampingFactor[0] = util::max(dampingFactor[0], contact.getDampingFactor());
211 responsibleRank[0] =
212 util::min(responsibleRank[0], contact.getResponsibleRank());
213 particlePositionUpdated[0] =
214 particlePositionUpdated[0] || contact.isParticlePositionUpdated();
215 if (!particlePositionUpdated[0] && contact.isParticlePositionUpdated()) {
216 particlePosition = contact.getParticlePosition();
217 }
218
219 // Ignore second contact by resetting it
220 contact.resetMinMax();
221 }
222}
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::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticlePosition(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated(), olb::util::max(), olb::util::min(), and olb::particles::contact::WallContactArbitraryFromOverlapVolume< 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::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::deserialize ( std::uint8_t * buffer)

Deserialize contact data and save in object.

Definition at line 360 of file wallContact.hh.

362{
363 return processWithCommunicatables(
364 [&](auto& communicatablePosition, auto& communicatableMin,
365 auto& communicatableMax, auto& communicatableID,
366 auto& communicatableMaterial, auto& communicatableDamping,
367 auto& communicatableParticlePositionUpdated,
368 auto& communicatableIsNew, auto& communicatableRank) {
369 std::size_t serialIdx =
370 communicatablePosition.deserialize(this->indicesDim, buffer);
371 serialIdx +=
372 communicatableMin.deserialize(this->indicesDim, &buffer[serialIdx]);
373 serialIdx +=
374 communicatableMax.deserialize(this->indicesDim, &buffer[serialIdx]);
375 serialIdx += communicatableID.deserialize(this->indicesSingle,
376 &buffer[serialIdx]);
377 serialIdx += communicatableMaterial.deserialize(this->indicesSingle,
378 &buffer[serialIdx]);
379 serialIdx += communicatableDamping.deserialize(this->indicesSingle,
380 &buffer[serialIdx]);
381 serialIdx += communicatableParticlePositionUpdated.deserialize(
382 this->indicesSingle, &buffer[serialIdx]);
383 serialIdx += communicatableIsNew.deserialize(this->indicesSingle,
384 &buffer[serialIdx]);
385 serialIdx += communicatableRank.deserialize(this->indicesSingle,
386 &buffer[serialIdx]);
387
388 return serialIdx;
389 });
390}
static const std::vector< unsigned int > indicesDim
Definition wallContact.h:42
static const std::vector< unsigned int > indicesSingle
Definition wallContact.h:43

◆ getDampingFactor()

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

Read access to damping factor.

Definition at line 144 of file wallContact.hh.

145{
146 return dampingFactor[0];
147}
+ Here is the caller graph for this function:

◆ getMax()

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

Read access to max.

Definition at line 137 of file wallContact.hh.

138{
139 return this->max;
140}
+ Here is the caller graph for this function:

◆ getMin()

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

Read access to min.

Definition at line 130 of file wallContact.hh.

131{
132 return this->min;
133}
+ Here is the caller graph for this function:

◆ getParticleID()

template<typename T , unsigned D, bool CONVEX>
constexpr const std::size_t & olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getParticleID ( ) const
constexpr

Read access to particle ID.

Definition at line 85 of file wallContact.hh.

86{
87 return this->particleID[0];
88}
+ Here is the caller graph for this function:

◆ getParticlePosition()

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

Return particle position.

Definition at line 99 of file wallContact.hh.

100{
101 return particlePosition;
102}
+ Here is the caller graph for this function:

◆ getResponsibleRank()

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

Read access to the responsible rank.

Definition at line 123 of file wallContact.hh.

124{
125 return responsibleRank[0];
126}
+ Here is the caller graph for this function:

◆ getSerialSize()

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

Get serial size.

Definition at line 160 of file wallContact.h.

160{ return serialSize; };

◆ getWallID()

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

Read access to wall matreial.

Definition at line 92 of file wallContact.hh.

93{
94 return this->wallID[0];
95}
+ Here is the caller graph for this function:

◆ increaseMinMax()

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

Increase bounding box size.

Definition at line 189 of file wallContact.hh.

191{
192 this->max += increaseBy;
193 this->min -= increaseBy;
194}
+ Here is the caller graph for this function:

◆ isEmpty()

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

Returns if contact holds data.

Definition at line 226 of file wallContact.hh.

227{
228 for (unsigned iD = 0; iD < D; ++iD) {
229 if (min[iD] > max[iD]) {
230 return true;
231 }
232 }
233 return false;
234}
+ Here is the caller graph for this function:

◆ isNew() [1/2]

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

Returns if the contact is a new contact.

Definition at line 238 of file wallContact.hh.

239{
240 return newContact[0];
241}
+ Here is the caller graph for this function:

◆ isNew() [2/2]

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

Sets 'isNew'.

Definition at line 244 of file wallContact.hh.

246{
247 this->newContact[0] = newContact;
248}

◆ isParticlePositionUpdated()

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

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

Definition at line 252 of file wallContact.hh.

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

◆ operator=() [1/2]

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

Copy assignment.

Definition at line 268 of file wallContact.hh.

270{
271 min = contact.min;
272 max = contact.max;
273 particleID[0] = contact.particleID[0];
274 wallID[0] = contact.wallID[0];
275 particlePosition = contact.particlePosition;
276 particlePositionUpdated[0] = contact.isParticlePositionUpdated();
277 dampingFactor[0] = contact.getDampingFactor();
278 newContact[0] = contact.isNew();
279 responsibleRank[0] = contact.getResponsibleRank();
280
281 return *this;
282}

References olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getDampingFactor(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getResponsibleRank(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::isNew(), and olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::isParticlePositionUpdated().

+ Here is the call graph for this function:

◆ operator=() [2/2]

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

Move assignment.

Definition at line 286 of file wallContact.hh.

288{
289 min = std::move(contact.min);
290 max = std::move(contact.max);
291 particleID = std::move(contact.particleID);
292 wallID = std::move(contact.wallID);
293 particlePosition = std::move(contact.particlePosition);
294 particlePositionUpdated = std::move(contact.particlePositionUpdated);
295 dampingFactor = std::move(contact.dampingFactor);
296 newContact = std::move(contact.newContact);
297 responsibleRank = std::move(contact.responsibleRank);
298
299 return *this;
300}

◆ print()

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

Print relevant quantities.

Definition at line 393 of file wallContact.hh.

394{
395 OstreamManager clout(std::cout, "WallContact");
396 clout.setMultiOutput(true);
397#ifdef PARALLEL_MODE_MPI
398 int rank = singleton::mpi().getRank();
399 if (rank == responsibleRank[0]) {
400#endif
401 clout << "Min=" << this->min << ", Max=" << this->max << std::endl;
402 clout << "particle ID=" << this->particleID[0]
403 << ", wall ID=" << this->wallID[0]
404 << ", DampingFactor=" << dampingFactor[0] << std::endl;
405 clout << "Position=" << particlePosition << std::endl;
406#ifdef PARALLEL_MODE_MPI
407 }
408#endif
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::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax ( )
constexpr

Reset min and max to default values.

Definition at line 169 of file wallContact.hh.

170{
171 for (unsigned iD = 0; iD < D; ++iD) {
172 min[iD] = std::numeric_limits<olb::BaseType<T>>::max();
173 max[iD] = -std::numeric_limits<olb::BaseType<T>>::max();
174 }
175 particlePositionUpdated[0] = false;
176}
+ Here is the caller graph for this function:

◆ serialize()

template<typename T , unsigned D, bool CONVEX>
std::size_t olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::serialize ( std::uint8_t * buffer)

Serialize contact data.

Definition at line 327 of file wallContact.hh.

329{
330 return processWithCommunicatables(
331 [&](auto& communicatablePosition, auto& communicatableMin,
332 auto& communicatableMax, auto& communicatableID,
333 auto& communicatableMaterial, auto& communicatableDamping,
334 auto& communicatableParticlePositionUpdated,
335 auto& communicatableIsNew, auto& communicatableRank) {
336 std::size_t serialIdx =
337 communicatablePosition.serialize(this->indicesDim, buffer);
338 serialIdx +=
339 communicatableMin.serialize(this->indicesDim, &buffer[serialIdx]);
340 serialIdx +=
341 communicatableMax.serialize(this->indicesDim, &buffer[serialIdx]);
342 serialIdx +=
343 communicatableID.serialize(this->indicesSingle, &buffer[serialIdx]);
344 serialIdx += communicatableMaterial.serialize(this->indicesSingle,
345 &buffer[serialIdx]);
346 serialIdx += communicatableDamping.serialize(this->indicesSingle,
347 &buffer[serialIdx]);
348 serialIdx += communicatableParticlePositionUpdated.serialize(
349 this->indicesSingle, &buffer[serialIdx]);
350 serialIdx += communicatableIsNew.serialize(this->indicesSingle,
351 &buffer[serialIdx]);
352 serialIdx += communicatableRank.serialize(this->indicesSingle,
353 &buffer[serialIdx]);
354
355 return serialIdx;
356 });
357}

◆ setDampingFactor()

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

Set damping factor for contact.

Definition at line 151 of file wallContact.hh.

153{
154 dampingFactor[0] = newDampingFactor;
155}

◆ setDampingFactorFromInitialVelocity()

template<typename T , unsigned D, bool CONVEX>
constexpr void olb::particles::contact::WallContactArbitraryFromOverlapVolume< 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 158 of file wallContact.hh.

162{
164 coefficientOfRestitution, initialRelativeVelocityMagnitude));
165}
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::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::setParticlePosition ( const PhysR< T, D > & particlePosition)
constexpr

Set particle position.

Definition at line 106 of file wallContact.hh.

108{
109 particlePosition = position;
110 particlePositionUpdated[0] = true;
111}

◆ setParticlePositionUpdated()

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

Definition at line 260 of file wallContact.hh.

262{
263 particlePositionUpdated[0] = updated;
264}

◆ setResponsibleRank()

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

Set processor that is responsible for contact treatment.

Definition at line 115 of file wallContact.hh.

117{
118 responsibleRank[0] = rank;
119}
+ Here is the caller graph for this function:

◆ updateMinMax()

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

Update min and max with given position inside the contact.

Definition at line 180 of file wallContact.hh.

182{
183 particles::contact::updateMinMax(this->min, this->max,
184 positionInsideTheContact);
185}
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: