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 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
.
- Click on
- Check if you didn’t apply too many internal hinges.
- 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 wallsTest: 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 rodsTest: 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 compressionTest: 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 layersTest: 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 - ConnectionsTest: 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.
- Click on
- 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.