viscous drag of a wall

Asked by Thomas Wagner

I would like to know how to set the viscous drag of an infinite wall? I presume NRotFrictionPrms() sets the friction of the particle-particle interaction. Do I have to use setVelocityOfWall() within a runnable class and and add the latter to the PreTimeStepRunnable list?

Question information

Language:
English Edit question
Status:
Answered
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Dion Weatherley (d-weatherley) said :
#1

Hi Thomas,

Thanks for the question. I presume you are looking for frictional walls. Unfortunately we do not have a frictional wall interaction group at present although it would certainly come in handy! In most cases, this can be worked around by bonding a layer of particles to a wall and defining frictional interactions between those particles and other particles in the model. There's an example of how to do this in the updated ESyS-Particle tutorial:
http://www.uq.edu.au/~uqdweath/ESyS_Particle_Tutorial.pdf

I'll add frictional/viscous walls to the list of desired features.

Cheers,

Dion.

Revision history for this message
SteffenAbe (s-abe) said :
#2

Unfortunately its not quite as simple. "Viscous" and "frictional" walls are quite different, not only from a physical point of view (velocity dependent drag force vs. stress dependent) but also from an implementation point of view. Viscous interactions would just need the velocities of the particle and the wall (and some indication if the particle is close enough to the wall to be dragged) and therefore carry no state which means they are easier to deal with regarding the exchange of data between workers (see CEWallInteractionGroup<T>::Update(..) vs CBWallInteractionGroup<T>::Update(..) ). OTOH walls currently have no proper concept of velocoty, or, more precisely the velocity one can set via setVelocityOfWall() is not coupled to the actual movement of the wall (via moveWallBy()). If a function was to be implemented which calculates the current velocities from its movement one would need to take into account that wall move both due to moveWallBy() and also due to applyForceToWall().
Frictional interactions, OTOH, don't need velocities, just displacements - so there would be no need to deal with the wall velocity. However, it would be neccessary to deal with the exchange of the interaction state between worker processes. Also , one would probably need both a rotational and a non-rotational variant.

Steffen

Can you help with this problem?

Provide an answer of your own, or ask Thomas Wagner for more information if necessary.

To post a message you must log in.