Tag Archives: Liggghts

Soil-Structure Interaction

Hello! This blog is about a project I’m working on. It is a project involving the nature of the interaction between soil and a tool that manipulates the soil. Deceivingly simple concept.

In engineering terms, I need to create a coupled granular-structural interaction simulation. Woo!

It shouldn’t be too difficult, right? I spent 6 six years learning and practicing structural finite element analysis. I’ve got that down fa sho. I’ve also spent the better part of the last 6 weeks learning and running a few discrete element models using the excellent open source granular simulation tool called LIGGGHTS. I really like open source tools, so I’m going to use EDF’s Code-Aster for the structural FEA portion of the simulation and LIGGGHTS for the granular portion of the simulation.

But man, here’s the issue. Most modern FE codes have some sort of CFD counterpart that can be run in the same environment as the FEA. This is a big advantage to those who perform fluid structure interaction problems because it eliminates the need for hard coding links between the two simulations. Well, DEM is kind of the new kid on the block, so you wont find it embedded into any existing simulation package. Its a shame, really, because now I have to figure out how to code this stuff.

May I preach?
Everyone should learn some programming. Don’t get left behind. Impoverished children in Africa are learning Python on $100 open source laptops powered by hand cranks. Supplement your skillset with a little C, or py, or anything. Time to take my own advice.

Anyways, I’m peering into the help files for LIGGGHTS and I see that its possible to invoke a command from a LIGGGHTS script to call another code. I could also use a driver code to call both codes. This seems better to me. It warns me that I should know some C or C++. Well guess what, I know very little C and C++. I’ll make do with the skills that I have now and learn more as I need to.

OK, lets get it started.

Step 1: Define Problem. I’ve already done this. Its kind of proprietary for the company I am contracted with, so I’m not going to share it. Just know that this is a problem of tool-soil interaction.

Step 2: Collect, organize, and filter resources and information.

Some LIGGGHTS info that I found:
1. LIGGGHTS has a developers forum (goto www.liggghts.com) that may prove very useful.
There is a post called “Coupling Liggghts with a LBM code written in Fortran.” in which a developer provides his coupling script. This could serve as a good example.
A recurring theme in the forum posts is library*.h/cpp. I should look into this.
There is command in LIGGGHTS called fix cfd_coupling which may open some additional doors.

2. The LAMMPS developers manual is available at http://lammps.sandia.gov/doc/Developer.pdf
LAMMPS is a molecular dynamics code that LAMMPS is based on. There is a help file, but it is very limited.

Thats pretty much the extent of the LIGGGHTS info out there. Code Aster has some info online as well.
3. Code aster official documentation can be found here: http://www.code-aster.org/V2/spip.php?rubrique19.
There is a document called Supervisor and command language (u1.03.01) that may help us call aster from a command line, not to mention Python methods for access to the Aster objects (u1.03.02). In fact, every U1 document may help us out in some way.  Another resource could possibly be D5.01.02 Introduce a new macro command

Its time for me to study these documents. I will present my findings in the next post. Laterz.

Tagged , , , , , , , , , , , , , ,