0
$\begingroup$

When running a finite element simulation that converges at larger element sizes but not at smaller element sizes, what are the potential sources of the problem? I am wondering in what areas must a person begin looking in general to find the source of such a problem.

Please forgive me if this question is too general or if the answer is obvious.

In my case, I am referring to a stress simulation of an irregular 3D geometry (non-symmetric half prolate ellipsoid) with tetrahedral elements using FENICS open source finite element software.

I am conducting a mesh density sensitivity analysis but my simulations do not converge at finer mesh densities and I am unsure where I should start looking for the source of the problem. In theory, what might cause such a problem with convergence at finer mesh densities (i.e. smaller element sizes)?

I do not see any abnormal deformation or stress patterns in comparison with coarser meshes that converged successfully.

I greatly appreciate any help or guidance on this topic.

$\endgroup$
4
  • $\begingroup$ I'm not familiar with the software you are using, but from experience with other software where that used mesh or cell sizes, is there is a size difference, in bytes of storage, between the models & if so, is it significant? If so, this can affect run times & how much of each model is loaded into memory. Also, the software you are using might have limit to the number of meshes it can use, either hard coded or in a configuration file, or it might have a processing time limit. $\endgroup$
    – Fred
    Commented Jul 24, 2023 at 19:57
  • 1
    $\begingroup$ Is there some kind of nonlinearity and is it static or transient? $\endgroup$ Commented Jul 24, 2023 at 20:22
  • $\begingroup$ @TomášLétal Hi, Thank you for your comment. Yes it is a static analysis with non-linearity in the the form of a hyperelastic material and large deformations and it is using the Newton Raphson method to solve. $\endgroup$
    – MDN
    Commented Jul 25, 2023 at 15:09
  • $\begingroup$ @MDN Are the loads ramped or stepped? I would recommend using ramped, because stepped could worsen the convergence for smaller elements. $\endgroup$ Commented Jul 27, 2023 at 10:41

1 Answer 1

1
$\begingroup$

I don't think the question that you've asked is answerable, except perhaps by an expert with that particular software and that particular material model. But let me try to answer a slightly different question that may be helpful to you:

What strategy can I use to determine why my finite element software is not working?

The first thing you want to do is to try to reduce the size of the model. E.g. if you have a 1 million node model, cut out a 500,000 node sub-model and see if it still reproduces the problem. If it does, cut that in half, and keep going until you've got the smallest possible model that still reproduces the problem. Yesterday I was having a problem with ANSYS and I was able to reproduce my problem with literally 1 element (turned out one of their default settings was, in my opinion, stupid).

At some point in the process you may cut out a part of the model and find that suddenly it starts working. Then go look at the part you cut out. Take the part you cut out as a sub-model on its own. Does it reproduce the problem by itself?

This process of simplifying / reducing the geometry may often lead to the issue. But sometimes you will get down to a very simple model, handful of elements, and you still have the issue. Then start looking at other things. You mentioned hyperelastic material model. I'm not familiar with hyperelastic materials, but in general I know a lot of this non-linear types of models usually have many different options with varying tradeoffs of accuracy versus complexity. Full non-linear THING, partially non-linear THING, linearized THING, etc. Start playing with these options. Sometimes you might not even understand what an option does, just turn it on or off anyway.

Hopefully, by this point, you've been able to at least isolate the problem. You might not have been able to solve the problem, but you've been able to isolate it. Then, you can come back to stack exchange, your software vendor, or another expert in your field and ask them a very specific question: when I run this very simple model with option A on it works and when I run with option A off it fails, can you help me understand why? That type of question is much more likely to get an answer than the extremely broad question you've asked here.

$\endgroup$
1
  • $\begingroup$ "divide et impera" is probably one of the most common debugging strategies in most tech work out there. $\endgroup$
    – joojaa
    Commented Jul 26, 2023 at 10:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.