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:

- check if the message can be neglected

When can the message be neglectedYou can neglect the message, if it only appears for the loads cases while the combinations ULS, SLS calculate just fine.

**Why:**In some cases it is logical that the structure doesn’t 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 .

- 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. - 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 beam (for example: 150 000kN/m²).

**Fix**- If the model doesn’t calculate: leave the springs and continue the list below.
- If the model does calculate: try to calculate the model with the following settings ( > tab page
*Soil*):-
- set the
*Stress Tolerance*to 0% - set the
*Maximum number of iterations*to 2 or 3 - set the
*Reference load groups /combination*to ‘SLS QP1’.

But make sure SLS QP 1 doesn’t contain a predominant upward water pressure. If it does, pick a SLS QP combination that doesn’t.

- set the

If the model still doesn’t calculate after this, try again with

*Reference load groups /combination*set to SLS RC 1 (not containing upward water pressure).If the model still doesn’t calculate, it might be caused by an iteration problem: the entered soil layers are translated into functions describing the soil behaviour. You can compare these functions with the stiffness diagram of a connection.

There is a possibility that Diamonds will keep iterating between 2 branches on that stiffness diagram and not get out of that loop. To test whether this is the cause of the “no convergence after 50 iterations issue”, you should calculate the model with the setting*Maximum number of iterations*= 2. Then once with = 3 iterations and once with = 4 iterations. If the results are (almost) independent of the number of iterations, you can ignore the message. -

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.

- 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.