Add new force model

Submitted by jagan1mohan on Thu, 05/28/2020 - 20:38

Hello Team,

Greetings. Could you point me to any resources on modifying the source code and add a new force model to LIGGGHTS? I'm specifically looking to add van der Waals force. Please let me know and any suggestions are welcome.

Thank you,
Jagan Mohan.

jagan1mohan | Sun, 05/31/2020 - 16:28

Hello mschramm, Greetings. Thank you for pointing me to the right direction. I have just started reading the suggested material and would like to be in touch with you in this finishing this task. I've sent you a personal email on your iastate address and looking forward to a positive reply from you.

Thank you,
Jagan Mohan.

Bias's picture

Bias | Fri, 05/29/2020 - 09:03

Hi,
I agree with mschramm easiest is to copy and modify a existing model. You should also ask yourself if you want to have for example the hertz model force and then add a cohesion model onto it or if you want to change the hertz model so that it includes a van der waals contribution.

I have implemented the JKR model for LIGGGHTS (that models cohesion due to van der waals forces) you can read about it more here https://www.cfdem.com/forums/liggghts-public-v380-jkr-contact-model
or https://github.com/eidevag/LIGGGHTS-PUBLIC-JKR
You can either just use it or look at how I did if you want to make one yourself.

If you want to base on the herz model what you basically do is:
copy and rename the .h file
Change NORMAL_MODEL_HERTZ_H_ to the name you renamed
Change NORMAL_MODEL(HERTZ,hertz,3) with the new name of the model and a model number that is free (pick a number not already used for example 18)
And then you can try to compile and run the model with the new name just to see if that works.

Best regards
Tobias

jagan1mohan | Sun, 05/31/2020 - 16:46

Hello Tobias, Greetings. Thanks for sharing the information. I have just started reading your article "Modeling of dry snow adhesion during normal impact with surfaces" and would like to be in touch with you in finishing this task. Could you share your personal email or please send me an email on jugsandmugs@gmail.com. Perhaps, it is better to talk on personal address with my basic questions rather than on the forum.

Thank you,
Jagan Mohan.

AlexSM | Wed, 03/24/2021 - 16:37

Hello all,

I would like also to create my own contact law (time dependency friction between grains).
I copy and paste the "normal_model_hertz.h" rename it "normal_model_hertz_own.h". Change "HERTZ" by "HERTZ_OWN", "hertz" by "hertz/own", "NORMAL_MODEL_HERTZ_H_" by "NORMAL_MODEL_HERTZ_OWN_H_" and choose "18" as model number. I did this just to test if I can get a new model but the former and the new files are the same for the moment.
I made again LIGGGHTS.
But when I would like to apply this model to my grains (pair_style gran model hertz/own) I get the following error text :
"ERROR: Invalid model specified (check for typos and enable at least one model) (/build/liggghts-YO7u74/liggghts-3.8.0+repack1/src/pair_gran_proxy.cpp:70)"
Even if it was running with the former hertz model (pair_style gran model hertz).

What do I need to do more?

I stay available
Thanks in advance
Alexandre Sac--Morane