From 21952d5583b2f872f52b48d550c55e69265c2929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregory=20Duth=C3=A9?= Date: Fri, 14 May 2021 12:28:47 +0200 Subject: [PATCH] Y coordinate output Changes to allow for the get_cp subroutine to return y-coords --- src/api.f90 | 3 ++- xfoil/xfoil.py | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/api.f90 b/src/api.f90 index 96caa29..c79e85a 100644 --- a/src/api.f90 +++ b/src/api.f90 @@ -487,7 +487,7 @@ function get_n_cp() bind(c, name='get_n_cp') get_n_cp = N end function get_n_cp - subroutine get_cp(x_out, cp_out, n_points) bind(c, name='get_cp') + subroutine get_cp(x_out, y_out, cp_out, n_points) bind(c, name='get_cp') use s_xfoil, only: comset use m_xoper use i_xfoil @@ -508,6 +508,7 @@ subroutine get_cp(x_out, cp_out, n_points) bind(c, name='get_cp') den = beta + bfac * cpinc cp_out(i) = cpinc / den x_out(i) = X(i) + y_out(i) = Y(i) enddo end subroutine get_cp diff --git a/xfoil/xfoil.py b/xfoil/xfoil.py index 4334ef6..fb87837 100644 --- a/xfoil/xfoil.py +++ b/xfoil/xfoil.py @@ -321,12 +321,15 @@ def get_cp_distribution(self): ------- x : np.array X-coordinates + y : np.array + Y-coordinates cp : np.ndarray Pressure coefficients at the corresponding x-coordinates """ n = self._lib.get_n_cp() x = np.zeros(n, dtype=c_float) + y = np.zeros(n, dtype=c_float) cp = np.zeros(n, dtype=c_float) - self._lib.get_cp(x.ctypes.data_as(fptr), cp.ctypes.data_as(fptr), byref(c_int(n))) - return x.astype(float), cp.astype(float) + self._lib.get_cp(x.ctypes.data_as(fptr), y.ctypes.data_as(fptr), cp.ctypes.data_as(fptr), byref(c_int(n))) + return x.astype(float), y.astype(float), cp.astype(float)