diff --git a/dart/api/internal/polar.py b/dart/api/internal/polar.py
index 695312ccd876f111845848087c07282da4d41fa5..a780f3101aa71166ef384e0767eb82a4c9542dea 100644
--- a/dart/api/internal/polar.py
+++ b/dart/api/internal/polar.py
@@ -109,7 +109,7 @@ class Polar:
                 Cp = dU.extract(self.bnd.groups[0].tag.elems, self.sol.Cp)
                 tU.write(Cp, f'Cp_{self.msh.name}_airfoil{acs}.dat', '%1.5e', ', ', 'alpha = '+str(alpha*180/math.pi)+' deg\nx, y, z, Cp', '')
             elif self.dim == 3 and self.format == 'vtk' and self.slice:
-                dU.writeSlices(self.msh.name, self.slice, self.tag, acs)
+                dU.write_slices(self.msh.name, self.slice, self.tag, acs)
             # extract force coefficients
             self.Cls.append(self.sol.Cl)
             self.Cds.append(self.sol.Cd)
diff --git a/dart/api/internal/trim.py b/dart/api/internal/trim.py
index fd25625317e4c4f583f367dc9c5fc48a042169da..976e882f7644b26645f15ab1d7bee4303689554f 100644
--- a/dart/api/internal/trim.py
+++ b/dart/api/internal/trim.py
@@ -121,7 +121,7 @@ class Trim:
             Cp = dU.extract(self.bnd.groups[0].tag.elems, self.sol.Cp)
             tU.write(Cp, f'Cp_{self.msh.name}_airfoil.dat', '%1.5e', ', ', 'x, y, z, Cp', '')
         elif self.dim == 3 and self.format == 'vtk' and self.slice:
-            dU.writeSlices(self.msh.name, self.slice, self.tag)
+            dU.write_slices(self.msh.name, self.slice, self.tag)
 
     def disp(self):
         """Display the results
diff --git a/dart/utils.py b/dart/utils.py
index 4f268a98c108f79dd3d2e5ce34cac5217de997bc..6d846bfa5b8aa773a1f3e1555602a0abec7c37a5 100644
--- a/dart/utils.py
+++ b/dart/utils.py
@@ -19,7 +19,7 @@
 ## Utilities for dart
 # Adrien Crovato
 
-def computeAeroCoef(_x, _y, _Cp, _alpha):
+def compute_aero_coeff(_x, _y, _Cp, _alpha):
     """Compute 2D aerodynamic coefficients
     The coefficients are computed from Cp averaged at nodes, which might leads to innacurate results
     For accurate results, use coefficients from solver or body objects
@@ -65,7 +65,7 @@ def convex_sort(vNodes, vData):
     angle = np.zeros((vNodes.size()))
     i = 0
     while i < len(data[:,0]):
-        angle[i] = math.atan2(data[i,1]-cg[1],data[i,0]-cg[0])
+        angle[i] = np.arctan2(data[i,1]-cg[1], data[i,0]-cg[0])
         if angle[i] < 0:
             angle[i] = 2 * np.pi + angle[i]
         i+=1
@@ -111,7 +111,7 @@ def extract(vElems, vData):
         i += 1
     return data
 
-def writeSlices(mshName, ys, wId, sfx=''):
+def write_slices(mshName, ys, wId, sfx=''):
     """Write slice data for each ys coordinate along the span (only works with VTK)
 
     Parameters
diff --git a/dart/validation/agard.py b/dart/validation/agard.py
index bda122b06e122184eaff19b4aa55188cf912239f..9d48d8e11e936401be2060413e40e6ad014cca8f 100644
--- a/dart/validation/agard.py
+++ b/dart/validation/agard.py
@@ -83,7 +83,7 @@ def main():
     # post process
     tms['post'].start()
     if canPost:
-        floU.writeSlices(msh.name,[0.01, 0.37, 0.75],5)
+        floU.write_slices(msh.name,[0.01, 0.37, 0.75],5)
         data = tbxU.read('agard445_slice_1.dat')
         floD.plot(data[:,3], data[:,4], {'xlabel': 'x', 'ylabel': 'Cp', 'title': 'Pressure distribution at MAC', 'invert': True})
     tms['post'].stop()
diff --git a/dart/validation/crm.py b/dart/validation/crm.py
index c773d86be459ed70c12b6d9ff6a946faf1065456..dbc5234fa91691fdfa5618d1d01ac1c4ff2d9247 100644
--- a/dart/validation/crm.py
+++ b/dart/validation/crm.py
@@ -106,7 +106,7 @@ def main():
     # post
     tms['pos'].start()
     if hasVTK:
-        utils.writeSlices(msh.name, [3.81973, 5.8765, 8.2271, 11.753, 14.6913, 17.6295, 19.0986, 21.4492, 24.9751, 27.91338], 12)
+        utils.write_slices(msh.name, [3.81973, 5.8765, 8.2271, 11.753, 14.6913, 17.6295, 19.0986, 21.4492, 24.9751, 27.91338], 12)
         for i in range(10):
             data = np.loadtxt(f'{msh.name}_slice_{i}.dat', delimiter=',', skiprows=1) # read
             plt.plot(data[:,3], data[:,4], lw=2) # plot results
diff --git a/dart/validation/onera.py b/dart/validation/onera.py
index e06d623cb17f17c73ac9a21052ef4254c251c955..8eb19ebc22912e9d473f18778d724f08630cb5f9 100644
--- a/dart/validation/onera.py
+++ b/dart/validation/onera.py
@@ -81,7 +81,7 @@ def main():
     # post process
     tms['post'].start()
     if canPost:
-        floU.writeSlices(msh.name,[0.01, 0.239, 0.526, 0.777, 0.957, 1.076, 1.136, 1.184],5)
+        floU.write_slices(msh.name,[0.01, 0.239, 0.526, 0.777, 0.957, 1.076, 1.136, 1.184],5)
         data = tbxU.read('oneraM6_slice_2.dat')
         floD.plot(data[:,3], data[:,4], {'xlabel': 'x', 'ylabel': 'Cp', 'title': 'Pressure distribution at MAC', 'invert': True})
     tms['post'].stop()