Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Meshing complex geometry

Status
Not open for further replies.

nelsonka11

Bioengineer
Jan 19, 2022
3
Hi,
I'm new to Abaqus so sorry if my problem is trivial. I need to perform analysis of vascular stent deployed into artery (reconstructed based on actual patient imaging data. My original plan was to extract artery centerline, align model of stent to such centerline to be able to initially place it inside artery and then import both stent and artery into Abaqus to simulate opening of a stent. Operations on stent model to align it with centerline of artery were performed on STL model. Therefore, I had to convert it to STEP using FreeCAD. However, after importing to Abaqus I'm having problems with meshing. When I attempt to create hexahedral mesh, error appears that such mesh cannot be created automatically. For tetrahedral mesh, I'm getting notifications that some parts are of unusable quality, regardless of chosen mesh size. Therefore, I suspect that my solid created from STL file (attached to this post) has poor quality. So I'd like to ask how should I proceed with it - are there any ways to make it more suitable for meshing? Thank you for any help
 
 https://files.engineering.com/getfile.aspx?folder=748326ec-1f4e-4e51-a820-60adb6777e3f&file=stent.rar
Replies continue below

Recommended for you

The geometry is indeed quite complex and has many small faces making it difficult to mesh even with tetrahedral elements. STL format should be avoided in FEA if possible. Anyway, virtual topology tools available in the Mesh module may help you obtain meshable geometry in this case.

Check the article "Meshing Complex Geometries in Abaqus" on Simuleon's blog. It describes similar issues and biomedical examples are used there too.

Here's what I got with virtual topology:

mesh_juxfia.png
 
nelsonka11

For complex geometry like this, higher order tet mesh can only be used. Making hex mesh-able geometry will consume lot of time as well as it may not be completely successful. Use of Virtual topology as well as using different mesh controls from mesh module will be helpful. Sometimes, I observed virtual topology gives unsatisfactory/erroneous mesh. By adjusting various parameters in Mesh controls from mesh module as well as "correctly partitioning the geometry" (most important) will lead to successful meshing.
 
Deploying the stent into a vessel will result in contact headaches so there is a lot ahead of you. If you are in the earliest stages of the project, get the overall work done first i.e., run analyses, get data, consume, communicate the results, etc. and do this loop a couple of times. Don't spend too much time worrying about the quality of the mesh in this stage; meshes recommended by previous commentators will do just fine. Heck, if you are just starting, use a relatively coarse mesh. Once you get a feel for the overall process, then do a convergence study for the quantity of interest and go from there.

Get the recipe down first; then drill down into important areas to begin your journey to make the recipe perfect.

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
Thank you all for the replies. I managed to mesh my geometry using virtual topology. However, when I run simulation at some point I'm getting an error that some elements (one or more, depending on mesh size) are severly distorted. I've noticed that such error appears in when stent gets into contact with artery wall. So is this error caused by a bad mesh or should I look elsewhere?
 
Take a look at the deformed shape of the model and locate the distorted elements. You may have to refine the mesh or change contact settings (for example disable slave adjustment).
 
In addition to the previous comment, ensure the vessel is the "slave" (in the contact definition) and vessel refinement/discretization is similar to the stent.

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
nelsonka11
Based on the element distortion warning/error given by Abaqus, following may be possibilities-

-Large load application in less increments-Increase the load increments.
-Poor quality mesh-You may have poor quality at the distortion element location and that is getting worse when its loaded or when in contact. Verify mesh quality in mesh module before running the analysis and look for warning/error elements. Try to minimize the warning elements in problematic areas. Refine the mesh on master and slave as suggested by FEA way and IceBreakerSours. Maintain the same size for both, if possible.
-Check element type is suitable for the analysis you are performing
-Try contact stabilization/step stabilization (not recommended though, always)
 
Tangent: Why not just simulate the actual dynamics by taking inertia into account and ignore these magic tricks of contact stabilization? I find it bizarre to see people spend so much time massaging the numerics so the static analysis runs without convergence issues when they could simply take inertia into account. One of the points in the counter argument is that the loading/time is real so that increases the overall wall-clock time. I have yet to run into cases where that was a deal killer which is not to say that there aren't any such situations out there. Furthermore, what about the time one takes in massaging the contact numerics and re-running static analyses?

This is just a pet peeve of mine, no need to distract us from the thread. I was missing my coffee.

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
IceBreakerSours

Earlier when sometimes I get fed up with the "stubbornness" of Static, I tend to choose the warm and welcoming nature of "Dynamic Quasi-static".
Nowadays, I am yielding man. No war between me and Abaqus. May be, I lost my stubbornness.

I miss those days of "stubbornness tug of war".
 
Wait - I am confused :D

In the past, you would quit *Static and switch over to *Dynamic. Nowadays, you don't - i.e., you figure out ways to get *Static to work. Is that correct? If yes, then - *sigh*!

I think some of this must have to do with the philosophical attitude of the developers, which has an impact on the wording in the documentation, how the GUI appears (i.e., which options are shown first, which are shown with a warning, etc.). If you are trying to ease the minds of users and providing them some direction, then you have to do these sorts of things but the downside is that you prevent more advanced users to flex their numerical muscles and getting more out of the code. Since *Static shows up as the default choice and the documentation covers it in great detail ahead of everything else, *Dynamic doesn't get as much love. I am sure there are other reasons as well but I bet this is one of the reasons.

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
IceBreakerSours said:
In the past, you would quit *Static and switch over to *Dynamic. Nowadays, you don't - i.e., you figure out ways to get *Static to work. Is that correct? If yes, then - *sigh*!
I wish this to be true, always.[wink] Sometimes, yes. But most of the time (now), I yield (to dynamic).

 
I get it now. Getting *Static jobs to run was an interesting intellectual challenge for you.

Over the years, I have "rubbed shoulders" with many developers; no one I know bothers with *Static for long so, if nothing else, you are in good company.

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor