1. Home
  2. Diamonds
  3. Errors
  4. Calculation
  5. Error: No convergence after 50 iterations

Error: No convergence after 50 iterations

Contents

During the elastic analysis, you get the error:

The error means Diamonds failed to reduct the applied loads to the foundation, because it was impossible to meet all the imposed nonlinear boundary conditions.

Solution

Since there are a lot of nonlinearies possible in Diamonds, there is not just one solution. To eliminate the error message, you should:

  1. Check if the message can be neglected
    When can the message be neglected

    You can neglect the message, if it only appears for loads cases other than self-weight, while the combinations ULS, SLS calculate just fine.Why: In some cases it is logical that the structure doesn’t calculate. However, the self-weight must always calculate!

    Example 1: frame, supports cannot bear tension, wind loads

    Example 2: plate, soil cannot bear tension, upward water pressure

    The wind loads will result in a tensile reaction in the left support, compressive reaction in the right support. But none of the supports could bear tension > error for the load case ‘wind’.

    In a combination the tensile reaction due to the wind loads, will be compensated by a compressive reaction resulting from for example self-weight and dead loads > no error for the combination.

    The upward water pressure will result in a tensile reaction in the soil. But the soil could not bear tension > error for the load case ‘water pressure’.

    In a combination the tensile reaction due to the water pressure, will be compensated by a compressive reaction resulting from for example self-weight and dead loads > no error for the combination.

    Fix: The message will be gone if you don’t create the combinations for the load cases.

    • Click on  > .
    • Uncheck ‘load cases’.
    • Recalculate .
  2. Check if you didn’t apply too many internal hinges.
  3. Verify the size, density and free borders of the mesh. Pay attention to the free borders where walls and slabs meet.
    If Diamonds doens’t understand how the model should work, he will never find internal forces that correspond to the behaviour you had in mind. Trash in = Trash out.
  4. Locate which nonlinearity (more than one possible) is causing the problem.
    A. Imperfections and/or 2nd order

    Test
    Imperfections and 2nd order both result in a nonlinear calculation. If the model can’t handle a simple 1st order calculation/without imperfections, neighter can it handle a 2nd order calculation/with imperfections.

    • Click on .
    • Select ‘1st order’ and uncheck ‘global imperfections’.

    Fix

    • If the model doesn’t calculate: continue with the list below while doing a simple 1st order calculation.
    • If the model calculates: make sure the model is not a mechanism. Check if all relevant degrees of freedom (horizontal X- and Z-direction!!) are fixed .
    B. 'At top border: no tension' for walls

    Test: allow the tension

    • Select all relevant walls.
    • Click on  and uncheck the option ‘at top border: no tension’.
    • Recalculate .

    Fix

    • If the model doesn’t calculate: continue with the list below leaving the option unchecked.
    • If the model calculates: check if you’ve applied the option ‘at top border: no tension’ ONLY to walls supporting a slab.
    C. Tie rods

    Test: replace tie rods with simple hinged bars

    • Select all tie rods.
    • Click on  and choose .

    Fix

    • If the model doesn’t calculate: continue with the list below using the simple hinged bars.
    • If the model does calculate: define the tie rods using a function allowing a little bit of compression or define small rotational springs in the supports. When calculated, check if the normal compressive force in the tie rods/ the moment reactions in the springs are in deed neglectable.
    D. Supports that don't bear tension or compression

    Test: allow tension and compression in the supports

    • Select all foundation slabs.
    • Click on 
    • Allow tension and compression.
    • Repeat for all line and points supports.

    Fix

    • If the model doesn’t calculate: continue with the list below leaving the supports being able to bear tension/compression.
    • If the model calculates: you’ve found the cause, but the solution is not plug & play. Check in the reactions where the tension/compression arises.
      • If it is a peak value that occurs locally (= 1 mesh triangle wide), you can neglect it.
      • Check if the boundary condition CAN ever be met. For example: if in a combination the upward load exceeds the downward load, a solution can never be found.
    E. Soil layers

    Test: replace soil layers with a spring constant

    • Select all foundation slabs supported by soil layers.
    • Click on  and choose ‘Value’ for the Y-displacement. Enter a value (for example: 5000kN/m³).
    • Repeat for all foundation beams (for example: 150 000kN/m²).

    Fix

    • FYI: follow these steps to properly take the favorable effect of an excavation on the settlement calculations into accout (if you haven’t done that already).
    • If the model doesn’t calculate: continue with the list below leaving the supports defined as springs.
    • If the model calculates: Eurocode (EN 1997-1-1:2005 §6.6.2) gives two conditions on which the soil calculations may be stopped:
      • (6) This depth may normally be taken as the depth at which the effective vertical stress due to the foundation load is 20 % of the effective overburden stress.
      • (7) For many cases this depth may also be roughly estimated as 1 to 2 times the foundation width, but may be reduced for lightly-loaded, wider foundation rafts.

      We know (6) as the stress tolerance in Diamonds. However, a stress tolerance different from zero can cause iterations problems.
      (7) is an alternative to (6). If you want to apply it, you do the following:

      • Uncheck the option “Bottom layers continues into infinity”.
      • Set the thickness of the buttom soil layer to 2x the width of the foundation.
        Example: a foundation is 10m wide, then the thickness of the buttom layer becomes 20m.
      • Set the stress tolerance to 0% ( > tab page Soil).
    • Upward water pressure: a table with soil layers is not suitable for FEM-calculations. So the soil layers are translated into functions. Each mesh node in the foundation, will have it’s function depending on the loads present in that mesh node… That’s why you have to choose a reference combination ( > tab page Soil). The loads in that reference combination will determine the behaviour of the soil function in that mesh node.
      Soil functions in Diamonds, can only be trained to do one thing: either understand how compressed soil works, or either understand how soil under tension works.

      By consequence: if you need the settlement in combinations that contains mainely vertical downward loads, you should take a reference combination that contains mainely vertical loads.
      If your model also contains combinations that mainely consist of vertical upward loads (water pressue) then you should redo the calculation a second time, using a reference combination that also contains mainely vertical upward loads.
      If you try to calculate a combination that consists mainely of vertical upwards loads, with a reference combinations that contains mainely vertical downward loads, that can lead to iteration problems.

    • If the model doesn’t calculate: leave the springs and continue the list below.
    F. User defined functions - Stiffness diagrams - Connections

    Test: remove 

    • Select all bars contains functions, rigidity diagrams or connections.
    • Click on  and choose .
    • At this point, you’ve removed all possible non-linearities. If you haven’t made a mechanisme, the model should calculate.

    Fix
    This is again a hard one to

    • In case of connections: try to calculate but only taking a part of the stiffness diagram into account (> option Behaviour of nolinear connections.
    • In case of user defined functions: if you’ve used the default setting ‘Free’, try to add a small value (= similar to what we do for a tie rod).
    • In general: if you’ve used a lot of functions/ connections, try to calculate the model with only the most important functions/connections.
  5. Once the model calculates, add any previous removed non-linearitie(s). Calculate the model after each addition to see of the newly added nonlinearity doesn’t cause trouble.

Was this article helpful?

Related Articles

Need Support?
Can't find the answer you're looking for? Don't worry we're here to help!
CONTACT SUPPORT