Skip to content

This repository contains a simple 55 lines code to carry out large scale parallel Topology Optimization using FEniCS in python

License

Notifications You must be signed in to change notification settings

iitrabhi/topo-fenics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

topo-fenics

This repository contains a simple 55 line code written in python for 2D and 3D to carry out large-scale parallel Topology Optimization using the open-source package FEniCS.

Topology optimization of bridge

Abstract

This paper presents a 55-line code written in python for 2D and 3D topology optimization based on the open-source finite element computing software (FEniCS), equipped with various finite element tools and solvers. PETSc is used as the linear algebra back-end, which results in significantly less computational time than standard python libraries. The code is designed based on the popular solid isotropic material with penalization (SIMP) methodology. Extensions to multiple load cases, different boundary conditions, and incorporation of passive elements are also presented. Thus, this implementation is the most compact implementation of SIMP based topology optimization for 3D as well as 2D problems.

Detailed explanation could be found here.

Citation

If this code is useful for your research, please cite our publication.

@article{gupta55lineCodeLargescale2020,
title = {A 55-Line Code for Large-Scale Parallel Topology Optimization in {{2D}} and {{3D}}},
author = {Gupta, Abhinav and Chowdhury, Rajib and Chakrabarti, Anupam and Rabczuk, Timon},
year = {2020},
doi = {https://doi.org/10.48550/arXiv.2012.08208},
journal = {arXiv preprint arXiv:2012.08208},
}

About

This repository contains a simple 55 lines code to carry out large scale parallel Topology Optimization using FEniCS in python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages