diff --git a/Linear_TO/TO_Obj.py b/Linear_TO/TO_Obj.py deleted file mode 100644 index e3b6e2c..0000000 --- a/Linear_TO/TO_Obj.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -''' -@ Copyright (c) 2022 by Zeyu Zhang, All Rights Reserved. -@ Author : Zeyu Zhang -@ Email : zhangzeyu_work@outlook.com -@ Date : 2022-10-25 09:30:27 -@ LastEditTime : 2022-10-25 09:34:00 -@ FilePath : /ZZY_CODE/Env_JAX/IDRL/Linear_TO/TO_Obj.py -@ -@ Description : -@ Reference : -''' -import jax.numpy as jnp -from jax import jit - - -# @jit -def compliance(young, young_min, ke, xPhys_1D, edofMat, penal, disp): - ce = jnp.sum(jnp.matmul(disp[edofMat], ke) * disp[edofMat], 1) - ce = (young_min + xPhys_1D ** penal * (young - young_min)) * ce - obj = jnp.sum(ce) - return obj diff --git a/Linear_TO/image/TONR_Network.png b/Linear_TO/image/TONR_Network.png new file mode 100644 index 0000000..388221b Binary files /dev/null and b/Linear_TO/image/TONR_Network.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..60f6c12 --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ + +# Topology Optimization via Neural Reparameterization and Automatic Differentiation + +## Introduction +The rapid development of deep learning has brought new opportunities for the exploration of topology optimization methods. The combination of deep learning and topology optimization has become one of the hottest research fields at the moment. In this work, the neural network is directly used for topology optimization. The update of the design variables (pseudo-density) in the conventional topology optimization method is transformed into the update of the neural network's parameters, which is called **_Neural Reparameterization_**. The sensitivity analysis in the conventional topology optimization method is realized by the powerful **_Automatic Differentiation_** technology. + +![TONR_Network.png](https://cdn.nlark.com/yuque/0/2022/png/2749792/1667579895206-092a68b8-95f2-43fa-9eb1-3c7fe8a44913.png#averageHue=%23190d05&clientId=ua5033e87-1d9a-4&crop=0&crop=0&crop=1&crop=1&from=ui&id=ub6e7ca67&margin=%5Bobject%20Object%5D&name=TONR_Network.png&originHeight=593&originWidth=1943&originalType=binary&ratio=1&rotation=0&showTitle=false&size=105186&status=done&style=none&taskId=u6fd64eb9-ae53-40ea-9587-2de67e727e4&title=) + +## Codes +An educational code for structural topology optimization based on AuTONR. + + +## Running Requirement + +- Python +- Jax +- Jaxlib +- Optax +- Flax + + +## Citation +**Please contact to ** [zhangzeyu_work@outlook.com](zhangzeyu_work@outlook.com)
**Disclaimer**: The author reserves all rights but does not guarantee that the code is free from errors. Furthermore, we shall not be liable in any event. +```markdown +@article{Zhang_TONRExploration_2021, + title = {{{TONR}}: {{An}} Exploration for a Novel Way Combining Neural Network with Topology Optimization}, + shorttitle = {{{TONR}}}, + author = {Zhang, Zeyu and Li, Yu and Zhou, Weien and Chen, Xiaoqian and Yao, Wen and Zhao, Yong}, + year = {2021}, + month = dec, + journal = {Computer Methods in Applied Mechanics and Engineering}, + volume = {386}, + pages = {114083}, + issn = {00457825}, + doi = {10.1016/j.cma.2021.114083}, + langid = {english}, + } +``` +