diff --git a/blast/api/mda_api.py b/blast/api/mda_api.py index b69947c1856711356dbbd6198c5e076c2b816a15..55b5bab75c6aef584946eab2a82fb184c629215b 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 16adf2b9b4a7ca7f9955b03a6ae5a78d1b71e70e..8c881e34045ced1e92f0bc06edbaa166b9992218 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 d942f7b97a0ad0c09b55116773c3d63bb890d7c7..be5955667443e0e14b61b78e5d880bf4e2aff568 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 a9530b57f830e157c79793eaaf6b3b34eaccfbe2..0d5e150e77e9c0eb72b96b0684470a79743a82ea 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()