Hello, I recently start trying Kiwi3d. First of all, thanks for sharing such a fantastic plugin!
But I’m having hard time setting up my first model, especially the self-weight.
The material has a “density” slot. So I asssumed the self-weight is computed based on density.
But nothing happened. So, I added a surface-load component (Type=DEAD) and I got an expected result.
Is this correct? the self-weight is considered only if you add a surface-load that simulate self-weight?
In that case where the “density” parameter in material is used?
Hey,
Self-weight is only considered if you add a respective load component. That is correct.
The current release does not yet use this input directly but we are planning to release an eigenform analysis component in the next version where the mass matrix is needed.
Hi Anna,
Thanks for Kiwi! I’m just starting with Kiwi and I’m comparing results with Karamba.
I’m also setting up a shell with self-weight and can’t figure out which value to use in the V input in SurfaceLoad. Is it supposed to take the value for load/area? or just density? …
Do you have an example file for surface load?
Also, is there Kiwi documentation anywhere online?
Thanks in advance kiwibug.gh (111.0 KB)
Hey,
it should be load/area for a shell or membrane. So V = density * thickness * g. You also have to take care of the units. Density[kg/m^3] * g[m/s^2] yields the specific weight [N/m^3] but your other values might be given in kN or mm. The material default component returns actually the specific weight in kN/m^3 despite the chosen output units (bug). So here we are still quite inconsistent as it is rarely needed used in the release version.
In the old version, there is a short documentation in the downloaded folder. It is missing in the current one. I will update this as soon as possible. Documentation_Kiwi3d_BETA050.pdf (763.4 KB)
The default material component with Steel outputs “78.5” as the density.
I assume this is 78.5kN/M3. This means it does not need to be multiplied by ‘g’. (and it needs to be multiplied with thickness when plugged in to the surface load component)
I already noticed this is what you meant in the last post but want to double-confirm, since I’m using Kiwi in my research now.
This is correct. As for now, the mass is not directly considered in the analysis. We use it only for deriving loads. So the output of D is actually the specific weight in kN/m^3 and not [kg/m^3]. The naming is not correct. We never thought about this issue and will probably change it in the upcoming version. In the current version, it only needs to be multiplied with the thickness or cross sectional area for considering the weight in the analysis by an additional load.
So, V = (density * g) [kN/m^3] * 1000 [N/kN] * thickness [m],
and in that case is the unit expected by V in SurfaceLoad N/m^2?
I’m testing it in my file (attached), comparing the calculated total self weight (~96kN) with the results of SupportForces component. However, I’m getting very divergent values, namely 5.9e6 (I’m assuming it’s Newton, equivalent to 5.9e3kN).
Another thing I noticed is that the sum of support forces actually is dependent on the Surface Refinement values (10 >> 5.9e6; 20 >> 1.2e7), shouldn’t it be independent?
About units, IMO units should always be SI, independently of what is commonly used. I say this from having similar problems when using other plugins, e.g. Karamba. In their case, they circumvent the problem by being explicit in all inputs and outputs, but sticking to SI would be an even better solution and avoid a number of problems.
Anyway, besides getting help in making my model work, my intention is not to complain about Kiwi, which in fact I’m enjoying, but rather to potentially contribute to its improvement in future versions.
Thanks again
The units in Kiwi are not defined. You can choose them and apply them consistently. SI-units is one possibility. Only the MaterialDefault component has defined units since it provides some material values that have to have units as Kiwi cannot know what you intended. You can adapt the units of the values by right-clicking onto the component. This option currently only modifies the Young’s Modulus and yield strength. We forgot to adapt the specific weight when choosing other units than kN/m. (In the future, there will be Eigenfrequencyanalysis and we will have to change this to a real mass density.)
For your example: you don’t need the multiplication by 1000 if the Young’s modulus is kN/m^2 (provided by the MaterialDefault component)
Regarding the support forces: if it is a edge support, the sum is meaningful. It should be interpreted like internal forces of e.g. a beam. The lines depict the distribution. If you connect the end points of the support forces, you get the same line for both refinements.
The total support forces can be checked by integrating along this distribution, see kiwibug_supportforces.gh (111.8 KB). This is not very nice. If such a feature is important, we have to think about a solution. Giving the force an absolute value that you can sum up has the disadvantage that you have to know the influence area for getting the distributed support force which might not be so intuitive in other cases.
Wow thanks Anna for the reply GH file!
I see you’re a fan of graphical integration - me too
I made a couple of adjustments to the code to make it more GH friendly. kiwibug_supportforces2.gh (76.6 KB)
About the units, yes you’re right, if it is possible to have the user decide on units let them!
In terms of importance of continuous support forces, I’ve been trained (very recently) so that one of the first checks to make sure the model is correct is to compare total loads with total reactions. So, in my particular case - using a combination of shells and edge supports - it is a nice feature to have.
For the future: I thought about it and added an output returning the weight of each force. The product of the two outputs is the absolute force. This can also be used for applying these support forces as point loads onto a support structure.
I need to compute the total vertical reaction force for the attached model. I expect the result to be 1 [N/mm2] x 5000 [mm] x 10000 [mm] = 50000000 [N] but I found different result and the total reaction depends on the surface refinement.
Could someone explaine to me what happened?
Thank you very much!
I think the problem is related to your dimensions. The structure is 5x10 but the thickness is 1000. This leads to unreasonable results as thin shells are assumed. The length unit in the model and your input has to be the same. If the thickness is set to one, it works.
However, there might be also a change when refining your structure if the refinement level is not appropriate for your model. The result should converge towards the correct result for increased refinement. So if it changes, your refinement was not fine enough.