karamba3d / K3D_NightlyBuilds

Nightly build versions of Karamba3d
https://karamba3d.com
25 stars 2 forks source link

BUG: Shell optimization produces incorrect mass and reaction forces #72

Closed MCFormatEng closed 1 year ago

MCFormatEng commented 1 year ago

Describe the bug When optimising shells using cross sections with different materials, the results of mass, reaction force, and element material are incorrect but only when a GroupId of the whole mesh element is provided to the optimiser.

Notes Karamba Shell Optimisation Bug_230510.zip

I've attached a script were I've isolated and tested the problem. In this script we've created two different materials: the first represents a normal steel plate (name:'Plate-THK 6mm-0 % Perforated') and the second is perforated steel plate (Plate-THK 6mm-50 % Perforated). The material of the perforated steel has a reduced density, stiffness and strength.

I've set up the optimisation analysis so that the plate thickness with and without the 'GroupIDs' is the same. However, toggling the GroupIDs shows that the model mass and reaction forces change, while the plate thickness and SW displacement stays the same (this would change if the material changes due to the change in density and stiffness).

To Reproduce Steps to reproduce the behavior:

  1. Create a shell model where the elements will not be highly stressed.
  2. Give the shell element an ID
  3. Create two shell cross section with different materials (including different densities). Also use subtly different thicknesses in each cross section to see the change in thickness created by the optimiser.
  4. Provide the shell element with heaviest material cross section.
  5. Optimise the shell with cross sections using different materials
  6. Provide the shell ID to the 'GroupIDs' input of the optimiser.
  7. Compare the mass with and without the GroupIDs.
Clemens-Preisinger commented 1 year ago

Thanks for the bug-report! I will take care of it asap.

Clemens-Preisinger commented 1 year ago

The bug is fixed in version 2.2.0.18.