Bristol Composites Institute

Logo

Bristol Composites Institute (ACCIS), University of Bristol, UK

View My GitHub Profile

Introduction

Check MMA Python tool was developed to investigate the Tosca TO solver’s density update process and recreate the conditions that caused instability and divergence using the simplest working example FE mesh and load case. Similar to the Tosca solver, “Check MMA” uses the adjoint method for calculating sensitivities using the stiffness matrices derived from each TO iteration’s material distribution. This involves extracting an equivalent single element’s stiffness matrix from each corner node’s contribution to the maximum-density global stiffness matrix and re-building the global stiffness matrix for each TO iteration’s material distribution. The sensitivity of the nodal displacements to changes in each element’s relative volume is then calculated as an input to the MMA process. The initial setup of the density update parameters follows the examples given in the original MMA method outlined by Svanberg [1]. This uses a stabilisation factor of 0.7 with the design variables from the Abaqus/Tosca solver iterations to preprocess the asymptotes and move limits through the TO. The density move limit parameter that is input into Abaqus/Tosca is actually used to calculate the initial asymptote values, with the move limits positioned at 90% of the way towards the asymptotes from the design variable.

Access

To receive access to the Check MMA repository, please send a short email to bci-github@bristol.ac.uk to let us know your interest.

Access is granted on the condition that you agree for us to contact you about your use of the software.

You can click here for a template.

References

[1] Krister Svanberg., The method of moving asymptotes—a new method for structural optimization., doi: 10.1002/nme.1620240207