diff --git a/ntrfc/turbo/airfoil_generators/naca_airfoil_creator.py b/ntrfc/turbo/airfoil_generators/naca_airfoil_creator.py index e060ec5da228f3dc6827429e8e7f7c12dd853e39..bf12d6a702a77d751f3b6f132fe96368922245dc 100644 --- a/ntrfc/turbo/airfoil_generators/naca_airfoil_creator.py +++ b/ntrfc/turbo/airfoil_generators/naca_airfoil_creator.py @@ -275,7 +275,7 @@ def naca(number, n, finite_te=False, half_cosine_spacing=True): pointa = np.array([X[0], Y[0], 0]) pointb = np.array([X[-1], Y[-1], 0]) center = (pointb - pointa) / 2 + pointa - arcres = int(n / 5) + arcres = int(n / 5)+1 arc = pv.CircularArc(pointa, pointb, center, resolution=arcres, negative=True) arcpts = arc.points[1:-2] points = np.vstack([points, arcpts[::-1]]) diff --git a/tests/turbo/airfoil_generators/test_naca_airfoil_creator.py b/tests/turbo/airfoil_generators/test_naca_airfoil_creator.py index 5676253f2055e110df132d9dab8a573acbec5b2f..113f9c88884410f3c7833883c34604b43837e34d 100644 --- a/tests/turbo/airfoil_generators/test_naca_airfoil_creator.py +++ b/tests/turbo/airfoil_generators/test_naca_airfoil_creator.py @@ -1,9 +1,47 @@ -def test_naca(tmpdir): +def test_naca(): from ntrfc.turbo.airfoil_generators.naca_airfoil_creator import naca import numpy as np import pyvista as pv res = 480 + xs,ys = naca("6510",res,half_cosine_spacing=False,finite_te=False) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1 + + xs,ys = naca("6510",res,half_cosine_spacing=True,finite_te=False) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1 + + + xs,ys = naca("6510",res,half_cosine_spacing=False,finite_te=True) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1+97-2 + xs,ys = naca("6510",res,half_cosine_spacing=True,finite_te=True) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1+97-2 xs,ys = naca("23112",res,half_cosine_spacing=False,finite_te=False) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1 + + xs,ys = naca("23112",res,half_cosine_spacing=True,finite_te=False) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1 + + + xs,ys = naca("23112",res,half_cosine_spacing=False,finite_te=True) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1+97-2 + + xs,ys = naca("23112",res,half_cosine_spacing=True,finite_te=True) + points = np.stack([xs,ys,np.zeros(len(xs))]).T + poly = pv.PolyData(points) + assert poly.number_of_points == res*2+1+97-2