当前位置: X-MOL 学术Struct. Multidisc. Optim. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Flexible framework for fluid topology optimization with OpenFOAM® and finite element-based high-level discrete adjoint method (FEniCS/dolfin-adjoint)
Structural and Multidisciplinary Optimization ( IF 3.9 ) Pub Date : 2021-09-26 , DOI: 10.1007/s00158-021-03061-4
Diego Hayashi Alonso 1 , Luis Fernando Garcia Rodriguez 1 , Emílio Carlos Nelli Silva 1
Affiliation  

In order to implement the topology optimization method, it is necessary to simulate the fluid flow dynamics and also obtain the sensitivities with respect to the design variable (such as through the adjoint method). However, more complex fluid flows, such as turbulent, non-Newtonian, and compressible flows, may turn the implementation of these two aspects difficult and non-intuitive. In order to solve this deadlock, this work proposes the combination of two well-known and established open-source softwares: OpenFOAM® and FEniCS/dolfin-adjoint. OpenFOAM® already provides efficient implementations for various fluid flow models, while FEniCS, when combined with the dolfin-adjoint library, provides an efficient and automatic high-level discrete adjoint model. There have been various attempts for obtaining the adjoint model directly in OpenFOAM® , but they mostly rely on the following: (1) manually deducing the adjoint equations, which may become a hard and cumbersome task for complex models; (2) C++ automatic differentiation tools, which are generally computationally inefficient; and (3) finite differences, which have been developed for shape optimization (not topology optimization, where there are many more design variable values). Nonetheless, these approaches generally do not provide an easy setup, and may be fairly complex to consider. The FEniCS platform does not provide any fluid flow model out of the box, but makes it fairly simple to “simplistically” define them. The main problem of the FEniCS implementation and even implementations “by hand” (such as in C++, Matlab® or Python) is the convergence of the simulation, which would possibly require fairly complex adjustments in the implementation in order to reach convergence. Therefore, the combination proposed in this work (OpenFOAM® and FEniCS/dolfin-adjoint) is a simpler but efficient approach to consider more complex fluid flows, countering the difficult adjoint model implementation in OpenFOAM® and also the convergence issues in FEniCS. The implemented framework, referred as “FEniCS TopOpt Foam”, can perform the coupling between the two softwares. Numerical examples are presented considering laminar and turbulent flows (Spalart-Allmaras model) for 2D, 2D axisymmetric, and 3D domains.



中文翻译:

使用 OpenFOAM® 和基于有限元的高级离散伴随方法 (FEniCS/dolfin-adjoint) 进行流体拓扑优化的灵活框架

为了实现拓扑优化方法,需要对流体流动动力学进行模拟,并获得对设计变量的敏感性(例如通过伴随方法)。然而,更复杂的流体流动,如湍流、非牛顿流体和可压缩流动,可能会使这两个方面的实现变得困难和不直观。为了解决这个僵局,这项工作提出了两个知名且成熟的开源软件的组合:OpenFOAM ®和 FEniCS/dolfin-adjoint。开放泡沫®已经为各种流体流动模型提供了有效的实现,而 FEniCS 与 dolfin-adjoint 库结合时,提供了一个高效且自动的高级离散伴随模型。一直以来都有直接在OpenFOAM获得伴随模式的各种尝试®,但它们主要依赖于以下几点:(1)手动推导伴随方程,对于复杂模型,这可能成为一项艰巨而繁琐的任务;(2) C++自动微分工具,一般计算效率低;(3) 有限差分,它是为形状优化而开发的(不是拓扑优化,那里有更多的设计变量值)。尽管如此,这些方法通常不提供简单的设置,并且考虑起来可能相当复杂。FEniCS 平台不提供任何开箱即用的流体流动模型,但使“简单化”定义它们变得相当简单。的FENICS执行,甚至实现“手动”(如在C ++中,Matlab的主要问题®或 Python) 是模拟的收敛,这可能需要在实现中进行相当复杂的调整才能达到收敛。因此,这项工作中提出的组合(OpenFOAM ®和 FEniCS/dolfin-adjoint)是一种更简单但有效的方法来考虑更复杂的流体流动,解决 OpenFOAM ® 中难以实现的伴随模型以及 FEniCS 中的收敛问题。实现的框架,称为“FEniCS TopOpt Foam”,可以执行两个软件之间的耦合。给出了考虑 2D、2D 轴对称和 3D 域的层流和湍流(Spalart-Allmaras 模型)的数值示例。

更新日期:2021-09-28
down
wechat
bug