Bonding model (parallel bond)

Submitted by Soo-Min Ham on Fri, 07/24/2020 - 08:12

Hi,

I'd like to modelling the cement bonds by using parallel bonds which consist of a finite-sized beam between the two particles. I do not know the structure of LIGGGHTS system, so here is the light questions.

#1. Is there any method that I can use the codes provided by someone else in github or somewhere? and non-specialist can do that? I think it is a quite difficult work because I have to change from the source code.

#2. I've found the LIGGGHTS-With-Bonds ! To use this package, do I have to re-install LIGGGHTS? And I also want to know that this also work with CFDEM/

#3. I've also found the Aspherix program, successor of LIGGHTS. It seems like to be easier to use and has lots of options, but the ouput file from this program can be used as the input file of CFDEM?

#4. Or is there any method that I can model the parallel bonds?

Thanks in advance!

mschramm | Fri, 07/24/2020 - 18:00

Hello,
I have been working with the bond code and have been making headway in the coupling with CFDEM.
https://github.com/schrummy14/LIGGGHTS_Flexible_Fibers

This is an updated version of LIGGGHTS-WITH-BONDS and is working with LIGGGHTS 3.8.
There are examples on how to use the bond code with a shear cell, uniaxial compression, 3-point-bending, and cantilever beam test.

I am currently using this to run CFDEM simulations in agricultural equipment. The drag models/coupling needs to be adjusted to take
into account that there is a bond but I have gotten reasonable results to some benchmark simulations.

If you have any questions, please let me know.

As to your questions.
1) Both LIGGGHTS-WITH-BONDS and LIGGGHTS_Flexible_Fibers model the same bond forces between atoms based off of D.O.Potyondy P.A.Cundall's 2004 paper. The difference between the codes (other than LIGGGHTS version) is that LIGGGHTS-WITH-BONDS did not implement velocity dependent damping while LIGGGHTS_Flexible_Fibers uses the work of Guo et al. 2013. This damping value can have a drastic effect on the time step. There is a pdf document that goes over the time step associated with bonds.

2) You would need to use that specific version of liggghts. As an example, on my computer I have a sybolic link to liggghts -> the public release of liggghts, and liggghts_bonds -> my fiber implementation in liggghts.

3) I can't answer this one very well. I would assume that this would be the easiest method and that their program already couples well with OpenFOAM. This would also give you access to more sophisticated drag models that will take particle geometry into account (something that I still need to do with the public releases...).

4) If you would like to make your own model, you can edit the bond_gran.cpp -> compute function. This would allow you to make any bond model you would wish for (as long as you do not need anymore history values than what is currently being used....).

Again, if you have any questions, please let me know.

Soo-Min Ham | Wed, 09/02/2020 - 03:02

Thank you mschramm :)

I've tried with LIGGGHTS_Flexible_Fibers, but still have a problem.

I got the LIGGGHTS_Flexible_Fibers package from github and tried to run '3_point_bending' example.
When I typed 'liggghts -in in.liggghts' as following the instruction, it show the error "ERROR: Invalid command-line argument (../lammps.cpp:269)
"
I thought it is because of the symbolic link of "liggghts" as I have a symbolic linke to liggghts > LIGGGHTS_PUBLIC.
To change the route of symbolic link I typed as below, but it failed.
> sudo ln -sf $HOME/LIGGGHTS_Flexible_Fibers-master/src/lmp_fedora /usr/bin/liggghts

Is there something that I missed?

mschramm | Wed, 09/02/2020 - 07:09

Hello,
I was wrong about the message. When you issue the liggghts command you would normally see the following
LIGGGHTS (Version LIGGGHTS-PUBLIC 3.8.0, compiled 2020-09-01-11:03:45 by mschramm, git commit 6e87343906b56807d7e6e102f94210a8f69e2fe8)

When you issue this command with the fiber code, you should see something similar to
LIGGGHTS (Version LIGGGHTS-PUBLIC-FIBERS 3.8.0, compiled 2020-08-26-16:41:23 by mschramm, git commit f199225da850fe37bef242ea7a76e7b0c282e809)

Soo-Min Ham | Wed, 09/02/2020 - 13:24

With liggghts command, I got >> LIGGGHTS (Version LIGGGHTS-PUBLIC 3.6.0, compiled 2020-09-01-19:52:39 by geoenergy, git commit 18a96adf8688e0d46423c7d812001a8d9e0a9af0). This means that my liggghts is linked to LIGGGHTS-PUBLIC.

To run the LIGGGHTS_flexible_fiber, I think that I have to link LIGGGHTS_flexible_fiber to liggghts. To complie it, I typed "make auto" in src and it has an error like below:
Creating list of contact models completed.
make[1]: Entering directory '/home/geoenergy/LIGGGHTS/LIGGGHTS_Flexible_Fibers-master/src/Obj_auto'
Makefile:815: *** 'Could not obtain VTK_MAJOR_VERSION. As AUTOINSTALL_VTK is not set to "ON" we cannot continue'. Stop.
make[1]: Leaving directory '/home/geoenergy/LIGGGHTS/LIGGGHTS_Flexible_Fibers-master/src/Obj_auto'
Makefile:106: recipe for target 'auto' failed
make: *** [auto] Error 2

Soo-Min Ham | Wed, 09/02/2020 - 14:37

Please forget about my previous question, as I have solved it.

In previous comments, you said that you have a symbolic link to liggghts -> the public release of liggghts, and liggghts_bonds -> yout fiber implementation in liggghts. I have symbolic linkes like: liggghts -> LIGGGHTS_PUBLIC and liggghts_1 -> LIGGGHTS_Flexible_Fibers, but I cannot understand your comment.

Can you explain it more detail, please?

mschramm | Wed, 09/02/2020 - 18:48

Hello,
The Makefile.user file should be the same between the public release and the fiber code so you could copy the public version
Makefile.user over to the fiber code if there was something you did in the public version to get vtk to work (if you have vtk on).

If I want to run the public code for a simulation, I would do the following
liggghts -in in.liggghts

If I want to run the fiber code, I would do the following
liggghts_bonds -in in.liggghts

These two commands were made using symbolic links via
ln -s /path/to/lmp_auto /usr/local/bin/liggghts
Where the -s flag causes a symbolic link.

So, if you issue your "liggghts" command in the command prompt, you should a title screen.
For the bond code, I have altered this title screen so that it explicitly states that it works for fibers.

Soo-Min Ham | Sat, 09/05/2020 - 08:07

Oh, I missed the purpose of using symbolic link.

As I mentioned at the first post, I'd like to use this DEM bonding model for CFDEM (coupling with OpenFOAM).
I asked that the CFDEM is working for the specific version of DEM(LIGGGHTS-PUBLIC), then you answered that symbolic link can help it.

How can I use this bonding model in CFDEM? Do I have to change some files in CFDEM scr folder?