Skip to content

CADRE is broken after recent changes to OpenMDAO #51

@swryan

Description

@swryan

Task Description

This issue was initially opened on the OpenMDAO repository instead of the CADRE repository (OpenMDAO/OpenMDAO#3447).

We may want to require OpenMDAO<3.35 until this is addressed.

CADRE tests are failing in compute_jacvec_product due to errors like this:

  File "/home/swryan/miniforge3/envs/CADRE_20250205-130250/lib/python3.10/site-packages/openmdao/core/explicitcomponent.py", line 353, in _compute_jacvec_product_wrapper
    self.compute_jacvec_product(inputs, d_inputs, d_resids, mode)
  File "/home/swryan/dev/benchmark/runner/repos/CADRE/CADRE/CADRE/comm.py", line 1119, in compute_jacvec_product
    dr_b2g_B[k, :] += self.J1[:, k, u, v] * \
AttributeError: 'Comm_VectorBody' object has no attribute 'J1'

and

  File "/home/swryan/miniforge3/envs/CADRE_20250205-130250/lib/python3.10/site-packages/openmdao/core/explicitcomponent.py", line 353, in _compute_jacvec_product_wrapper
    self.compute_jacvec_product(inputs, d_inputs, d_resids, mode)
  File "/home/swryan/dev/benchmark/runner/repos/CADRE/CADRE/CADRE/rk4.py", line 259, in compute_jacvec_product
    result_ext = self._applyJext(d_inputs, d_outputs)
  File "/home/swryan/dev/benchmark/runner/repos/CADRE/CADRE/CADRE/rk4.py", line 317, in _applyJext
    Jsub = self.Jx[j+1, i_ext:i_ext+ext_length, :]
AttributeError: 'rktest' <class RKTest>: Error calling compute_jacvec_product(), 'RKTest' object has no attribute 'Jx'

It looks like these attributes (J1 and Jx) are initialized in these components' compute_partials method, which suggests that a change was made to OpenMDAO such that a call to compute_partials was removed.

Tests were passing on Sep 18, so the change occurred after that date. One possibility is PR #3359 which has a change where linearize returns before calling compute_partials if the component is matrix free.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions