Supplementary codes and datasets for "Modular-topology optimization of structures and mechanisms with free material design and clustering"

From MaRDI portal
Dataset:6699262



DOI10.5281/zenodo.6127587Zenodo6127587MaRDI QIDQ6699262FDOQ6699262

Dataset published at Zenodo repository.

Marek Tyburec, Martin Kružík, Jan Zeman, Martin Doškář

Publication date: 17 February 2022

Copyright license: Creative Commons Attribution 4.0 International



This repository supportsTyburec, M., Dokř, M., Zeman, J., Kružk, M. (2022). Modular-topology optimization of structures and mechanisms with free material design and clustering. Computer Methods in Applied Mechanics and Engineering, 395, 114977. https://doi.org/10.1016/j.cma.2022.114977(first published as preprint2111.10439 at arXiv.org). This repository contains: MATLAB source codes for (modular) free material optimisation and hierarchical stiffness clustering (folder ./mFMO/) C++ source codes for modular topology optimization (folder ./MTO/) Input/output data of the test suite (folder ./data/) 1. Data flow The test suite considered in the manuscript covers 4 problems: Messerschmitt-Blkow-Blohm beam (labelled as mbb) Inverter compliant mechanism (labelled as inv) Gripper compliant mechanism (labelled as grip) Reusable design of both compliant mechanisms (labelled as invgrip) Each problem in the dataset is stored within a separate subfolder named according to the labels mentioned above. The final level of subdirectories {X}color comprises of the results for problems with X denoting the number of edge codes considered for each edge direction during the clustering (0color stands for a non-modular design and 1color represents the design based on Periodic Unit Cell). Each of the folders contains outputs of the modular free material optimisation in the following form: {label}{X}.mat {label}{X}.til {label}{X}.tset {label}{X}guess.mat Files *.til, *.tset, and *guess.mat are then converted into a JSON input file for the modular topology optimization code with generator scripts which can be found in ./MTO/scripts folder. Note that each of the problems in the test suite has its own generator script generate_modular_problem_{MBB,inverter,gripper,inverterAndGripper}.mat. The generator scripts make a directory named according to the key MTO_{n}_kernelSensitivity, where n denotes the resolution of each module (i.e. the number of nodes along one direction). The directory also contains the outputs of the modular topology optimisation in the form of the initial and the final state of the optimization in VTK files and visualisation of the final state in SVG files. The log file log.txt stores the optimized objective and progress of the value along with stopping criteria quantities during iterations. 2. Running codes 2.1 Modular free material optimisation MATLAB scripts and functions for (modular) Free Material Optimization (FMO) are contained in the mFMO data folder. The codes have been tested with MATLAB R2019b. To run the codes the user is required to install the PENNON optimizer. A free academic license is provided by its authors on request. Input files for individual problems are defined in the mFMO/problems folder and are launched with the runproblem(problemName, numClusters), where problemName refers to the file in the mFMO/problems folder without the file extension and numClusters denotes the maximum number of color codes in Wang tiling formalism. If successful, the optimization produces output files in mFMO/fmo_fig/{label}/{X}colors/{T}/: {label}{X}.mat (contains clustering and tiling information) {label}{X}_tmp.mat (contains results of non-modular FMO) {label}{X}.til (the assembly plan) {label}{X}.tset (Wang tile set) {label}{X}guess.mat (guess for TO) where T is the optimization time stamp. 2.2 Modular topology optimisation All results were obtained with version v1.1.2, which is also provided in the folder MTO, and linked Intel oneAPI Math Kernel Library and the incorporated PARDISO sparse solver. For the recent development of the code see the open git repository at https://gitlab.com/MartinDoskar/modular-topology-optimization. The repository also contains a detailed description of input parameters and code design. Modular topology optimisation code uses CMake for the cross-platform build automation. For instance, under Linux, the whole code can be compiled in the standard five steps: cd ./MTO mkdir build cd ./build cmake -DCMAKE_BUILD_TYPE=Release .. make All executables are automatically stored in ./MTO/bin/ folder. Individual problems can be optimized by parsing the JSON files obtained from the generator scripts as an argument to the MTO.Application binary, e.g., ./MTO/bin/MTO.Application.exe path_to_data/mbb/2color/MTO_100_kernelSensitivity/input_modular_mbb_2colours_100.json Acknowledgement The related research and code development was supported by the Czech Science Foundation, project No. 19-26143X.







This page was built for dataset: Supplementary codes and datasets for "Modular-topology optimization of structures and mechanisms with free material design and clustering"