Fluvio Lobo

fluviolobo

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

FEM Target Constraint Oct. 22, 2019, 7:23 p.m.

Hello,

I am trying to set a FEM target constraint on a group of points that allows movement in 1 or 2 axis, while fixing motion on the third. I currently have a “hard” target constraint on a group of points, while the rest of the object is deformed (see attached hip file). In regular FEM, this would result in a symmetry-plane constraint!

My first thought was to use the “soft” constraint, but I cannot define the target strength and damping as a vector attribute…

…any thoughts?

Importing External Tetrahedral Mesh Oct. 16, 2019, 10:17 p.m.

Hello,

Just wanted to follow-up, just in case someone is interested

My approach described above worked (with a few mods.);

1. Starting from a simple FEM geo network (figure below), I used the file node to export the input sphere as a .OFF


2. In my Windows PC, I use TetGen [wias-berlin.de] to create a tetrahedral mesh from the exported .OFF file.
You will need to build TetGen on your windows… here is a quick set of steps [github.com]

2.1. TetGen actually comes with a viewer, called tetview [wias-berlin.de], which we can use to visualize the steps here on after. The figure below shows the exported .OFF file, just a surface polygon mesh…


2.2. I ran TetGen to tetrahedralize the exported .OFF file, using the following input flags:
tetgen.exe -pq1.2 -fCVO -a1.0 geo_mesh.off
Keep in mind that I first copied the .OFF file to the tetgen directory, from where I executed the above command
If you want to know more about the flags I used, see the documentation [wias-berlin.de]
In the end, the program should write the following files (figure below)


2.3. I ran tetview on the .face or .ele files to evaluate the mesh (figure below)


3. Here is where python comes in. I had to write a converter/writer that takes the .nodes and .face files to generate a new .OFF file. I made a version with a gui for selecting the input .OFF file (see attached). I also made the program in Python 2.7.x, as I plan to adapt this directly to Houdini. Executing the python script should result in a file ending in .conv.OFF

4. Back to Houdini! In the same geo network for FEM, I added a set of nodes that will import the conv.OFF file, “fix” the mesh, and bypass solid embed (figure below)


4.1. The imported file does not work by itself… when imported, it does not group neighboring polys as tetrahedrons… if we connect the raw input to the tetrahedralize node, the attributes are fixed and the problem goes away. I got super lucky here tbh

4.2. Connect the tetrahedralize node to the dopimport node and you can run the FEM!

—I will keep updating this post as I go!

Mathematics behind Shape and Volume Stiffness Oct. 15, 2019, 9:19 p.m.

If anyone is interested in this, here is what I have found so far:

1. From the Houdini doc. on Setting up finite elements [www.sidefx.com], we get this key piece of info.

If the material model is isotropic (Enable Anisotropy is turned off), then the Volume Stiffness and the Shape Stiffness are related to the Lamé parameters. If you know Lamé’s first and second parameter for the material that you want to model, then you can set Volume Stiffness to Lamé’s first parameter and you can set Shape Stiffness to Lamé’s second parameter times two.

2. From solid mechanics [en.wikipedia.org], we know that the linear response of “hookean solids” is given by the equation:

In this equation: \sigma is the stress in the material, \epsilon is the engineering strain, \lambda is the 1st Lame parameter (equivalent to the volume stiffness), and \mu is the 2nd Lame parameter (equivalent to the shape stiffness).

This is great if you can fit your date to this relatively simple model!