ExecComp - Vectorize Bug?2.4.0 - PullRequest
       6

ExecComp - Vectorize Bug?2.4.0

0 голосов
/ 04 октября 2018

Пример кода из руководства приведен ниже.

Если есть vectorize = True, я получаю сообщение об ошибке:

comp: arg 'vectorize' в вызове ExecComp () не ссылаетсяк любой переменной в выражениях ['y = 3.0 * x + 2.5']

я предполагаю, что у самой новой версии нет этого флага?и могу ли я использовать np.diff в execcomp

import numpy as np

from openmdao.api import IndepVarComp, Group, Problem, ExecComp
p = Problem()
model = p.model
model.add_subsystem('indep', IndepVarComp('x', val=np.ones(5)))

model.add_subsystem('comp', ExecComp('y=3.0*x + 2.5', vectorize=True, x=np.ones(5), y=np.ones(5)))
model.connect('indep.x', 'comp.x')

p.setup()
p.run_model()

J = p.compute_totals(of=['comp.y'], wrt=['indep.x'], return_format='array')

print(J)

1 Ответ

0 голосов
/ 04 октября 2018

Опция vectorize была добавлена ​​после выпуска последней версии OpenMDAO, поэтому для ее использования вам придется либо подождать до следующего выпуска, либо установить с использованием самого последнего коммита в репозиторий OpenMDAO github.

Чтобы ответить на ваш второй вопрос, команда np.diff в настоящее время недоступна в ExecComp.Вы можете отправить вопрос в репозиторий OpenMDAO github по адресу (https://github.com/OpenMDAO/OpenMDAO/issues), если хотите, чтобы он был доступен.

...