CalculiX ccx non-linear axisymmertic static problem, strange results, normal?


Dear Mecway forumers,

This question is about CalculiX, please forgive me if I write it here but I couldn't get any answer on the other forums.

I'm a newbie to CalculiX (and to structural fea in general)


I have a question which I posted to the mailing list as well:


This question is related to non-linear static analysis.

I would like to evaluate the displacement vs compliance (or stiffness) curve of
a concentric corrugated suspension similar to be found speaker drivers.


I set up an fbd file with axisymmetric (qu8c) elements, mesh it, then do the analysis.

Linear analysis works as expected, but sometimes the NLGEOM option gives strange results.

For example:

disp(mm) force(N)-linear force(N)-NLGEOM

1mm -> 21.80 21.63
2mm -> 43.60 42.25
4mm -> 87.21 76.96

the force that is needed to deflect the suspension by 4mm in NLGEOM mode is smaller than
with linear analysis.

(this means that lesser force is needed to obtain greater displacements)


I'm extracting the force from the .DAT file, and I have performed the inverse analysis,
i.e. 76.96N force (76.96/no. nodes) is needed to deflect it by 4mm.


Material definition is elastic linear, however, this result happens only when the thickness is too small
in comparison to the overall dimension.

I have also tried fiber reinforced materials, and it worked well, but it too failed for very small
thicknesses.


Is this behavior normal?

What am I doing wrong?


p.s. : I tried to mesh the geometry with different elements, eventually all gave the same results.
I also tried a real 3d model (no axisymmetry) but the results were the same (w/o the 180 degree multiply)

Interestingly, the results look correct when the model is not axisymmetric.


I would attach a simplified .fbd and an .inp session here, which demonstrates my problem:

I can attach the actual fbd/inp if needed.


Thanks in advance,

Akos


Simplifed input sessions here:


t.FBD file:

(attached)

t.INP file:

(attached)

a simplified INP session ccx-only.INP (no cgx needed) is here:

(attached)

Comments

  • When I run ccx-only.inp, I also find the linear model has higher Y reaction force (1.518) than the nonlinear one (1.32), but approximately the same displacement (magnitude 1.082 compared to 1.080).

    That means the linear model is stiffer than the nonlinear one. I don't think there's any strong rule saying that nonlinear should always be stiffer, even though it often is. Is there more reason why you think it should be in this case?

    Perhaps try even bigger displacements and the deformed shape might reveal why the stiffness is changing. Maybe a new bending mode becomes available at larger deformations so only the nonlinear analysis can make use of it.

  • edited May 2016
    Thank you Victor very much for your answer.

    According to a reaction force vs displacement curve I saw, this is not abnormal.
    It seems the suspension in a non-linear analysis can become much more compliant after a certain (small) displacement, and it becomes very stiff at large displacements.

    But this was just a simplified example.
    I've attached the real geometry, and what bothers me that ccx fails to solve it in NLGEOM mode for ~16mm. Even if it is solved, the displaced geometry looks abnormal.
    The geometry is generated by a script, and the attached geometry should allow roughly 28mm deflection in the axial direction (yet it fails for 16mm).

    According to my experience, there is no problem when the thickness is bigger e.g. 1mm, and ccx solves it quickly, but ccx can't solve it for 0.15mm (the current thickness).

    What I experienced that if the problem can be solved (in its range) the force vs displacement curve is usually increasing in stiffness (not goes below the linear curve), while if the problem cannot be solved (for small thickness) the curve tends to go below the linear curve (that is given by the linear analysis).

    I don't know how much this is understandable, btw. I tried a finer mesh with different elements and so on.. But the results are the same.

    Maybe I am doing something wrong?

    Attached file: actual geometry, can't solve at 16mm (nor at 16+-0.2mm or so..)

    t.zip 9.9K
  • Could you please attach a complete .inp file? This one refers to some missing .msh files and I'm not used to using .fbd if that's generating them.
  • Here it is.
    I've also tried to apply the force and the constrain on one node only, no success.
    t.zip 91.4K
  • A bit of a mystery. Changing to 2D elements, it extends the full 28mm (attached picture and .inp file). I wonder if there's some kind of instability because of compressive hoop stress? To investigate further, I'd revolve the mesh into 3D similar to what CCX does but you'd have more control over it, like a narrower angle which might eliminate any buckling.

  • edited June 2016
    I gave a try to a cyclic symmetry model with manual expansion.
    I doesn't work either.
    I tried expansion angles of 0.125, 0.5, 2.0 and 8.0 degree, neither works.

    The cyclic symmetry model works for a thicker model and virtually gives the same results as the axisymmetric.

    I also tried to lower the step time to 1e-10 or so, and here are two pictures, something strange is happening at time step 0.62.

    The attached files are for 2 degree expansion in cyclic mode (0.15 and 0.5mm).


    When I set the thickness to an approximative value of the 2-degree expansion, the plane stress/strain problems give similar results, however, this isn't always the case.

    So Isn't it safe to use a plane strain model to solve the problem after all?
  • edited June 2016
    Still on my pet theory of buckling. Your pictures gave me an idea. That change looks a lot like a toggle mechanism where a straight beam "snaps" through 0 degrees while being constrained from horizontal displacement. This type of buckling is traditionally hard for FEA and you might need to adjust some of the solver settings to accommodate it. If that's really what's happening then it could be important to model it since it would represent an irregular increase in stiffness as each corrugation unfolds one by one.

    I assume it's effectively constrained against radial motion by the material's circumferential stiffness, which is probably the key difference between the axi/cyclic models and the plane strain one. To check this, I added X-displacement constraints to all nodes on my 2D model and it also failed to converge at a similar stage.
  • I may have found some information about this:

    "Buckling (often referred to as loss of stability) refers to a large increase in displacement when there is a small increment in load."

    "In most structures the displacements increase gradually with increased applied load. If
    the applied load is too large (particularly for compressive structures), a small increase in applied load can lead to a sudden large increase in the displacements. Buckling refers to this transition to large, often catastrophic displacements. Buckling can occur due to thermal or mechanical loads.
    Sometimes this abrupt behavior can be exploited for useful purposes.
    Buckling is one type of instability."

    (http://aeweb.tamu.edu/whit/Classes/306_noHWSolutions/all_Buckling.pdf)


    If this is what you meant, can the abrupt change of the suspension roll considered to be the real situation?

    Is there any way to avoid this (e.g. gradually applying loads or multiple steps)?


    If not, maybe a buckling analysis in ccx could tell something about this?


    On the mailing lists they suggested to use single-layered linear elements. Indeed, a single layer tr3c solved the
    problem, however, it still fails for 0.075mm.

    I've made another geometry (which is similar to the previous one) with thickness of 0.25mm, its results show that (if I'm right) multiple layers tends to give more correct results even by the case of a slim geometry.

    (made with one and two layer qu4c elements, respectively):


    defl mm| force one layer N| force two layers N


    4 -> 2.25 2.16
    16 -> 7.625 6.82
    32 -> 22.59 16.48
    40 -> 79.29 60.714


    The difference of the results is 30%. The two layered results may be closer to real world results but can't be solved because of that abnormal behavior.
  • Yes, that's the general idea, though in this case I think it's a particularly difficult type of buckling - a toggle mechanism (aka "snap-through buckling") which means it can't be solved with the linear buckling solver which only does bifurcation buckling. In general, a nonlinear static solve like you're doing is the safest way to analyse buckling, with the disadvantage being that it's slower.

    I don't know if CCX can solve this kind of problem. I assumed that it could but I can't find any settings that look like they would help. Other software has the "arc-length method" to do post-bucking which I think you may need here.

    The physical reason that solvers have trouble here is that after buckling occurs, the load is still directed upward, but the structure is deflected downward from its new equilibrium shape. So its own stiffness is trying to push it upward in the same direction as the applied force. With no reaction force, there's no static solution for the solver to converge on. A real object wouldn't be able to stay in that state either. It would accelerate upward until something else slowed its movement - such as the next corrugation beginning to unfold. If you tried to push the speaker cone out by hand, I expect you would feel a pop-pop-pop motion as each corrugation snapped into its unfolded state.

    Another possibility is that it would start to wrinkle and this whole snap-through buckling is just an artifact of the axisymmetric approximation. Wrinkling can be easier for FEA. I see from a quick search that wrinkling in speaker suspensions is a known problem at large deflections. You would probably need a complete 360 degree model to capture that since it likely wouldn't be axially symmetric.

    As you say, more elements are more accurate than fewer so definitely don't use fewer to avoid the convergence problem. 3-node triangle elements are the least accurate type with coarse meshes so avoid them too.

    Perhaps take a step back and see what you're really trying to find here. Do you need to stretch it so far? Surely that's beyond its normal range of motion. If you're only interested in the fully extended state, would it be OK to skip all he intermediate motion and move it most of the way using fixed displacements then revert to an applied force to capture the true behavior only at the end of its motion?
  • Alright, thank you very much for the help.

    I'll look more into the things that you've listed, and maybe return If I find out something about this.

    ps. I've read about the arc-length method, maybe it wouldn't be a bad idea to compare the results to another solver.

    Rgds,
    Akos
  • Hi,

    Sorry for the delay, it's been years. I didn't forget to answer I just tried to look for the possible options.

    We switched to Z88 to solve this kind of problem, it has the pardiso solver and that usually solves this kind of problem well.
    Z88 also has the arc-length method, but that didn't work:
    https://forum.z88.de/viewtopic.php?t=828

    After reading a few documents about loudspeaker drivers, it seems, suspensions that behave this way are labelled as unstable and better to design suspensions that don't exhibit such behaviour.

    "Wrinkling"
    What did you mean by this?

    Regards,
    Akos
  • Welcome back Akos

    Did Z88 stop at the same deflection as CCX? At least that would seem to confirm it's something about the design, not an artifact of the solver.

    By wrinkling, I meant this kind of effect for membranes in tension. Probably not relevant though, just a vague idea. https://blogs.umass.edu/bdavidov/files/2012/02/Figure1-eps-converted-to.jpg

  • I run a dozen of tests a few years ago but I can't remember if Z88 stopped at the same deflection as CCX, if stopped.
    Generally, the pardiso solver can solve some of those problems with a large number of increments.
    I also tried to compile the intel MKL (?) package that contains the pardiso solver but couldn't link the libraries with CCX.

    The inner diameter of the suspension (it's actually the damper of a loudspeaker driver) is fixed at the inner diameter, but those deformations occur at high frequencies. We also use CCX's natural frequency analysis to get those modes of vibration.

    I think I read it (probably in Klippel) papers that those instabilities (reaction force vs displacement) do really exist and better to avoid by design.
  • So wrinkling happens in static analysis for membranes? OK - I got no idea.

    What I remember is that I tried a full 3d model but the results were essentially the same. The 3d model wasn't very detailed though, and it should probably have some irregularities to mimic a real model.

    Thanks for the great help, it helped a lot,
    Akos

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!