理论教育 ANSYS13.0入门实战:定义和控制优化过程

ANSYS13.0入门实战:定义和控制优化过程

时间:2023-10-25 理论教育 版权反馈
【摘要】:ANSYS有7个命令定义和执行拓扑优化:TOFREQ,TOCOMP,TOVAR,TOTYPE,TODEF,TOEXE和TOLOOP。在线性结构分析中使用TOCOMP命令为单一或多载荷工况定义柔度函数。首先,进行最基本的拓扑优化。定义完拓扑优化函数后,如果需要进一步确认定义的所有拓扑优化函数,可以利用列表方式显示当前定义的所有拓扑优化函数,命令:TOLISTGUI:Main Menu|Topological Opt|Advanced Opt|List Functions2.定义目标函数和约束条件下一步就是为拓扑优化指定目标函数和约束条件。表27-1 允许定义的目标函数和

ANSYS13.0入门实战:定义和控制优化过程

拓扑优化过程包含4个步骤:定义拓扑优化函数,定义拓扑优化目标函数和约束条件,初始化拓扑优化和执行拓扑优化。第4步即执行拓扑优化,有两种方式进行:控制并执行每一次迭代或自动进行多次迭代。

ANSYS有7个命令定义和执行拓扑优化:TOFREQ,TOCOMP,TOVAR,TOTYPE,TODEF,TOEXE和TOLOOP。TOCOMP和TOFREQ命令用于定义拓扑优化函数;TOVAR命令用于定义拓扑优化的目标函数和约束条件;TOTYPE命令用于定义拓扑优化求解时所用的方法;TODEF命令用于在拓扑优化过程中定义收敛公差及初始化;TOEXE执行一次拓扑优化迭代;TOLOOP执行多次拓扑优化迭代。

注意:当用户定义好拓扑优化参数后,执行一次或多次拓扑优化迭代前,必须先对问题进行求解(SOLVE)。如果不对问题进行求解,当执行一个拓扑优化步时,程序将弹出错误信息。TOLOOP命令用于执行求解。

1.定义优化函数

首先要在拓扑优化问题中定义优化函数。在线性结构分析中使用TOCOMP命令为单一或多载荷工况定义柔度函数。与此相反,TOFREQ命令是为了定义固有频率类型函数。对于每一个拓扑函数,一定要指定一个唯一的参考名称。使用TOCOMP,RefName或TOFREQ,RefName命令删除一个拓扑优化函数。

下面给读者做详细解释定义拓扑优化函数。首先,进行最基本的拓扑优化。此时只能进行基于载荷工况的刚度最大化拓扑优化(不能进行基于频率和多载荷工况的拓扑优化)。

GUI:Main Meuu|Topological opt|set Up|Basic opt

弹出基本拓扑优化(Basic Topological optimization)对话框,设置选项分别为:Load casenumber,输入拓扑优化基于的静力求解载荷工况号;Percent volume reduct'n,输入结构体积缩减百分数。

第二种方法,高级的拓扑优化方法。

GUI:Main Menu|Topological Opt|Advanced Opt|Topo Function

利用其下级子菜单进行拓扑优化设计,并且允许选用ANSYS提供的所有拓扑优化方法。各种拓扑优化方法的具体意义参见下面的解释。

1 Loadcase compl:选择该项表示基于1个静力求解载荷工况的拓扑优化函数进行优化分析,单击OK则弹出第二层对话框,其中Functionname项输入指定的参考函数名(以下相同),Load case number项输入载荷工况编号,然后单击OK。

N Loadcase compl:选择该项表示基于N(|=2)个静力求解载荷工况加权求和的拓扑优化函数进行优化分析,单击OK则弹出第二层对话框,Function name项输入函数名,Numberofloadcases项输入参与加权求和的载荷工况总数,Array of weight factor项选择Yes表示所有求和项的加权系数均取1/NUMLC(工况总数的倒数),默认设置为NO表示多载荷工况的加权系数由预先定义好的数组给定,此时单击OK弹出第二层对话框,选中Array of weight factors列表中的权系数数组,单击OK。

Single frequency:选择该项表示基于单个模态结果的拓扑优化函数进行优化分析,单击OK则弹出第二层对话框,Function name项输入函数名,Mode number项输入指定用于拓扑优化的模态频率编号,然后单击OK。

N freq weighted:选择该项表示基于N(|=2)阶模态频率加权求和函数进行拓扑优化分析,单击OK则弹出第二层对话框,Function name项输入函数名,Number of modes项输入参与加权求和的模态频率总数,Frequency weights项选择Yes表示所有求和项的加权系数均取1/NFREO(模态总数的倒数),默认设置为NO表示多模态频率的加权系数由预先定义好的数组给定,此时单击OK弹出第二层对话框,选中Array of weight factors列表中的权系数数组,单击OK。

N freq reciprocal:选择该项表示基于前N阶模态频率与指定目标平均频率差的倒数加权求和函数进行拓扑优化分析,单击OK按钮则弹出第二层对话框,Function name项输入函数名,Number of modes项输入参与加权求和的模态频率总数,Mean freq target value项输入指定的平均频率目标值,Frequency weights项选择Yes表示所有求和项的加权系数均取1/NFREO(模态总数的倒数),默认设置为NO表示多模态频率的加权系数由预先定义好的数组给定,此时单击OK则弹出第二层类似的对话框,选中Array of weight factors列表中的权系数数组,单击OK。

N freq Euclidean:选择该项表示选择基于前两阶或更多阶模态结果的欧几里得准则函数进行拓扑优化分析,单击OK按钮则弹出第二层对话框,Function name项输入函数名,Number of modes项输入参与欧几里得准则函数的模态频率总数,Array of target freq's项是选择预先定义的存储目标频率值的数组(维数大于等于参与优化的模态频率总数),在Select existing array列表中选择目标频率存储数组,单击OK按钮。

定义完拓扑优化函数后,如果需要进一步确认定义的所有拓扑优化函数,可以利用列表方式显示当前定义的所有拓扑优化函数,

命令:TOLIST

GUI:Main Menu|Topological Opt|Advanced Opt|List Functions

2.定义目标函数和约束条件

下一步就是为拓扑优化指定目标函数和约束条件。ANSYS程序提供一个专门用于预定义总体积的拓扑函数,即VOLUME,它既可用于目标函数,也可以用于约束条件。另外,目标函数和约束条件必须按照表27-1所示进行匹配才有效。

表27-1 允许定义的目标函数和约束条件组合

978-7-111-35546-5-Chapter27-5.jpg

首先定义拓扑优化的目标函数,并且必须在定义拓扑优化约束条件之前先行定义。

GUI:Main Menu|Topological Opt|Advanced Opt|Topo Objective

在弹出的对话框中选择Name of objective func列表中的函数之一,然后单击OK。

定义一个或多个拓扑优化约束条件。

GUI:Main Menu|Topological Opt|Advanced Opt|Topo|TopoConstraints

其下有3个子菜单,分别如下。

By Percentage:按照缩减百分数定义约束条件。选择该子菜单项,从Name of constraint func函数列表中选中一个已定义的函数,单击OK,弹出对话框中,在Percent volume reduct'n项输入函数缩减的百分数数值,单击QK。

By Value:指定函数的取值范围,即上下限定义约束条件。选择该子菜单项弹出对话框,从Name of constraint func函数列表中选中一个已定义的函数,在Minimum value desired项输入函数取值范围的下限,在Maximum value desired项输入函数取值范围的上限,单击OK。

Delete:删除已定义的约束条件。选择该子菜单项弹出对话框,从Name of constraint函数列表中选中一个已定义的函数,单击OK删除它。

如果需要改变已定义的目标函数和约束条件,进行重定义即可。

下面是一个单柔度极小化的拓扑优化实例,显示如何定义目标函数和约束条件,目标是使体积减小50%。

978-7-111-35546-5-Chapter27-6.jpg

978-7-111-35546-5-Chapter27-7.jpg

如果需要了解拓扑优化定义函数的状态以及结果信息,如最终体积、迭代数和收敛状态等,可采用如下方法。(www.daowen.com)

命令:TOSTAT

GUI:Main Menu|Topological Opt|Advanced Opt|Status

Main Menu|Topological Opt|Status

3.求解和开始优化

定义完优化参数后,就可以求解了。用户必须在执行拓扑优化之前求解问题。

命令:SOLVE

GUI:Main Menu|Solution|Solve|Current LS

注意:实际进行拓扑优化分析的过程中,并不需要真正进入求解器进行静力或模态频率求解。在定义拓扑优化函数的过程中已经明确规定求解是单步求解还是多步求解,在接下来的执行单次拓扑优化迭代计算或自动执行多次拓扑优化迭代计算中,程序会自动执行相应的静力或频率求解计算。

在设定完拓扑优化后,用户可以选择求解方法去求解优化问题。

命令:TOTYPE,

GUI:Main Menu|Topological Opt|Run

在弹出的对话框进行如下设置。

Solution approach:选择拓扑优化的计算方法,程序提供了两种方法:一是Optimality,即优化准则法(Qptimality Criteria:OC);二是Sequential,即和连续凸函数寻优法(Sequential Convex Programming:SCP)。OC方法只用于以体积作为约束条件的问题;SCP方法可用于所有目标函数和约束条件的匹配问题。

Convergence tolerance:拓扑优化计算时,程序终止优化迭代的收敛精度准则值,默认是0.0005。

自动执行多次迭代拓扑优化求解(TOLOOP命令),需要设置如下选项。

Number of iterations:指定拓扑优化循环迭代的总次数,默认是l,表示执行单次迭代拓扑优化,设置为大于或等于2时表示执行多次迭代拓扑优化求解,但每次设置的最大迭代次数不能超过100。

Plot density@eachiter:设置在优化迭代过程中是否每次迭代时重新刷新拓扑优化密度分布显示图形结果,设置为Yes表示每次迭代刷新显示,设置为Na则表示不刷新显示。

最后,单击OK,开始执行拓扑优化迭代求解。

注意:该步骤所定义的内容不会存入到ANSYS数据库中,当利用RESUME命令重新恢复已有数据库后,如果需要执行下一个拓扑优化,那么必须重新执行拓扑优化的所有过程,如定义优化函数、目标函数、约束条件和初始化拓扑优化设置,即重新执行以上所有步骤。

该步骤首先进行静力或模态频率求解,然后进行初始化拓扑优化设置,包括拓扑优化方法的选择和收敛精度的设置。

4.执行单次迭代

定义好优化参数后,可以执行一次单步拓扑优化迭代计算,之后就可以查看迭代收敛状态,并绘制或列表显示当前的拓扑优化结果,还可以继续进行其他拓扑优化迭代计算,直至获得自己希望的拓扑优化结果。

执行单步拓扑优化迭代计算,ANSYS并没有提供直接的菜单路径供使用,只能使用TOEXE命令进行。TOEXE命令进行拓扑优化的主要优点是用户可以设计自己的迭代宏,进行自动拓扑优化循环过程,并绘制所需的过程参数和结果参数的图形。

下面的例子说明了如何在拓扑优化中每次执行一次迭代:

978-7-111-35546-5-Chapter27-8.jpg

下面是另一个实例,演示执行单步拓扑优化迭代计算的过程,是每次进行单步拓扑优化迭代,进行一个频率极大化的问题。

978-7-111-35546-5-Chapter27-9.jpg

978-7-111-35546-5-Chapter27-10.jpg

5.自动执行多次迭代

定义好优化参数后,可以自动执行多次拓扑优化迭代,之后就可以查看迭代收敛状态,并绘制或列表显示当前的拓扑优化结果。还可以继续进行其他拓扑优化迭代计算,直至获得理想的拓扑优化结果。

ANSYS提供自动执行多次拓扑优化迭代计算命令TOLOOP,它实际是一个ANSYS的宏命令

GUI:Main Menu|Topological Opt|Run

需要设置两个宏命令参数:迭代次数和选择是否每次迭代绘制拓扑密度分布图。在实际迭代优化过程中,每次迭代优化执行一次LSSOLVE;命令、一次TOEXE命令、一次PLNSOL命令以及一次TOPO显示(选项)命令。当迭代计算的收敛值达到指定的收敛精度或最大迭代次数达到指定的优化迭代总次数时,拓扑优化计算将终止迭代计算。

下面的例子说明了如何使用TOPITER宏执行多次迭代:

978-7-111-35546-5-Chapter27-11.jpg

每次迭代执行一次LSSOLVE命令,一次TOPEXE命令和一次PLNSOL,TOPO显示命令。当收敛公差达到(用TOPDEF定义)或最大迭代次数(用TOPITER定义)达到时优化迭代过程终止。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈