Beams2D#

Version |
0 |
Design space |
|
Objectives |
c: ↓ |
Conditions |
volfrac: 0.35 rmin: 2.0 forcedist: 0.0 overhang_constraint: False |
Dataset |
|
Import |
|
Beam 2D topology optimization problem.
Problem Description#
Beams2D is a structural topology optimization (TO) problem that optimizes a 2D Messerschmitt-Bölkow-Blohm (MBB) beam under bending. The beam is symmetric about the central vertical axis, with a force applied at the top; only the right half is modeled in our case. Problems are formulated using density-based TO, drawing from an existing Python implementation.
Design Space#
The design space is an array of solid densities in [0., 1.]
with default image shape (100, 50)
, where nelx = 100
and nely = 50
. Internally, this is represented as a flattened (5000,)
array. Alternative shapes include (50, 25)
for faster computation and (200, 100)
for higher-resolution results. Corresponding datasets for these three resolutions are provided.
Objectives#
The goal is to optimize the distribution of solid material to minimize compliance (equivalently, maximize stiffness) while satisfying constraints on material usage and minimum feature size.
The objectives are defined and indexed as follows:
c
: Compliance to minimize.
Conditions#
The following input parameters define the problem conditions:
volfrac
: Desired volume fraction of solid material.rmin
: Minimum feature length of beam members.forcedist
: Fractional distance of the downward force from the top-left (default) to the top-right corner.overhang_constraint
: Boolean flag to enable a 45-degree overhang constraint for manufacturability.
Simulator#
Compliance c
is calculated using:
c = ((Emin + xPrint**penal * (Emax - Emin)) * ce).sum()
where xPrint
is the current true density field, penal
is the penalization factor (e.g., 3.0), and ce
is the element-wise strain energy density.
Dataset#
Three datasets, each corresponding to a different resolution, are available on the Hugging Face Datasets Hub.
v0#
Fields#
Each dataset contains:
Optimized beam structures,
The corresponding condition parameters,
Objective values (compliance),
Full optimization histories (for advanced use).
Creation Method#
Datasets were generated by uniformly sampling the condition space. The resolutions used are:
(50, 25)
(100, 50)
(200, 100)
A more comprehensive description of the creation method can be found in the README.
References#
If you use this problem in your research, please cite the following paper: E. Andreassen, A. Clausen, M. Schevenels, B. S. Lazarov, and O. Sigmund, “Efficient topology optimization in MATLAB using 88 lines of code,” in Structural and Multidisciplinary Optimization, vol. 43, pp. 1-16, 2011.
Lead#
Arthur Drake @arthurdrake1