A biomechanical model of the human tongue for understanding speech production and other lingual behaviors

Adam Baker
Department of Linguistics
University of Arizona

Assigning properties to the mesh

This page is about how to take a finite-element mesh that represents the tongue, and assign appropriate properties to the mesh. The properties we are concerned with are (1) which tetrahedron belongs to which muscle, (2) the fiber orientation for each tetrahedron, (3) whether a given node is fixed in postion. All of this is accomplished by the cryptically-named C-program, AssignProperties.c.

Actually that link is to download a compressed folder, which has AssignProperties.c and a number of files that it needs to run. You will also need to download and decompress Total_ol2.raw.gz, which is described on the anatomy page.

AssignProperties.c is described in Appendix A of my dissertation, so I'm not going to repeat that information here. I will add a quick note on making input files that AssignProperties expects. You'll do this with a C-program called inp2ascii.c.

You compile inp2ascii.c, and when you run the program, you'll be prompted to type a filename. If you have an Abaqus file like “Coarse.inp”, then you type “Coarse”:

> inp2ascii
Enter the filename (no extension): Coarse
Reading from:   Coarse.inp
Writing to:     Coarse.txt

It will indeed read from Coarse.inp, and write to Coarse.txt, but it will also create Coarse_element.ascii and Coarse_node.ascii. Coarse.txt will contain a FEBio-style XML input. Nothing exciting, and actually nothing you'll need. Coarse_element.ascii and Coarse_node.ascii are the files that AssignProperties will expect. Make sure that these files are in the same directory as your AssignProperties executable.

All contents copyright © 2008 Adam Baker