Skip to content

jnorato/RBTO_GP

Repository files navigation

RBTO-GP

version license matlab

A MATLAB code for Reliability-Based Topology Optimization (RBTO) with Dimensional and Positional Variability via Geometry Projection (GP) Method

Version 1.0.0 - November 2025


This repository contains the MATLAB implementation accompanying the paper:

Gu, Hongye; Behtash, Mohammad; Hu, Zhen; Hu, Chao; Norato, Julian A Geometry Projection Method for Reliability-Based Topology Optimization with Dimensional and Positional Variability. Structural and Multidisciplinary Optimization, 2025. (DOI: https://doi.org/10.1007/s00158-025-04218-1)

The code implements a reliability-based topology optimization method that considered dimensional and positional uncertainties in bar-like primitives for structural assemblies.

Deterministic topology optimization (DTO), single-loop first-order reliability method (FORM), and quantile-based reliability-based topology optimization (QRBTO) formulations are supported.

RBTO-GP


Features

  • Geometry Projection Method (GP) for bar-based structures
  • Deterministic topology optimization
  • Reliability-based TO, including:
    • FORM-based RBTO
    • Quantile-based RBTO (with UDR surrogate)
  • Supports 2D and 3D problems
  • Benchmark problems included (2D MBB, 3D cantilever, 2D inverter)

Repository Structure

RBTO-GP/
│── main.m # Main driver script 
│── run_rbtogp.m # Convenience wrapper script
│── run_optimization.m # Optimization workflow controller
│── run_benchmark_reliability.m # Reliability benchmarking (Monte Carlo)
│── setup_case_study.m # Convenience case configuration (MBB, cantilever, inverter)
│── GPTO.m # DTO
|
│── geometry_projection/ # Geometry projection routines for bar primitives
│── reliability_analysis/ # UDR, FORM, quantile evaluation
│── optimization/ # MMA/GCMMA and optimization utilities
│── FE_routines/ # Finite element solver and assembly
│── functions/ # Objective/constraint evaluations
│── mesh_utilities/ # Structured mesh tools
│── plotting/ # Plotting utilities
│── utilities/ # Helper functions

Instructions

Requirements

  • MATLAB R2021b or newer
  • No additional toolboxes required

Running an example

In MATLAB:

Select the case study and optimization mode inside main.m:

main.m

% setup case study: choose from {"mbb2d","canti3d","inverter2d"} 
case_study = "mbb2d"; 

% setup optimization mode: choose from {"Ref","DTO","SL_FORM","SL_QRBTO"}
% Ref: reference design
% DTO: deterministic topology optimization
% SL_FORM: single-loop first-order reliability method
% SL_QRBTO: quantile-based RBTO 
opt_mode = "DTO";  

Results (figures, VTK files, logs, .mat files) are saved automatically under output_files/.


📚 Citation

If you use RBTO-GP in your research, please cite the following paper:

Gu, H.; Behtash, M.; Hu, Z.; Hu, C.; Norato, J.A.
A Geometry Projection Method for Reliability-Based Topology Optimization with Dimensional and Positional Variability.
Structural and Multidisciplinary Optimization, 2025.
(DOI: https://doi.org/10.1007/s00158-025-04218-1

)

You may also cite this software using the metadata in the CITATION.cff file.


Acknowledgements

  • GPTO originally developed by Smith & Norato (2020)
  • GCMMA/MMA optimizer by Krister Svanberg

Contact

For questions and feedback, please contact:

Hongye Gu at University of Connecticut 📧 Email: hongye.gu@uconn.edu

About

Reliability-Based Topology Optimization with Dimensional and Positional Variability via Geometry Projection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages