From b18ce465c160783df8ea4a919bb80350181b1000 Mon Sep 17 00:00:00 2001 From: Paul Dechamps <paul.dechamps@uliege.be> Date: Mon, 27 Jan 2025 16:05:37 +0100 Subject: [PATCH] (fix) Coupled adjoint solver now calls the inviscid adjoint --- blast/api/mda_api.py | 6 +++--- blast/src/blCoupledAdjoint.cpp | 3 +++ blast/tests/dart/adjoint_2D.py | 5 ----- blast/tests/test_api_2D.py | 1 - 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/blast/api/mda_api.py b/blast/api/mda_api.py index b69947c..55b5bab 100644 --- a/blast/api/mda_api.py +++ b/blast/api/mda_api.py @@ -102,9 +102,6 @@ class BlasterSolver(om.ExplicitComponent): self.tms['adj'].start() print(ccolors.ANSI_BLUE, 'Computing derivatives in mode '+('viscous' if inputs['visc_mode'][0] else 'inviscid'), ccolors.ANSI_RESET) - - # Run inviscid adjoint solver - self.isol.iobj['adj'].run() dClaoa = 0. dCdaoa = 0. @@ -112,6 +109,7 @@ class BlasterSolver(om.ExplicitComponent): dCdx = np.zeros(self.isol.iobj['bnd'].nodes.size() * nDim) if inputs['visc_mode'][0]: + # Viscous adjoint solver self.adjointSolver.reset() self.adjointSolver.run() dClaoa = self.adjointSolver.tdCl_AoA @@ -123,6 +121,8 @@ class BlasterSolver(om.ExplicitComponent): dClx[inod*nDim + idim] = self.adjointSolver.tdCl_x[n.row][idim] dCdx[inod*nDim + idim] = self.adjointSolver.tdCd_x[n.row][idim] elif not inputs['visc_mode'][0]: + # Inviscid adjoint solver + self.isol.iobj['adj'].run() dClaoa = self.isol.iobj['adj'].dClAoa dCdaoa = self.isol.iobj['adj'].dCdAoa diff --git a/blast/src/blCoupledAdjoint.cpp b/blast/src/blCoupledAdjoint.cpp index 16adf2b..8c881e3 100644 --- a/blast/src/blCoupledAdjoint.cpp +++ b/blast/src/blCoupledAdjoint.cpp @@ -208,6 +208,9 @@ void CoupledAdjoint::buildAdjointMatrix( void CoupledAdjoint::run() { + + iadjoint->run(); + tms["0-Total"].start(); tms["1-Derivatives"].start(); tms2["1-adj_inviscid"].start(); diff --git a/blast/tests/dart/adjoint_2D.py b/blast/tests/dart/adjoint_2D.py index d942f7b..be59556 100644 --- a/blast/tests/dart/adjoint_2D.py +++ b/blast/tests/dart/adjoint_2D.py @@ -112,11 +112,6 @@ def main(): aeroCoeffs = coupler.run() tms['forward'].stop() - print(ccolors.ANSI_BLUE + 'PyDartAdjoint...' + ccolors.ANSI_RESET) - tms['adj_dart'].start() - isol.adjointSolver.run() - tms['adj_dart'].stop() - print(ccolors.ANSI_BLUE + 'PyBlasterAdjoint...' + ccolors.ANSI_RESET) tms['adj_blast'].start() cAdj.run() diff --git a/blast/tests/test_api_2D.py b/blast/tests/test_api_2D.py index a9530b5..0d5e150 100644 --- a/blast/tests/test_api_2D.py +++ b/blast/tests/test_api_2D.py @@ -105,7 +105,6 @@ def main(): coupler.run() # Adjoint problem - isol.adjointSolver.run() adj.run() tms['total'].stop() -- GitLab