在结构可靠性分析中,代理模型法是很重要的一种方法,包括响应面法、Kriging等,我这两年一直在学这方面的知识,尤其是刚开始的时候,在网上很难找到资料,看论文是最好的方法。这里是我对响应面法的一些理解,及其主要内容。
背景
传统工程设计以安全因子来保证结构的稳定,例如,通常以结构的强度和应力的比值作为安全因子值。但是现实生活中强度和应力这些参数并不是一个常数,是随机的,这就导致传统的安全因子法给出的结果不太可信。
而概率分析方法就是用随机变量对应力、强度等参数进行建模(正态分布,威布尔分布等),然后计算其失效概率。
那么怎么定义失效呢。比如说:对于一个桁架结构,在外力的影响下,我们怎么判定他在什么情况下是失效的呢?这是工程师的前期工作,比如假设某一关键节点的位移大于某一值,我们就判定该结构是失效的。这并不是响应面法的重点,便不做介绍了。
假设我们已知失效的标准了,那么我们假设,随机扰动因素为向量X,记结构响应为Y,则Y与X之间可用一隐式函数关联,即
Y = G ( X ) Y=G(X) Y=G(X)
我们假设Y<0为失效,Y>0为正常,那么Y=0就是一个临界状态,也称极限状态。而概率分析的主要目的是,找到结构的失效概率,即
P ( Y < 0 ) = P ( G ( X ) ) < 0 P(Y<0)=P(G(X))<0 P(Y<0)=P(G(X))<0
这么看来, G ( X ) = 0 G(X)=0 G(X)=0就是一个分界,而且相当重要了。所谓代理模型法就是找到这个分界,并用简单的显式函数进行替代。
那么为什么不直接对结构进行操作,而要用代理模型呢,因为当结构胶复杂时,我们很难得到结构的响应Y与随机扰动X的显式表达式,那么我们就要用到ANSYS等有限元软件计算,而这些软件的计算是很耗时的,而且我们用Monte Carlo仿真时一般要用105~107次左右,这极大地增加了我们的计算负担。因此,我们要用代理模型表达结构的响应,即用代理模型的结果来替代ANSYS计算的结果。而且我们只关心响应值 G ( X ) G(X) G(X)是否小于0,对其真实响应值是1还是1000并不关心,因此G(X)=0的临界就十分关键。所以代理模型的关键就是对隐式函数 G ( X ) = 0 G(X)=0 G(X)=0的显式精确表达。这一点在Kriging算法中体现的尤为明显。
一般代理模型的主要步骤是,选取试验点,用ANSYS计算试验点的响应值,用函数进行拟合,判断是否拟合结果准确,不准确继续选点,拟合,直到达到某一设定的精度为止。
代理模型的基本思想
代理模型就是用简单的函数来近似替代复杂耗时的计算(有限元计算等)。而结构可靠性分析中,将结构分为两种状态:安全和失效。因此只需要区分结构响应G(X)的状态即可,并不需要对其真实的响应值精度有过多要求。因此代理模型只要准确地区分出其状态即可,这就是为什么代理模型只关注于临界状态部分。把极限状态曲面拟合好了,就可以区分出其状态了。
而代理模型的评价指标有两个,精度和效率,由于显式函数的计算是很快的,而结构响应的计算时间是很久的,所以效率的体现就是用结构响应计算的调用次数来表征。因此要用尽量少的试验点获得尽量精确的拟合。
响应面法的几个主要组成部分
响应面法主要包括:
- 试验点的选取
- 函数形式的选取
- 迭代控制方式
- 收敛准则
下面将详细介绍上述几个方面。
试验点的选取
为了更好地拟合 G ( X ) = 0 G(X)=0 G(X)=0这一曲面,我们必然要选取合适的试验点,然后进行拟合。这就涉及到试验设计方面,常见的几种实验设计包括,拉丁超立方,均匀设计,正交设计,星形设计法等。经典响应面采用的是Bucher提出的星形设计法</