febiosoftware / FEBioStudio

https://febio.org/
MIT License
64 stars 21 forks source link

FEBio Studio 2.7 crashes when meshing CAD objects that could be processed in previous versions #103

Open modenaxe opened 1 week ago

modenaxe commented 1 week ago

Hello,

I am using FEBio Studio 2.7 for my teaching and I am recreating some models that I had generated in FEBio Studio 2.2. I am finding however that FEBio Studio 2.7 crashes when attempting to mesh CAD models that were completely fine to process with the previous version.

I have noticed that there are three new options when meshing a CAD object, the fields "elements per edge" and "elements per curve" and the checkbox "Quad dominant shell mesh". Is it possible to reconfigure the mesher to the default before these options were introduced or is this a bug from the new NetGen interface?

To reproduce the issue, I have attached a CAD file (Hip Stem - mesher issue.zip) for which previously I could successfully create an initial volumetric mesh to refine using the default parameters of the mesher.

Thank you, Luca

PS Just to add some details, the meshing process reaches the point of creating the volumetric mesh

image

and the software crashes right at the end of the that operation:

image

gateshian commented 1 week ago

Hi Luca,

In FEBioStudio 2.7 we linked the software to the version of the Netgen library that could be downloaded from https://ngsolve.org/downloads. This version may (or may not) be buggy, we haven't fully resolved this issue. A workaround for you is to import your STEP file to FreeCAD (https://freecad.org), switch to the FEM module, mesh the model using NetGen (you may have to expand the imported model and only select the part), then export the mesh into a suitable format (e.g., Abaqus *.inp) and import that mesh into FEBioStudio. We will keep checking updates of the NetGen library in future versions of FEBioStudio and we'll see if we can resolve this issue.

Best,

Gerard

michaelrossherron commented 1 week ago

Luca,

I took a bit of time to look into this issue. I never actually experienced a crash on my machine, but I did notice that FEBio Studio's memory usage was steadily climbing, and I killed it once it hit about 60 gb. I suspect that your machine just ran until it ran out of RAM, and then it crashed. It looks like the problem lies somewhere in NetGen's code. For some reason, it's recursively calling a function forever.

In any case, it seems like there is a bug in the version of NetGen that we're currently using. I'm going to look into updating NetGen to the latest version to see if this bug has been resolved, and if I can find a version of NetGen that works properly for this object, then we can update our build system to use that instead.

I hope to be able to do all of this in the next week or so, and I'll let you know when I've made some progress.

Thanks,

Michael Herron

modenaxe commented 1 week ago

thank you @gateshian and @michaelrossherron for the insights, hopefully the bug has been solved in NetGen - the capability of meshing CAD models in FEBio directly was pretty handy for our uses!