-
Notifications
You must be signed in to change notification settings - Fork 12
Closed
Description
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.