Some concrete shell questions

I am currently doing some studies on funicular unreinforced concrete shells. One of the most important things is of course to interpret the results correctly, especially with a brittle material like concrete. As I am now digging into this topic, some basic questions arose:

  1. One has to be careful as for example the Utilisation visualisation of the ShellView of Karamba is not valid for materials like concrete as it based on the Van-Mises yield criterion (see manual). If this is the case wouldn’t it make sense to script the ShellView in a way where it turned orange indicating that one should be careful what failure criterion is being used?

  2. As indicated by the native material definition in Karamba the Rankine hypothesis is used for concrete. This means that the principal stresses are of primary interest AFAIK. However displaying all relevant stresses become a bit cumbersome as one has to check first and second principal stresses as well as upper and lower layer resulting in 2²=4 different display-meshes. Is there a reason why the utilisation component displays a “thickened” mesh simultaneously displaying upper and lower layer, while the principal stress display doesn’t do that?

  3. Is it also a valid approach to just check the respective maximum principal stresses via the ShellVecResults component and see if they are below the allowable stresses (fc & ft)? Or to ask this question more broadly: What stresses/parameters should one check in order to validate the structural behaviour of a funicular unreinforced concrete shell?

Thanks a lot! Cheers,

Hello @rudolf.neumerkel,
ad 1.) in Karamba 2.2.0 the utilisation output of the ShellView-component is the ratio between equivalent stress and strength. The corresponding entry in the manual was not correct. Thanks for the hint!
ad 2.) The reason why there is only one value for equivalent stresses is that they do not have a sign. In order to have a similar ‘utilization’-output for shells and beams the utilization for shells is signed. Therefore the display on upper and lower side of the shell cross sections.
ad 3.) For unreinforced concrete compare the principal stresses with ft and fc. This is also what the CroSecOpti-component does.
– Clemens

  1. Got it, so Karamba is automatically using the correct equivalent stress according to the respective material chosen and dividing it by the strength?
    So for Mises:
    and for Rankine:

  2. I think you misunderstood my point: Just as the utilization view shows a thickened mesh with a respective upper and lower layer, it would be cool if Karamba could also have to option to show principal stresses on the upper and lower layer as a thickened mesh as well.

  3. Thanks!

A fourth question:

The shell forces component gives principal or local stresses. However, one cannot define a layer ranging from -1 to 1.
Are the resulting stresses an average of the stresses on the whole section of the shell?


Hello @rudolf.neumerkel
thanks for your remarks!
ad 1.) Yes, k3D choses the equivalent according to the material.
ad 2.) I see. The question is how to adapt the user interface. One option would be an additional button to switch to display of stresses at upper/lower side which would disable the ‘Position of results’-slider. This however makes the ShelllView-Component a bit more complicated to use. Another option would be to display the shell results at the position of the layer and not at the center. In this way two ShellView-components could be used to achieve the same effect without additional UI-elements. I have to discuss this with my colleagues.
ad 3.) You are welcome! Thanks for your feedback!
ad 4.) The distributed cross section forces result from integrating the stresses over the height of the cross section. They are the stress resultants with respect to the middle-plane. Therefore no layer position is needed.
– Clemens

Sure thing, it is a pleasure to be potentially helpful.

  1. :+1:t4:

I agree, maybe there is a way to implement this in a way that is not adding complexity to the Karamba UI. Maybe by inputting a single True/False-value? Staying with this logic, one could however ask, why a “thickened mesh” is displayed with the utilization display in the first place. Maybe this additional True/False-value could also enable the possibility to display each layer from -1 to 1 (like the principal stress display). Maybe this addition would make the ShellView component more coherent actually (spontaneous thought).

  1. :100:
  2. Got it, but just what exactly do you mean by “with respect to the middle-plane”?


Hello @rudolf.neumerkel,
thanks for you suggestion under 2.), I added it to the roadmap.
Ad 4.) With respect to the middle plane means, that the calculation of the distributed moments involves ‘x * sigma * dA’ where x is the distance from the middle plane.
– Clemens

Got it thanks for clarification!