具有变化的有限差分步的半总导数逼近

时间:2018-08-28 09:04:25

标签: openmdao

我最近了解了semi-total derivative approximation的功能。我开始将此功能与bsplines和一个显式组件一起使用。我当前的问题是,我的设计变量是从两个不同的组件输入的,类似于下面的xsdm。据我所知,不可能为不同的设计变量设置不同的有限差分步长。因此,再次查看xsdm,控制点x和z应该具有相同的FD步骤,即

model.approx_totals(step = 1)

有效但是

model.approx_totals(step = np.ones(5))

不起作用。我猜想,一种补救方法是使用相对步长,但是我的一些输入范围是从0到xx,所以也许相对步长不是最好的。有没有一种方法可以将FD步骤作为矢量或类似于;

for out in outputs:
   for dep,fdstep in zip(inputs,inputsteps):
     self.declare_partials(of=out,wrt=dep,method='fd',step=fdstep, form='central') 

enter image description here

1 个答案:

答案 0 :(得分:0)

从OpenMDAO V2.4开始,使用approx_totals时无法设置每个变量的FD步长。最好的选择是仅使用相对步长。