Аппроксимация полнотомного производного с переменными конечными разностными шагами - PullRequest
0 голосов
/ 28 августа 2018

Недавно я узнал об особенности аппроксимации полунаполненных производных . Я начал использовать эту функцию с bsplines и явным компонентом. Моя текущая проблема заключается в том, что мои проектные переменные вводятся из двух разных компонентов, аналогично xsdm ниже. Насколько я вижу, невозможно установить разные конечные разностные шаги для разных проектных переменных. Поэтому, снова посмотрев на xsdm контрольные точки, x и z должны иметь идентичные шаги FD, т.е.

model.approx_totals (шаг = 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 голосов
/ 28 августа 2018

Начиная с OpenMDAO V2.4, у вас нет возможности устанавливать размер шага FD для каждой переменной при использовании approx_totals. Лучший вариант - просто использовать относительные размеры шагов.

...