Welcome to the FEBio Forum. This forum serves the community of FEBio and FEBio Studio users and developers. Forum participants are encouraged to post questions, as well as answer posts from others. A broad level of participation is encouraged, to create a vibrant community that helps improve the quality and usefulness of these open-source/free software products. Moderators are here to assist with explaining novel features, addressing bug reports and reviewing feature requests, but the effectiveness of the forum depends critically on the participation of experienced users who can assist novices or share ideas and models that explore challenging problems. Please feel free to join in this effort. You can subscribe to forums by pressing the "Subscribe" button at the top of the forum. This will allow you to stay up to date on recent activity on the forum.
The FEBio software downloads and knowledgebase can be found here.
I got your file, but I'm not sure what's wrong. I can't run it either. Currently, I'm not in the country and I don't have my debugging tools at hand. I will be back on tuesday, so I'll look at in more detail when I get back. Sorry for the inconvenience.
Cheers,
Steve.
Department of Bioengineering, University of Utah
Scientific Computing and Imaging institute, University of Utah
Hey, thanks for looking at it at all! I do appreciate it. I'm assuming that it's an easier debug for you than for me. They're huge automatically generated files, so checking them by hand is a bit daunting:
Here is another file that gives a different (but similar) error:
LINEAR EQUATION SOLVER DATA
================================================== =========================
Solver type .................................... : Skyline
Nr of equations ................................ : 307587
===== beginning time step 1 : 0.1 =====
FATAL ERROR: An error occured while creating the stiffness matrix
Hi Adam - obviously FEBio shouldn't give a seg fault, but I wonder if you are running out of memory on the machine that you are using? What platform is this?
I suppose that you used an other program to import this mesh (which one, because I use Amira, but I'm not very satisfied about it...)
When I used amira to import a tetrahedral grid, sometimes it give this segmentation fault and I have to remesh the problem in amira (Then I have no more problems ...)
Maybe this (time consuming) suggestion work?
Hi Jeff,
I think that may be the answer. The machine itself is a new 128-bit system that our university just got, which should have plenty of memory. But I was running the 32-bit Linux build. So I am probably having the same problem I posted about earlier. I'm trying the files with the 64-bit versions now, and I'll report the results back here (I expect it to take a while). I guess I'll also put in a request for a 128-bit build.
Hi Joris,
I wish I could give a quick answer as to how that worked. :-) I used Amira for segmenting anatomical images, in order to determine the model. But as you indicate, it's mesh generating abilities are not great.
What I ended up doing was to use the SurfaceGen module to create a surface from my volumetric data. When Amira creates a surface most of the points are on integer coordinates. So, you can take the vertices of the mesh and use them as control points for splines that lie on the axial, sagittal, or coronal planes. So I made splines and lofted them into solids (using Rhino3D, which I found to be much better than SolidWorks for the task). Then I meshed the solids in Abaqus.
So, kind of a roundabout way, but there it is. If I were starting from scratch I might rather have generating a bad mesh with Amira, and then fixed it. There is a library for improving meshes put out by Sandia, or some defense-related agency, that looks pretty good (I guess I deleted the bookmark so I can't remember the name).
Here the results of runs on our 64-bit and 128-bit machines:
Val2_2.feb gives a segmentation fault on the 64-bit Altix system (febio.alt)
Val2_2.feb gives a segmentation fault on the 128-bit linux system (febio.lnx)
Val3_3.feb runs successfully on the 64-bit Altix system (febio.alt)
Val3_3.feb gives a segmentation fault on the 128-bit linux system (febio.lnx)
I'm still looking into it, but a first quick look indicates that Val2_2.feb is causing problems in the bandwidth optimization algorithm. If I turn it off (remove the <optimize_bw> tag or set the value to 0) it seems to pass the data check. Try running it that way and see if that helps. (Although you might run into memory problems if you turn it off ). At this point I'm not sure yet whether it is a bug in the algorithm or a problem with the mesh. I'll look into the first, but perhaps you can look into the latter? When I open the .feb file in PreView it looks "strange". Some of the materials appear to be scattered over the mesh, which I don't think you intenden. In any case, to be continued ...
Cheers,
Steve.
Department of Bioengineering, University of Utah
Scientific Computing and Imaging institute, University of Utah
It looks like you found the problem. When I remove it the <optimize_bw> tag it completes successfully (with a decent runtime, ~25 minutes).
The scattered element thing is an issue with the code I'm using to assign materials to elements. I haven't actually opened that .feb file in PreView since my personal computer is not very powerful. But, the same scattered element problem is there in files that complete successfully (e.g., Val1_2.feb, which is a coarser mesh), so I suspect that that's not causing this particular problem.
I indeed found a bug in the bandwidth optimization algorithm. I'm planning on posting the fixed release of FEBio on the website by the end of the week.
Cheers,
Steve.
Department of Bioengineering, University of Utah
Scientific Computing and Imaging institute, University of Utah
Hi Steve - when you find a bug due to a query on the User forum, I suggest that you either 1) move the user forum thread to the Project subforum and make the thread an issue/bug, or 2) open a new issue/bug over in the Project subforum, including a hyperlink to the original thread. That way users can check the project subforum first when they think they have found a bug to see if it has already been reported.
Comment