具有不同有限差分步长的半全导数近似
Semi-total derivative approximation with varying finite difference steps
最近了解了semi-total derivative approximation的功能。我开始将此功能与 bsplines 和显式组件一起使用。我当前的问题是我的设计变量是从类似于下面的 xsdm 的两个不同组件输入的。据我所知,不可能为不同的设计变量设置不同的有限差分步骤。所以再次查看 xsdm,控制点 x 和 z 应该具有相同的 FD 步骤,即
model.approx_totals(步骤=1)
有效但是
model.approx_totals(步骤=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')
从 OpenMDAO V2.4 开始,您无法在使用 approx_totals
时设置每个变量的 FD 步长。最好的选择是只使用相对步长。
最近了解了semi-total derivative approximation的功能。我开始将此功能与 bsplines 和显式组件一起使用。我当前的问题是我的设计变量是从类似于下面的 xsdm 的两个不同组件输入的。据我所知,不可能为不同的设计变量设置不同的有限差分步骤。所以再次查看 xsdm,控制点 x 和 z 应该具有相同的 FD 步骤,即
model.approx_totals(步骤=1)
有效但是
model.approx_totals(步骤=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')
从 OpenMDAO V2.4 开始,您无法在使用 approx_totals
时设置每个变量的 FD 步长。最好的选择是只使用相对步长。