为什么ansys优化设计中总是一步就找到最优结果然后就不运算了

如题所述

几秒钟的优化过程结束后,让我们来看一下优化的结果: /opt optlist,all 图 3 优化结果 上图中左右带*的 SET 22 是最优解, 由此可以看出, 要想在表面积一定的情况下使水杯 容积最大,的确有这样一个规律 H=D=2*R。有兴趣的同志可以用求极值的方法演算一下, 一定会得到相同的答案。 ANSYS 的优化模块是用来求解工程分析中的优化例子的,但上面一个例子说明即使这样 于工程毫无关系纯数学极值问题,也能够轻松求解。不过在细节处会有一些技巧,后面再仔 细分析。 (其实用 ANSYS 的优化模块完全能解决数学上比较负责的极值问题,不过现在有了 Matlab、Mathematica,大概也没有人愿意来用 ANSYS 献丑了)。 1.2 ANSYS 优化设计基础 前面写了一个例子,来说明 ANSYS 的基本优化过程。在这一节中,我们结合这个例子 来说明一下优化模块中的一些概念。 优化模块中的三大变量: 1.2.1 优化模块中的三大变量: 设计变量( ) 设计变量(DV):即自变量。例子中的 opvar,R,dv,1,10,1e-2 就是用来定义一个设计变 量 R,其上限为 10,下限为 1,公差为 10-2(公差和优化过程的收敛有关)。ANSYS 优化 模块中允许定义不超过 60 个设计变量。 状 态 变 量 ( SV ) : 用 来 体 现 优 化 的 边 界 条 件 , 是 设 计 变 量 的 函 数 。 例 子 里 面 opvar,S,sv,,100,1e-2 就是定义了一个状态变量 S,它的上限为 100,无下限,公差为 10-2。从 文件 volu.inp 中可以看到,S=2*3.14*R*H+2*3.14*R*R。可见,定义这样一个状态变量,即 是限制水杯的表面积(可以认为表示材料的多少)不大于 100。在 ANSYS 优化模块中用户 可以定义不超过 100 个状态变量。 目标函数( 目标函数(OBJ):最终的优化目的。它必须是设计变量的函数,而且只能求其最小值。 ) 看到 volu.inp 里面目标函数的定义了吧 V=10000/(3.14*R*R*H),为了把求最大体积转化为 求最小值,只好对它求倒数了;如果知道目标函数的上限,还可以用一个大数减目标函数的 方法来转换。例子中 opvar,V,obj,,,1e-2 就是定义了一个目标函数 V,它的公差是 10-2。 1.2.2 ANSYS 优化模块中的两种求解模式 ANSYS 优化模块的求解有两种运行模式,一种是在 GUI 方式下运行,即已经打开 ANSYS 的分析界面后进行分析;另一种是 Batch 模式,无需打开 ANSYS 分析界面,后台运行求解。 前面例子的运行过程其实就是一个典型的 GUI 方式体现, 它涉及到两个重要的文件: 一 个就是类似 volu.inp 的 ANSYS 分析文件,如果是一个工程问题,该文件中应该有参数定 义、参数建模、求解、结果提取、目标函数赋值的一个全过程(由于优化求解是一个不断跌 代的过程, ANSYS 分析文件其实是包涵了一个完整的循环) 另一个文件是类似 optvolu.inp 。 的优化控制文件 基本语句就那么几条, 优化控制文件, 无非是定义三大变量、 优化方式、 优化控制等几条, 优化控制文件 用户拿过去稍稍替换下就可以用在不同的问题上。注: ( 细心的读者可能会提问, 既然 ANSYS 分析文件包涵了一个完整的循环, 但是整个优化过程中是要求设计变量不断改变的, 每次循 环都有一个参数重定义的过程, 不会使设计变量恢复初始值吗?这一点勿用担心, 正是由于 有了另一个优化控制文件,优化过程只在第一次进行完全的参数定义工作,在后续循环中。
温馨提示:答案为网友推荐,仅供参考
相似回答