# -*- coding: utf-8 -*-
import numpy as np

import paraBEM
from paraBEM.vtk_export import VtkWriter
from paraBEM import PanelVector2, Vector2, Panel2
from paraBEM.airfoil import Airfoil
from paraBEM.pan2d import NeumannDoublet0Case2 as Case
from paraBEM.utils import check_path

airfoil = Airfoil.vandevooren(tau=np.deg2rad(20), epsilon=0.05)

airfoil.numpoints = 150
alpha = np.deg2rad(10)

# panelmethode
case = Case(airfoil.panels)
case.v_inf = Vector2(np.cos(alpha), np.sin(alpha))
case.run()

nx = 200
ny = 200

space_x = np.linspace(-1, 2, nx)
space_y = np.linspace(-0.2, 0.2, ny)
vec = lambda x: paraBEM.Vector2(x[0], x[1])
vec3 = lambda x: [x[0], x[1], 0]
grid = [paraBEM.Vector2(x, y) for y in space_y for x in space_x]

velocity = list(map(vec3, map(case.off_body_velocity, grid)))
vel1 = [(i[0]**2 + i[1]**2)**(0.5) for i in velocity]
Exemple #2
0
import paraBEM
from paraBEM.pan2d import DirichletDoublet0Case2 as Case
from paraBEM.airfoil import Airfoil

airfoil = Airfoil.vandevooren(0.5)

airfoil.numpoints = 40
case = Case(airfoil.panels)
case.v_inf = paraBEM.Vector2(1, 0.1)
case.run()

print(airfoil.coordinates)
Exemple #3
0
import paraBEM
from paraBEM.pan2d import DirichletDoublet0Case2 as Case
from paraBEM.airfoil import Airfoil

airfoil = Airfoil.vandevooren(0.5)


airfoil.numpoints = 40
case = Case(airfoil.panels)
case.v_inf = paraBEM.Vector2(1, 0.1)
case.run()

print(airfoil.coordinates)