The friction of HertzianViscoElasticFrictionPrms
Hello.
I am using ESyS-Particle to simulate the impact of two RotSpheres with contact model of HertzianViscoEl
I am not sure whether the friction is applied at the contact point or at the particle's center.
And if the friciton is applied at the particle's center, how to change it to the contact point which could generate moments? Is there any tutorial explaining how to modify the code?
Best Regards!
Yours,
Bin
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Dion Weatherley
- Solved:
- 2017-07-31
- Last query:
- 2017-07-31
- Last reply:
- 2017-07-17
Launchpad Janitor (janitor) said : | #1 |
This question was expired because it remained in the 'Open' state without activity for the last 15 days.
Dion Weatherley (d-weatherley) said : | #2 |
This question needs to be answered
Dion Weatherley (d-weatherley) said : | #3 |
Hi Bin,
It would appear that currently HertzianViscoEl
To apply a moment due to friction, you could possibly copy what is done in the RotFrictionPrms source code:
Model/RotFricIn
Search for "applyMoment" to find the relevant code-fragment.
I hope this helps.
Cheers,
Dion
Bin Cheng (bincheng) said : | #4 |
Hi Dion.
Thanks to your advice and the document "HowToAddIntera
However, I have some problems when I try to add a new body force because the tutorial online does not include the Single Particle Interactions and Wall/Mesh Interactions. Therefore, may I request a little more detailed document on body force and wall interactions? I should be most grateful if that is possible.
Thank you in advance for your kind assistance, and look forward to receiving your advice soon.
With kind regards,
Yours sincerely,
Bin Cheng
|
#5 |
Hi Bin,
Additional documentation for programmers of ESyS-Particle is definitely required but, at present, we do not have anything written on that. My suggestion would be to study the way gravity is implemented and modify/copy that for your purposes.
Cheers,
Dion
Bin Cheng (bincheng) said : | #6 |
Hi Dion,
Thanks. I would try to study the code for gravity model as your advice.
Additionally, I have a question on the last part of the code for RotFrciInteract
template<>
void TML_PackedMessa
template<>
void TML_PackedMessa
I have not found this part in other unbonded models, e.g., HertzianViscoEl
Looking forward to your reply!
With kind regards,
Yours sincerely,
Bin Cheng.
SteffenAbe (s-abe) said : | #7 |
Hi Bin,
the "pack" and "unpack" functions are implicitely used when interaction data is exchanged between different worker processes. Specifically, the TML_Cart_
The fact that HertzianViscoEl
Steffen
SteffenAbe (s-abe) said : | #8 |
Hi Bin,
regarding your initial question: after looking at the code it turns out that HertzianViscoEl
Changing HertzianViscoEl
Steffen
Bin Cheng (bincheng) said : | #9 |
Hi Steffen,
Thanks for your quick reply.
Would you mean that the tangential contact history is recorded and exchanged through the ParallelInterac
So, what parameters should I add into the pack function? Only the interaction model parameters (stiffness, dynamicMu), particle ID and tangential friction history? Is these parameters enough?
By the way, do you have a plan to write an additional documentation for programmers about the Data Structures and Program Framework in ESyS-Particle? That will help us a lot.
Thank you in advance for your kind assistance, and look forward to receiving your advice soon.
With kind regards,
Yours sincerely,
Bin Cheng
SteffenAbe (s-abe) said : | #10 |
Hi Bin,
if an interaction contains _any_ history dependent parameters, it needs to be stored in a ParallelInterac
Btw, which version of the code are you using? I'm just asking because in message #6 you state that "I have not found this part in other unbonded models, e.g., HertzianViscoEl
> So, what parameters should I add into the pack function?
Everything which is required in calcForce.
The additional documentation for programmers is certainly an item on our agenda, but, as all work on esys-particle, it depends on actually having the resources.
Steffen
Bin Cheng (bincheng) said : | #11 |
Hi Steffen,
I am so sorry that I was wrong. The pack/unpack functions do exist in HertzianViscoEl
Btw, I am trying to add a frictional wall/mesh into this code, do you have some suggestions on this topic? For instance, how to store the tangential history between the particles and the wall/mesh? Are there any existing classes or functions that could contribute to this case? Does the ESyS-Particle include edge contact or corner contact (These would be common in Triangle Mess)?
With kind regards,
Yours sincerely,
Bin Cheng.
SteffenAbe (s-abe) said : | #12 |
Hi Bin,
no worries w.r.t the pack/unpack functions. It did have a useful outcome after all - if you hadn't made the mistake I wouldn't have spotted the bug with the wrong interaction storage class. Btw, the fix for that bug will be committed when I've done some tests, i.e. in the next few days.
W.r.t. frictional mesh walls:
- I remember that Dion and myself did discuss this feature a while ago but ran into some obstacle making the implementation more difficult than expected and therefore didn't go ahead with this. Unfortunately I don't remember what the problem was.
- edge / corner interaction are implemented in the elastic interaction with a mesh. See ETriMeshInteraction and stuff included there.
Steffen
Bin Cheng (bincheng) said : | #13 |
Thanks for your help!
Btw, could you give me some advice on how to add the socalled "moving mesh", which would has translation and rotation according to the force and moment generated by the granular system? In other words, how to get the force vector and contact position of the particle-mesh interaction and how to change the position of all points in the mesh every timestep? Maybe Runnable could do this work?
With kind regards,
Yours sincerely,
Bin Cheng.
Bin Cheng (bincheng) said : | #14 |
Thanks Dion Weatherley, that solved my question.