From afaeb3898436f23fb47474896992ef2f33e800c5 Mon Sep 17 00:00:00 2001 From: Daniel Ingraham Date: Sat, 20 May 2023 08:06:20 -0400 Subject: [PATCH] Fix matrix-free and `solve_nonlinear` for new OpenMDAO Adjust for https://github.com/OpenMDAO/OpenMDAO/pull/2802 --- python/omjlcomps/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python/omjlcomps/__init__.py b/python/omjlcomps/__init__.py index 615a242..9e7fbc7 100644 --- a/python/omjlcomps/__init__.py +++ b/python/omjlcomps/__init__.py @@ -122,6 +122,8 @@ def compute_jacvec_product(self, inputs, d_inputs, d_outputs, mode): raise e from None self.compute_jacvec_product = MethodType(compute_jacvec_product, self) + # https://github.com/OpenMDAO/OpenMDAO/pull/2802 + self.matrix_free = True def setup_partials(self): _setup_partials_common(self) @@ -187,6 +189,8 @@ def solve_nonlinear(self, inputs, outputs): raise e from None self.solve_nonlinear = MethodType(solve_nonlinear, self) + # https://github.com/OpenMDAO/OpenMDAO/pull/2802 + self._has_solve_nl = True if jl.OpenMDAOCore.has_linearize(self._jlcomp): def linearize(self, inputs, outputs, partials): @@ -228,6 +232,8 @@ def apply_linear(self, inputs, outputs, d_inputs, d_outputs, d_residuals, mode): raise e from None self.apply_linear = MethodType(apply_linear, self) + # https://github.com/OpenMDAO/OpenMDAO/pull/2802 + self.matrix_free = True if jl.OpenMDAOCore.has_solve_linear(self._jlcomp): def solve_linear(self, d_outputs, d_residuals, mode):