diff --git a/README.md b/README.md
index a5a8976e196f8525d9954547ac1456962afa6c22..fe67eecfc0e64c76fc47b8bb46f37e5fbffc38e8 100644
--- a/README.md
+++ b/README.md
@@ -26,6 +26,8 @@ Detailed build and use instructions can be found in the [wiki](https://gitlab.ul
 ## References
 Crovato Adrien, [Steady Transonic Aerodynamic and Aeroelastic Modeling for Preliminary Aircraft Design](http://hdl.handle.net/2268/251906), PhD thesis, University of Liège, 2020.
 
+Crovato Adrien, [DARTFlo - Discrete Adjoint for Rapid Transonic Flows](http://hdl.handle.net/2268/264284), Technical note, University of Liège, 2021.
+
 Crovato A., Boman R., et al., [A Full Potential Static Aeroelastic Solver for Preliminary Aircraft Design](http://hdl.handle.net/2268/237955), 18th International Forum on Aeroelasticity and Structural Dynamics, IFASD 2019.
 
 Bilocq Amaury, [Implementation of a viscous-inviscid interaction scheme in a finite element full potential solver](http://hdl.handle.net/2268/252195), Master thesis, University of Liège, 2020.
diff --git a/dart/benchmark/onera.py b/dart/benchmark/onera.py
index 27deb9afdaa967988032b925e07590b0c66d61f9..08e2f85e3d40dcfe2b3e21696f871645d320cf8f 100644
--- a/dart/benchmark/onera.py
+++ b/dart/benchmark/onera.py
@@ -27,14 +27,6 @@ import fwk
 from fwk.testing import *
 from fwk.coloring import ccolors
 
-try:
-   import tboxVtk
-   BestWriter = tboxVtk.VtkExport
-   canPost = True
-except:
-   BestWriter = tbox.GmshExport
-   canPost = False
-
 def newton(pbl):
     from fwk.wutils import parseargs
     import dart
diff --git a/dart/src/wAdjoint.cpp b/dart/src/wAdjoint.cpp
index 0750bc08ab009142758781f26385ec47145ed88c..00e62aa3463dcd1ffe109e2bd7c81b572e91399d 100644
--- a/dart/src/wAdjoint.cpp
+++ b/dart/src/wAdjoint.cpp
@@ -137,8 +137,8 @@ void Adjoint::run()
               << std::setw(15) << std::right << "Res[lambdaCd]" << std::endl;
     std::cout << std::fixed << std::setprecision(5);
     std::cout << std::setw(15) << std::left << ""
-              << std::setw(15) << std::right << log10((dRu_U * Eigen::Map<Eigen::VectorXd>(lamClFlo.data(), lamClFlo.size()) - Eigen::Map<Eigen::VectorXd>(dCf_U[0].data(), dCf_U[0].size())).norm())
-              << std::setw(15) << std::right << log10((dRu_U * Eigen::Map<Eigen::VectorXd>(lamCdFlo.data(), lamCdFlo.size()) - Eigen::Map<Eigen::VectorXd>(dCf_U[1].data(), dCf_U[1].size())).norm()) << std::endl;
+              << std::setw(15) << std::right << log10((dRu_U.transpose() * Eigen::Map<Eigen::VectorXd>(lamClFlo.data(), lamClFlo.size()) - Eigen::Map<Eigen::VectorXd>(dCf_U[0].data(), dCf_U[0].size())).norm())
+              << std::setw(15) << std::right << log10((dRu_U.transpose() * Eigen::Map<Eigen::VectorXd>(lamCdFlo.data(), lamCdFlo.size()) - Eigen::Map<Eigen::VectorXd>(dCf_U[1].data(), dCf_U[1].size())).norm()) << std::endl;
     // aoa gradients
     std::cout << std::setw(15) << std::left << "AoA gradients"
               << std::setw(15) << std::right << "dCl_dAoA"
@@ -153,8 +153,8 @@ void Adjoint::run()
               << std::setw(15) << std::right << "Res[lambdaCd]" << std::endl;
     std::cout << std::fixed << std::setprecision(5);
     std::cout << std::setw(15) << std::left << ""
-              << std::setw(15) << std::right << log10((dRx_X * Eigen::Map<Eigen::VectorXd>(lamClMsh.data(), lamClMsh.size()) - Eigen::Map<Eigen::VectorXd>(dCf_X[0].data(), dCf_X[0].size())).norm())
-              << std::setw(15) << std::right << log10((dRx_X * Eigen::Map<Eigen::VectorXd>(lamCdMsh.data(), lamCdMsh.size()) - Eigen::Map<Eigen::VectorXd>(dCf_X[1].data(), dCf_X[1].size())).norm()) << std::endl;
+              << std::setw(15) << std::right << log10((dRx_X.transpose() * Eigen::Map<Eigen::VectorXd>(lamClMsh.data(), lamClMsh.size()) - Eigen::Map<Eigen::VectorXd>(dCf_X[0].data(), dCf_X[0].size())).norm())
+              << std::setw(15) << std::right << log10((dRx_X.transpose() * Eigen::Map<Eigen::VectorXd>(lamCdMsh.data(), lamCdMsh.size()) - Eigen::Map<Eigen::VectorXd>(dCf_X[1].data(), dCf_X[1].size())).norm()) << std::endl;
     // mesh gradients
     std::cout << std::setw(15) << std::left << "Mesh gradients"
               << std::setw(15) << std::right << "Norm[dCl_dX]"